一种室内服务机器人的导航方法及导航控制器与流程

文档序号:21400847发布日期:2020-07-07 14:33阅读:256来源:国知局
一种室内服务机器人的导航方法及导航控制器与流程

本发明涉及机器人的技术领域,具体涉及一种室内服务机器人的导航方法及导航控制器。



背景技术:

目前,有些关键技术已经成为室内服务机器人推广应用的瓶颈技术。室内服务机器人产品的实现需要结合运动控制、导航与视觉识别、传感器数据采集、智能监控和人工智能等多项技术。其中,室内导航技术是移动型服务机器人必须攻克的技术难关,相应地专用于实现室内导航功能的导航模块则是攻克该难题的必备武器。

目前,市场上用于实现导航技术的导航控制器,功能相对单一。slamware导航定位模块是思岚科技公司研发的可进行自主定位导航的核心导航控制模块。。slamware导航定位模块的体积较小,模块上集成了wifi模块及九轴惯性导航传感器,可提供基于rplidar激光传感器的实时定位和自主导航功能,并支持串口交互导航信息。但是,slamware导航定位模块只支持思岚公司生产的rplidara2系列激光传感器,测距范围较小,采样频率较低;slamware导航定位模块内部的微控制器对激光数据的处理能力有限,且不能支持视觉导航等其他方式的室内导航方案。所以,我们需要一款功能更加完善,且性能更优越的室内导航控制器模块。

针对现有技术中slamware导航定位模块只能应用激光传感器且激光传感器的测距范围小所存在的问题,急需一种功能更加完善且性能更优越的室内服务机器人的导航控制器,以及基于该导航控制器的导航方法。



技术实现要素:

针对现有技术中slamware导航定位模块只能应用激光传感器且激光传感器的测距范围小所存在的问题,本发明实施例一种室内服务机器人的导航控制器以及导航方法。该室内服务机器人的导航控制器为模块化设计,能够匹配多种传感手段,功能更加完善且性能更优越。

该室内服务机器人的导航控制器的具体方案如下:一种室内服务机器人的导航控制器包括:核心板,包括处理器及与所述处理器相关的最小系统,用于执行控制和处理的工作;无线通信模块,与所述核心板连接,用于进行无线通信;惯性导航传感器,与所述核心板连接,用于对所述室内服务机器人的位姿进行感知;电源模块,用于向所述导航控制器的各个模块提供电源;多个外设接口,用于连接多个外设的接口。

优选地,所述外设接口包括usb接口、网口、串口和io接口中的一种或者多种。

优选地,所述电源模块包括提供处理器工作电压的电源单元和提供外设接口工作电压的电源单元。

优选地,所述惯性导航传感器所检测的数据包括用于提供陀螺仪的数据、加速度计的数据和电磁罗盘的数据。

优选地,所述导航控制器还包括系统软件,所述系统软件在所述导航控制器的硬件平台上运行。

优选地,所述系统软件包括:系统及驱动层,设置于所述系统软件的底层;虚拟开发平台层,设置于所述系统软件的中间层;应用软件层,设置于所述系统软件的上层。

本发明实施例还提供一种用于室内服务机器人的导航方法,该导航方法的具体技术内容包括步骤j1:通过外设接口将导航控制器与二维激光传感器连接,所述二维激光传感器采集地图信息;步骤j2:导航控制器对所述地图信息进行处理,创建并保存地图;步骤j3:导航控制器根据惯性导航传感器的数据和所述地图信息,计算室内服务机器人的当前位姿;步骤j4:导航控制器根据所述室内服务机器人的当前位姿和目标点的位姿,计算从当前位置到目标位置的路径,并对路径进行规划;步骤j5:导航控制器将规划的路径信息通过网络接口传输给机器人控制器,机器人控制器根据所述路径信息进行控制命令的下发并接收机器人驱动器的反馈信息。

优选地,所述导航方法还包括步骤:导航控制器将步骤j2中的地图通过wifi模块发送给上位机或者手持pad。

