本发明涉及一种机器人,尤其涉及一种定位导航装置,其具有虚拟墙功能。
背景技术:
在机器人业界,虚拟墙是指由于某些原因,需要设置禁止通过的边界来防止机器人进入某个区域,例如是有贵重易碎物品的区域;对机器人来说,相当于在该边界线上设立了一面真实墙,但在现实环境中却不存在。
自主定位导航是实现服务机器人实用化的关键技术,它允许机器人自主地通过传感器数据实时定位并构建出所在环境的地图信息,进一步实现导航。专利文献cn106323269公开了一种自主定位导航设备,其为一种模块化的高度集成的机器人定位导航装置,可实现通过收集诸如激光雷达、摄像头等外部传感器获取的环境数据进行自主的同步定位与建图(slam)并控制宿主系统,例如扫地机器人,在任意环境当中进行自主的行动和路径规划。
在耦合了该设备的机器人上实现虚拟墙功能,目前有以下两种方式:
一是有源虚拟墙,其通过有源发射器件发射红外信号或超声信号,通过机器人配置的红外或超声接收器接收该信号,以实现避开有该信号的区域的效果;
二是磁界线虚拟墙,其通过磁条贴在限制区域边界上,机器人运动到该区域,通过携带的相关传感器检测到磁条,以实现避开该区域的效果。
不难归纳出,上述实现方式均需在宿主设备和自主定位导航设备之外,配置额外的硬件设备辅助实施,且改变了环境,显然,这些方式的实施除了使用上的不便外,也提高了成本,这是现有技术的不足之处。
技术实现要素:
本发明要解决的技术问题是提供一种具虚拟墙功能的定位导航装置和机器人,它们使得用纯软件的方式在机器人上实现虚拟墙功能成为可能。
本发明的思路是用户在网页应用程序或客户端应用程序的交互界面中设置虚拟墙后,将此信息发送至本发明的机器人,机器人将虚拟墙当做真实墙,在路径规划中避障。
本发明的具虚拟墙功能的定位导航装置,包括内部传感器和裸露在该装置外的环境传感器,其特征是该装置还包括执行如下步骤的程序:
获取模块经由通信模块捕获设置的虚拟墙信息;
采用hough变换算法提取虚拟墙中的直线信息;
利用二分法构建更新分段查找树,结合传感器数据,查找各个角度下观测数据,产生融合后的观测数据;
利用raytrace算法,构建全局导航地图;
利用启发式搜索算法,结合宿主设备的起点和终点,搜索一条平滑无碰撞路径;
利用动态窗口算法,寻找可行的窗口;
对速度进行平滑处理,下发移动宿主设备的控制指令。
所述内部传感器包括陀螺仪、加速度计和电子罗盘。
所述环境传感器是激光雷达和/或视觉传感器。
本发明还提供一种具虚拟墙功能的机器人,包括自动定位导航装置,其特征是:该自动定位导航装置如上所述。
所述机器人为扫地机器人或安防巡逻机器人。
本发明的机器人通过耦合的定位导航装置,接受设置好的虚拟墙信息后,提取其中的直线信息,结合传感器数据,产生融合后的观测数据并构建全局导航地图,从而可以基于纯软件方式实现机器人的虚拟墙避障,在使用中不改变环境,无需额外辅助设备,生产成本低;
可根据具体情况切换或变更虚拟墙的位置和形状,使用更加方便、灵活、快捷;
且克服了传统技术中干扰带来的运动行为异常现象,其精度高。
附图说明
图1是本发明的定位导航装置的硬件结构示意图。
图2是本发明的定位导航装置的程序流程图。
具体实施方式
现结合附图给出较佳实施例,以对本发明作进一步详细说明。
参看图1,在硬件上,本发明的定位导航装置包括内部传感器11、环境传感器12、和算法运算单元13,内部传感器是集成在本装置内部的pcb上的一系列传感器,包含了陀螺仪、加速度计和电子罗盘等惯性导航传感器,其是原本需要外部宿主系统具备的,现无需外部宿主系统的协助,即可自行采集相关的数据;激光雷达、视觉传感器(摄像头)是优先采用的环境传感器,由于需要对外部环境进行直接的测量和观测,而必须裸露在系统外部。
本发明的定位导航装置具有高度模块化的特点,极大地降低了与机器人宿主系统、例如扫地机器人或安防巡逻机器人的耦合度,便于快速整合进入现有的机器人宿主系统并可灵活扩展。
参看图2,在软件上,本发明包括若干为了实现虚拟墙功能的程序模块,它们是通信模块21,其用于与虚拟墙的设置终端传递信息,起到桥梁的作用;获取模块22,其用于获取设置好的虚拟墙信息,并进行相关数据存储;直线提取模块23,其利用hough变换算法,提取虚拟墙中的直线信息,过滤多余噪点,以提供更加精确的数据,是分段查找树构建及快速查找的前提;分段查找树构建模块24,其用于利用直线提取模块提取的直线信息,利用二分法构建分段查找树,加快多传感器数据融合效率;观测数据融合模块25,其用于结合分段查找树以及系统所连接多传感器数据,结合角度信息,进行传感器数据融合,获得用于决策控制部分多传感器融合信息,为导航避障功能提供数据支撑;
任务管理调度模块26,该模块主要用于管理用户下发的导航任务,包括设置任务序列、任务分发、任务执行逻辑、调用路径规划服务等部分,是整个系统的控制中心;
地图构建存储模块27,用于利用直线提取模块提取的虚拟墙信息,实时更新导航地图数据,主要利用slam相关算法,构建环境地图,是智能移动算法最核心模块,该模块主要为了便于在路径规划时,规划出绕开虚拟墙的路径;
自主定位模块28,基于当前传感器信息,利用相关匹配算法,获得当前位姿信息,使得智能设备实时知道自己在环境中所处位置,解决″whereami″(我在哪里)问题;
全局路径规划模块29,利用启发式搜索算法,搜索起点到终点全局无碰撞最优路径,指引智能设备完成设定的导航任务,解决″howtogo″(怎么走)问题;局部路径规划模块291,结合当前速度信息,利用动态窗口算法产生平滑的无碰撞控制决策,使得智能设备可以无碰撞的完成指定的导航任务;
运动控制模块292,结合智能设备运动模型,产生运动控制决策,控制智能设备以一定的速度平滑无碰撞的移动;
智能移动模块293,其接收运动控制模块指令,控制设备无碰撞移动。
上述程序模块组合起来可执行以下步骤:
步骤一:获取模块捕获由通信模块发来的虚拟墙信息;
步骤二:在直线提取模块,采用hough变换算法,对虚拟墙信息进行相应处理,标注其生命周期、起点、终点、提取直线特性;
步骤三:根据直线起点、终点的角度信息,利用二分法构建更新分段查找树;
步骤四:根据传感器数据信息,结合分段查找树,查找各个角度下观测数据,产生融合后的各个角度下的观测数据;
步骤五:利用多传感器数据,结合raytrace算法,构建全局导航地图;
步骤六:当通信模块收到导航任务后,利用全局导航地图,及实时自定位信息,利用启发式搜索算法,结合智能设备起点终点,搜索一条平滑无碰撞路径;如果终点不可达,结束当前任务;如果有,则进入下一步骤;
步骤七:利用动态窗口算法,搜索可行窗口及控制策略;如果找到该窗口,则进入下一步骤,否则,转入上一步骤,尝试搜索其他可达路径;
步骤八:对速度进行平滑处理,下发控制指令到宿主设备,控制宿主设备移动。
与现有虚拟墙技术相比,本发明不需要额外辅助的硬件设备,额外的生产成本,使用更加方便、灵活、快捷,此外,不用改变环境,增添删除更加方便,更加智能化,同时,也克服了干扰带来的运动行为异常,更加的精确、可靠。
以上所述仅是本发明的较佳实施例而已,并非对本发明做任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案的范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。