本发明实施例还提供一种用于室内服务机器人的导航方法,该导航方法的具体技术内容:步骤s1:通过外设接口将导航控制器与三维视觉传感器连接;步骤s2:导航控制器基于惯性导航传感器的数据和所述三维视觉传感器的扫描信息,根据预设图像处理算法计算获得室内服务机器人的位姿和地图;步骤s3:导航控制器根据所述室内服务机器人的位姿和地图,对路径进行规划,获得规划的路径信息;步骤s4:导航控制器将所述规划的路径信息通过网络接口传输给机器人控制器,机器人控制器根据所述规划的路径信息进行控制命令的下发并接收机器人驱动器的反馈信息。

优选地,所述预设图像处理算法包括基于粒子滤波框架下的gmapping算法。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例所提供的室内服务机器人的导航控制器为机器人导航模块化设计中一个模块,导航控制器实现导航及自主定位功能,导航控制器将采集到的多种传感器数据进行计算与数据融合,通过网络接口传递给机器人控制器,能够极大的降低机器人控制器的系统开销,提高机器人控制器的响应速度。本发明实施例所提供的导航控制器实现导航及自主定位功能后,机器人控制器的方案也更加灵活,机器人控制器可根据功能需求选择单片机或更高性能的微处理器。本发明实施例所提供的导航控制器采用模块化的设计方案,能够支持市场上主流的激光传感器及三维视觉传感器,通过读取配置文件选择支持的传感器的型号,实现自主导航及定位功能。本发明实施例所提供的导航控制器模块能够显著的降低各服务机器人产品导航功能开发的时间,降低产品开发的难度,提升产品面市的速度。

附图说明

图1为本发明实施例中提供的一种导航控制器的硬件结构示意图;

图2为图1所示实施例中导航控制器的软件层次结构示意图;

图3为图2所示实施例中应用层软件内部进程及流程示意图;

图4为采用图1所示实施例中导航控制器的激光导航系统结构的示意图;

图5为采用图1所示实施例中导航控制器的激光导航方法的步骤流程示意图;

图6为采用图1所示实施例中导航控制器的视觉导航系统结构的示意图;

图7为采用图1所示实施例中导航控制器的视觉导航方法的步骤流程示意图。

附图中标号说明:

100、导航控制器101、核心板102、wifi模块

103、imu模块104、电源模块105、usb3.0typea接口

106、usb2.0otg接口107、第一网口108、第二网口

109、串口110、io接口310、二维激光传感器

400、上位机200、机器人控制器500、pad

320、三维视觉传感器600、防碰撞传感器

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

如图1所示,本发明实施例中提供的一种导航控制器的硬件结构示意图。一种室内服务机器人的导航控制器100采用核心板和底层的结构设计。导航控制器100包括:包括处理器及与所述处理器相关的最小系统且用于执行控制和处理的工作的核心板101,与核心板101连接且用于进行无线通信的无线通信模块,与核心板101连接且用于对室内服务机器人的位姿进行感知的惯性导航传感器,用于向导航控制器的各个模块提供电源的电源模块104,用于连接多个外设的的多个外设接口。

在该实施例中,核心板101采用型号为imx6q_base的板子,核心板101包含了i.mx6q处理器,以及与处理器相关的最小系统。底板用于扩展实现导航功能的外设接口及功能模块。在该实施例中,底板上的接口及模块具体包括无线通信模块、惯性导航传感器、电源模块、多个外设接口。

无线通信模块包括wifi无线通信模块、蜂窝移动方式的无线通信模块或者zigbee等硬件传输的无线通信模块。继续参考图1,在该实施例中,无线通信模块采用wifi模块102。

惯性导航传感器用于检测惯性数据,通过检测的惯性数据感知机器人的位姿。在该实施例中,惯性导航传感器采用九轴惯性导航传感器(简称imu模块)103,用于提供陀螺仪的数据、加速度计的数据和电磁罗盘的数据,对机器人的位姿进行解算。

电源模块104用于将输入的直流电压转换成导航控制器100内各个模块适用的电压,具体包括多个供电电压值不同的多个电源单元。电源模块104包括提供处理器工作电压的电源单元和提供外设接口工作电压的电源单元。在该实施例中,电源模块104包括用于向核心板101提供5v电压的电源单元和用于向各个外设接口提供3.3v电压的电源单元。

多个外设接口包括多种类型外设的接口。多个外设接口包括usb接口、网口、串口和io接口中的一种或者多种。usb接口具体包括usb3.0typea接口105和usb2.0otg接口106。usb3.0typea接口105用于连接实现视觉导航功能的三维摄像头。usb2.0otg接口106用于实现导航控制器的固件下载功能。第一网口107用于连接实现激光导航功能的北阳或sick等厂家的激光传感器。第二网口108用于连接机器人控制器200,从而有效地提高数据传输速率。串口109用于连接思岚rplidar系列激光传感器。io接口110用于连接防碰撞、防跌落等辅助导航功能的防碰撞传感器600。

导航控制器100还包括在上述描述的硬件平台上运行的系统软件。如图2所示,导航控制器的软件层次结构示意图。在该实施例中,系统软件采用分层结构,系统软件包括:作为底层的系统及驱动层,作为中间层的虚拟开发平台层,作为上层的应用软件层。

继续参照图2,系统及驱动层是系统软件的最底层,包括机器人导航软件运行的ubuntu操作系统以及与硬件平台相关的底层数据接口。与硬件平台相关的底层数据接口具体包括i.mx6q处理器外设接口映射、交叉编译工具链、内核树、外设驱动程序以及外设引入库文件等。

继续参照图2,虚拟开发平台层(sdvp层)是室内导航机器人控制器系统软件的中间层,也是系统软件的主要实现部分。虚拟开发平台层(sdvp层)包括rsp部分、虚拟平台诊断工具、组件库、通信中间件等模块。rsp模块是对硬件接口、操作系统接口、日志、告警、监控模块等基础功能的封装,用于屏蔽硬件及操作系统差异对上层应用函数造成的影响。虚拟平台诊断工具主要用于对虚拟开发平台相关的外设接口、系统性能进行诊断和评估,为应用开发人员提供开发平台的诊断工具。组件库包括机器人系统运行的必选组件和可选组件,必选组件包括基础库、总线库等基础功能,可选组件包括导航库、机器人库等应用组件。通信中间件用于进程与进程之间、控制器与其他外设之间的通信应用,进程间通信包括共享内存、消息队列、lcm、nanomsg等,lcm和nanomsg可用于控制器与外设通信。

导航控制器应用软件层是基于虚拟开发平台层(sdvp层),根据导航应用需求在上层开发的应用程序,主要包含数据采集进程和导航进程。

为了实现模块化设计并使控制器能够兼容多种型号和类型的传感器,采用的方法及软件流程如图3所示。

t1步骤:数据采集进程启动。

t2步骤:读取配置文件信息,配置文件信息主要包括传感器的类型及型号。激光传感器配置文件包含激光传感器型号和传感器安装位置。根据激光传感器的型号可以确定数据通信协议、采样频率、激光传感器分辨率等传感器相关信息,根据传感器的安装位置可以确定激光传感器的有效探测范围和探测角度。

t3步骤:判断是否读取成功。若读取成功,进入步骤t5,否则进入步骤t4。

步骤t4:发出错误报告,结束。

步骤t5:导航控制器根据配置文件信息启动相应的激光传感器线程,配置激光传感器参数,根据采样周期定时采集并传输激光数据给导航进程;视觉传感器的配置文件包含视觉传感器的型号,通过型号确定数据通信协议,采样频率,数据处理的算法等信息,调用相应的视觉传感器线程。

步骤t6:导航控制器定时采集数据并将导航数据传递给导航进程。

步骤t7:导航进程启动后接收激光传感器或视觉传感器的数据。

步骤t8:导航控制器读取imu惯性导航模块的位姿数据。

步骤t9:实时建立地图。

步骤t10:根据步骤t9的地图,定时输出路径规划信息。

步骤t11:实时计算位姿并进行定位。

步骤t12:根据步骤t11的定位,定时输出定位信息。

其中,步骤t9和步骤t11可以并列执行,两个步骤之间没有前后依附关系。

本发明实施例所提供的室内服务机器人的导航控制器为机器人导航模块化设计中一个模块,导航控制器实现导航及自主定位功能,导航控制器将采集到的多种传感器数据进行计算与数据融合,通过网络接口传递给机器人控制器,能够极大的降低机器人控制器的系统开销,提高机器人控制器的响应速度。

本发明实施例所提供的导航控制器实现导航及自主定位功能后,机器人控制器的方案也更加灵活,机器人控制器可根据功能需求选择单片机或更高性能的微处理器。

本发明实施例所提供的导航控制器采用模块化的设计方案,能够支持市场上主流的激光传感器及三维视觉传感器,通过读取配置文件选择支持的传感器的型号,实现自主导航及定位功能。

本发明实施例所提供的导航控制器模块能够显著的降低各服务机器人产品导航功能开发的时间,降低产品开发的难度,提升产品面市的速度。

根据导航控制器100所连接的感知环境传感器的不同,导航系统的结构或相应的导航方法有两种形式。

如图4所示,采用图1所示实施例中导航控制器的激光导航系统结构的示意图。在图4实施例中,导航系统包括导航控制器100、机器人控制器200、二维激光传感器310和上位机400或者手持pad500。

如图5所示,采用图1所示实施例中导航控制器的激光导航方法的步骤流程示意图。该导航方法包括五个步骤,具体如下所述。

步骤j1:通过外设接口将导航控制器与二维激光传感器连接,所述二维激光传感器采集地图信息。导航控制器100通过第一网口107或串口109与二维激光传感器300连接。二维激光传感器300采集激光测距距离、激光分辨率、激光起始角度等地图信息。

步骤j2:导航控制器对所述地图信息进行处理,创建并保存地图。

步骤j3:导航控制器根据惯性导航传感器的数据和所述地图信息,计算室内服务机器人的当前位姿。

步骤j4:导航控制器根据所述室内服务机器人的当前位姿和目标点的位姿,计算从当前位置到目标位置的路径,并对路径进行规划。

步骤j5:导航控制器将规划的路径信息通过网络接口传输给机器人控制器,机器人控制器根据所述路径信息进行控制命令的下发并接收机器人驱动器的反馈信息。

优选地,导航方法还包括步骤:导航控制器100将步骤j2中的地图通过wifi模块发送给上位机400或者手持pad500。使用者通过上位机400或者pad500上集成的应用程序可以实时查看创建的地图,并通过惯性导航传感器采集的位姿数据显示机器人当前的位置信息。

如图6所示,采用图1所示实施例中导航控制器的视觉导航系统结构的示意图。在图6实施例中,导航系统包括导航控制器100、机器人控制器200、三维视觉传感器320、防碰撞传感器600和上位机400或者手持pad500。三维视觉传感器320具体可以为3d摄像头。

如图7所示,为采用图1所示实施例中导航控制器的视觉导航方法的步骤流程示意图。图7所示的导航方法包括四个步骤,具体为:

步骤s1:通过外设接口将导航控制器与三维视觉传感器连接。通过usb3.0typea接口105将导航控制器100与三维视觉传感器320连接。

步骤s2:导航控制器基于惯性导航传感器的数据和所述三维视觉传感器的扫描信息,根据预设图像处理算法计算获得室内服务机器人的位姿和地图。预设图像处理算法包括基于粒子滤波框架下的gmapping算法。

步骤s3:导航控制器根据所述室内服务机器人的位姿和地图,对路径进行规划,获得规划的路径信息。

步骤s4:导航控制器将所述规划的路径信息通过网络接口传输给机器人控制器,机器人控制器根据所述规划的路径信息进行控制命令的下发并接收机器人驱动器的反馈信息。

优选地,导航方法还包括步骤:导航控制器100将步骤j2中的地图通过wifi模块发送给上位机400或者手持pad500。使用者通过上位机400或者pad500上集成的应用程序可以实时查看创建的地图,并通过惯性导航传感器采集的位姿数据显示机器人当前的位置信息。

由于三维视觉传感器320的前方35cm以内是视野盲区,需要借助防碰撞传感器600或者超声波传感器避开突然进入到机器人近处的障碍物。所以,室内导航控制器通过io接口110与防碰撞传感器600连接,用于自主导航过程中的避障。

本发明实施例的导航控制器基于arm处理器,采用模块化的设计,外设接口丰富,易于集成到服务机器人产品中,硬件接口兼容市场上主流的激光传感器,并支持视觉传感器,弥补市场上对于专用导航控制器产品的空白。

本发明实施例的导航控制器中的系统软件支持多种激光传感器的接口通信协议以及3d摄像头接口通信协议,通过配置文件选择传感器的类型;采用分层结构设计,软件系统具备高内聚,低耦合的特性,易于复用及扩展。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1