导航方法及设备与流程

文档序号:15968651发布日期:2018-11-16 23:20阅读:209来源:国知局

本发明涉及计算机领域,尤其涉及一种导航方法及设备。

背景技术

目前,现有的移动设备沿自定义路径导航方式主要以下几种:

一、固定的物理轨道,例如利用磁条导航的agv、送餐机器人和城市的有轨电车等,其所允许的运行路径完全沿预设的轨道运动,遇到障碍物只能暂停等待,无法对路径上的障碍物进行避绕,需要铺设轨道,成本高,路径完全固定,使用场景单一固定。

二、全局搜路导航,例如行车地图导航、部分服务机器人导航等,用户只需要输入起点和终点,它就能依据预先存储的地图信息规划出不同代价评估的参考路径。这种全局搜路的方式,依据设计好的评估模型,关注的是目标点,不关心中心环节,无法保证稳定一致的运行轨迹,无法满足用户对部分中间关键路段的预期。

三、利用虚拟轨道进行导航,提前考虑合适的运行轨迹,提前建立虚拟的轨道网络,找到起始点和终点到虚拟轨道的最近点,再利用虚拟轨道搜索出一条合适的轨道路径。这种方式有效的保证了关键路段,但无法保证连续运动的运行轨迹和沿轨迹运动的先后次序。



技术实现要素:

本发明的一个目的是提供一种导航方法及设备。

根据本发明的一个方面,提供了一种导航方法,该方法包括:

获取用户端发送的预设轨迹;

根据移动设备的周围环境构建环境地图;

从所述预设轨迹中提取关键点,根据相邻的关键点之间的距离调整关键点,其中,当相邻的关键点之间的距离大于预设阈值时,在相邻的两个关键点之间插入中间的关键点,当相邻的关键点之间的距离小于等于预设阈值时,将三个依次相邻的关键点中的中间的关键点删除;

将调整后的关键点作为对应的目标点以生成目标轨迹,其中,所述目标轨迹包括至少一段子运动轨迹,每段子运动轨迹包括至少一个目标点或包括多个依次连续的目标点,每段子运动轨迹的结束目标点为断点,各子运动轨迹的目标点不连续;

根据环境地图对移动设备的当前位置进行定位,根据所述定位,控制机器人依次沿着各段子运动轨迹中的目标点运动。

进一步的,上述方法中,根据所述定位,控制机器人依次沿着各段子运动轨迹中的目标点运动,包括:

步骤s501:依据生成的目标轨迹,判断当前是否存在待完成运动的目标路径中的目标点,若存在,进入步骤s502,若不存在,进入步骤s514;

步骤s502:将移动设备所在的当前目标点作为上一个目标点,并从目标轨迹中提取下一个目标点作为当前目标点,判断上一个目标点是否为断点,若为否,说明当前的一段子运动轨迹没有走完,需要继续沿着当前的一段子运动轨迹行走,进入步骤s503;

步骤s503:检测当前的一段子运动轨迹中的上一个目标点是否为有效目标点,其中,所述有效目标点指移动设备已经成功到达的点,若是,进入步骤s504;

步骤s504:检查当前目标点是否为可达点,其中,所述可达点依据所述环境地图提前判断得到,若是,进入步骤s505,若否,将当前目标点标记为非有效目标点后,进入步骤s501;

步骤s505:局部运动规划所述移动设备向所述当前目标点运动,其中,若在向所述当前目标点运动的中间碰到障碍物,则将所述当前目标点标记为非有效目标点后,进入步骤s501;若所述移动设备成功运动抵达所述当前目标点,则将所述当前目标点标记为有效目标点,进入步骤s501;

步骤s514:结束沿预设轨迹运动。

进一步的,上述方法中,根据所述定位,控制机器人依次沿着各段子运动轨迹中的目标点运动,包括:

步骤s501:依据生成的目标轨迹,判断当前是否存在待完成运动的目标路径中的目标点,若存在,进入步骤s502,若不存在,进入步骤s514;

步骤s502:将移动设备所在的当前目标点作为上一个目标点,并从目标轨迹中提取下一个目标点作为当前目标点,判断上一个目标点是否为断点,若是,则说明当前目标点在新的一段子运动轨迹中,需要开始新的一段子运动轨迹,进入步骤s506;

步骤s506:判断当前目标点是否为可达点,若是,进入步骤s507,若否,进入步骤s501;

步骤s507:依据所述环境地图在所述目标轨迹中进行全局路径搜索,若能搜到去所述当前目标点的路径,进入步骤s508;若无法搜索到去所述当前目标点的路径,将当前目标点标记为非有效目标点后,进入步骤s501;

步骤s508:控制移动设备按照搜索到的路径向所述当前目标点运动,若移动设备成功抵达所述当前目标点,将所述当前轨迹标记为有效目标点后,进入步骤s501;若移动设备未成功抵达所述当前目标点,进入步骤s509;

步骤s509:判断依据所述环境地图在所述目标轨迹中进行全局路径搜索的次数是否超过预设阈值,若超过,将所述当前目标点标记为非有效目标点后,进入步骤s501;若未超过,进入步骤s507;

步骤s514:结束沿预设轨迹运动。

进一步的,上述方法中,根据所述定位,控制机器人依次沿着各段子运动轨迹中的目标点运动,包括:

步骤s501:依据生成的目标轨迹,判断当前是否存在待完成运动的目标路径中的目标点,若存在,进入步骤s502,若不存在,进入步骤s514;

步骤s502:将移动设备所在的当前目标点作为上一个目标点,并从目标轨迹中提取下一个目标点作为当前目标点,判断上一个目标点是否为断点,若为否,说明当前的一段子运动轨迹没有走完,需要继续沿着当前的一段子运动轨迹行走,进入步骤s503;

步骤s503:检测当前的一段子运动轨迹中的上一个目标点是否为有效目标点,其中,所述有效目标点指移动设备已经成功到达的点,若为否,进入步骤s510;

步骤s510:判断当前目标点是否为可达点,若是,进入步骤s511,若否,进入步骤s501;

步骤s511:依据所述环境地图和目标轨迹进行路径搜索,若能搜到去所述当前目标点的路径,进入步骤s512,若无法搜索到去所述当前目标点的路径,将当前轨迹记为非有效目标点后,进入步骤s501;

步骤s512:控制所述移动设备按照搜索到路径绕过障碍物后,重新向当前的一段子运动轨迹上的当前目标点运动,若移动设备成功抵达当前目标点,将当前目标点标记为有效目标点,进入步骤s501;若移动设备未成功抵达当前目标点,进入步骤s513;

步骤s513:判断依据所述环境地图和目标轨迹进行路径搜索次数是否超过阈值,若超过,将当前目标点标记为非有效目标点后,进入步骤s501;若未超过,进入步骤s511;

步骤s514:结束沿预设轨迹运动。

根据本发明的另一方面,还提供了一种导航设备,该设备包括:

第一装置,用于获取用户端发送的预设轨迹;

第二装置,用于根据移动设备的周围环境构建环境地图;

第三装置,用于从所述预设轨迹中提取关键点,根据相邻的关键点之间的距离调整关键点,其中,当相邻的关键点之间的距离大于预设阈值时,在相邻的两个关键点之间插入中间的关键点,当相邻的关键点之间的距离小于等于预设阈值时,将三个依次相邻的关键点中的中间的关键点删除;

第四装置,用于将调整后的关键点作为对应的目标点以生成目标轨迹,其中,所述目标轨迹包括至少一段子运动轨迹,每段子运动轨迹包括至少一个目标点或包括多个依次连续的目标点,每段子运动轨迹的结束目标点为断点,各子运动轨迹的目标点不连续;

第五装置,用于根据环境地图对移动设备的当前位置进行定位,根据所述定位,控制机器人依次沿着各段子运动轨迹中的目标点运动。

进一步的,上述设备中,所述第五装置包括:

第501装置,用于依据生成的目标轨迹,判断当前是否存在待完成运动的目标路径中的目标点,若存在,转入第502装置,若不存在,转入第514装置;

第502装置,用于将移动设备所在的当前轨迹点目标点作为上一个轨迹点目标点,并从目标轨迹中提取下一个轨迹点目标点作为当前轨迹点目标点,判断上一个轨迹点目标点是否为断点,若为否,说明当前的一段子运动轨迹没有走完,需要继续沿着当前的一段子运动轨迹行走,转入第503装置;

第503装置,用于检测当前的一段子运动轨迹中的上一个目标点是否为有效目标点,其中,所述有效目标点指移动设备已经成功到达的点,若是,转入第504装置;

第504装置,用于检查当前目标点是否为可达点,其中,所述可达点依据所述环境地图提前判断得到,若是,转入第505装置,若否,将当前目标点标记为非有效目标点后,转入第501装置;

第505装置:局部运动规划所述移动设备向所述当前目标点运动,其中,若在向所述当前目标点运动的中间碰到障碍物,则将所述当前目标点标记为非有效目标点后,进入第501装置;若所述移动设备成功运动抵达所述当前目标点,则将所述当前目标点标记为有效目标点,进入第501装置;

第514装置,用于结束沿预设轨迹运动。

进一步的,上述设备中,根据所述定位,所述第五装置包括:

第501装置,用于依据生成的目标轨迹,判断当前是否存在待完成运动的目标路径中的目标点,若存在,转入第502装置,若不存在,转入第514装置;

第502装置,用于将移动设备所在的当前目标点作为上一个目标点,并从目标轨迹中提取下一个目标点作为当前目标点,判断上一个目标点是否为断点,若是,则说明当前目标点在新的一段子运动轨迹中,需要开始新的一段子运动轨迹,转入第506装置;

第506装置,用于判断当前目标点是否为可达点,若是,转入第507装置,若否,转入第501装置;

第507装置,用于依据所述环境地图在所述目标轨迹中进行全局路径搜索,若能搜到去所述当前目标点的路径,转入第508装置;若无法搜索到去所述当前目标点的路径,将当前目标点标记为非有效目标点后,进入转入第501装置;

第508装置,用于控制移动设备按照搜索到的路径向所述当前目标点运动,若移动设备成功抵达所述当前目标点,将所述当前轨迹标记为有效目标点后,转入第501装置;若移动设备未成功抵达所述当前目标点,转入第509装置;

第509装置,用于判断依据所述环境地图在所述目标轨迹中进行全局路径搜索的次数是否超过预设阈值,若超过,将所述当前目标点标记为非有效目标点后,转入第501装置;若未超过,转入第507装置;

第514装置,用于结束沿预设轨迹运动。

进一步的,上述设备中,所述第五装置包括:

第501装置,用于依据生成的目标轨迹,判断当前是否存在待完成运动的目标路径中的目标点,若存在,转入第502装置,若不存在,转入第514装置;

第502装置,用于将移动设备所在的当前目标点作为上一个目标点,并从目标轨迹中提取下一个目标点作为当前目标点,判断上一个目标点是否为断点,若为否,说明当前的一段子运动轨迹没有走完,需要继续沿着当前的一段子运动轨迹行走,转入第503装置;

第503装置,用于检测当前的一段子运动轨迹中的上一个目标点是否为有效目标点,其中,所述有效目标点指移动设备已经成功到达的点,若为否,转入第510装置;

第510装置,用于判断当前目标点是否为可达点,若是,转入第511装置,若否,转入第501装置;

第511装置,用于依据所述环境地图和目标轨迹进行路径搜索,若能搜到去所述当前目标点的路径,转入第512装置,若无法搜索到去所述当前目标点的路径,将当前轨迹记为非有效目标点后,转入第501装置;

第512装置,用于控制所述移动设备按照搜索到路径绕过障碍物后,重新向当前的一段子运动轨迹上的当前目标点运动,若移动设备成功抵达当前目标点,将当前目标点标记为有效目标点,转入第501装置;若移动设备未成功抵达当前目标点,转入第513装置;

第513装置,用于判断依据所述环境地图和目标轨迹进行路径搜索次数是否超过阈值,若超过,将当前目标点标记为非有效目标点后,转入第501装置;若未超过,转入第511装置;

第514装置,用于结束沿预设轨迹运动。

根据本发明的另一面,还提供一种基于计算的设备,其中,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:

获取用户端发送的预设轨迹;

根据移动设备的周围环境构建环境地图;

从所述预设轨迹中提取关键点,根据相邻的关键点之间的距离调整关键点,其中,当相邻的关键点之间的距离大于预设阈值时,在相邻的两个关键点之间插入中间的关键点,当相邻的关键点之间的距离小于等于预设阈值时,将三个依次相邻的关键点中的中间的关键点删除;

将调整后的关键点作为对应的目标点以生成目标轨迹,其中,所述目标轨迹包括至少一段子运动轨迹,每段子运动轨迹包括至少一个目标点或包括多个依次连续的目标点,每段子运动轨迹的结束目标点为断点,各子运动轨迹的目标点不连续;

根据环境地图对移动设备的当前位置进行定位,根据所述定位,控制机器人依次沿着各段子运动轨迹中的目标点运动。

根据本发明的另一面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:

获取用户端发送的预设轨迹;

根据移动设备的周围环境构建环境地图;

从所述预设轨迹中提取关键点,根据相邻的关键点之间的距离调整关键点,其中,当相邻的关键点之间的距离大于预设阈值时,在相邻的两个关键点之间插入中间的关键点,当相邻的关键点之间的距离小于等于预设阈值时,将三个依次相邻的关键点中的中间的关键点删除;

将调整后的关键点作为对应的目标点以生成目标轨迹,其中,所述目标轨迹包括至少一段子运动轨迹,每段子运动轨迹包括至少一个目标点或包括多个依次连续的目标点,每段子运动轨迹的结束目标点为断点,各子运动轨迹的目标点不连续;

根据环境地图对移动设备的当前位置进行定位,根据所述定位,控制机器人依次沿着各段子运动轨迹中的目标点运动。

与现有技术相比,本发明通过从所述预设轨迹中提取关键点,根据相邻的关键点之间的距离调整关键点,其中,当相邻的关键点之间的距离大于预设阈值时,在相邻的两个关键点之间插入中间的关键点,当相邻的关键点之间的距离小于等于预设阈值时,将三个依次相邻的关键点中的中间的关键点删除;将调整后的关键点作为对应的目标点以生成目标轨迹,其中,所述目标轨迹包括至少一段子运动轨迹,每段子运动轨迹包括至少一个目标点或包括多个依次连续的目标点,每段子运动轨迹的结束目标点为断点,各子运动轨迹的目标点不连续;根据环境地图对移动设备的当前位置进行定位,根据所述定位,控制机器人依次沿着各段子运动轨迹中的目标点运动,无需额外成本进行物理轨道辅助,能够灵活方便的控制机器人按照预设的轨迹运动。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1示出本发明的导航方法一实施例的系统结构示意图;

图2示出本发明的导航方法一实施例的流程图;

图3示出本发明的导航方法一实施例生成的轨迹示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

下面结合附图对本发明作进一步详细描述。

在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

本发明提供一种导航方法,包括:

步骤s1,获取用户端发送的预设轨迹;

在此,如图1所示,本发明可以分为用户端,交互部分,slam自主定位建图部分、生成运动轨迹部分和沿轨迹运动部分五个部分;

其中,用户端,通常为手机app或pc上位机部分,主要进行预设轨迹的输入,显示环境地图、预设的轨迹和已完成的运动轨迹;

步骤s2,根据移动设备的周围环境构建环境地图;

在此,如图1所示,可以通过slam自主定位建图部分进行构建环境地图和依据所述环境构建地图对移动设备的位置进行定位,给移动设备的导航运动提供精确位置保障;

如图1所示,可以通过交互部分进行用户端与生成运动轨迹部分和slam(simultaneouslocalizationandmapping,同步定位与地图)自主定位建图部分进行数据的传输;

步骤s3,从所述预设轨迹中提取关键点,根据相邻的关键点之间的距离调整关键点,其中,当相邻的关键点之间的距离大于预设阈值时,在相邻的两个关键点之间插入中间的关键点,当相邻的关键点之间的距离小于等于预设阈值时,将三个依次相邻的关键点中的中间的关键点删除;

在此,如图1所示,生成运动轨迹部分,依据可以用户预设的路径提取关键点,生成包括至少一段子运动轨迹的目标轨迹,目标轨迹用于机器人导航,当关键点间距离较大时,直接在相邻的两个关键点之间插入中间的关键点,关键当相邻的关键点之间的距离较小时,直接删除部分中间点;

步骤s4,将调整后的关键点作为对应的目标点以生成目标轨迹,其中,所述目标轨迹包括至少一段子运动轨迹,每段子运动轨迹包括至少一个目标点或包括多个依次连续的目标点,每段子运动轨迹的结束目标点为断点,各子运动轨迹的目标点不连续;

步骤s5,根据环境地图对移动设备的当前位置进行定位,根据所述定位,控制机器人依次沿着各段子运动轨迹中的目标点运动。

在此,如图1所示,沿轨迹运动部分可以依据生成的目标轨迹,控制移动设备沿目标轨迹运动。

本发明提供一种用于移动设备沿自定义路径运动的导航方法,无需额外成本进行物理轨道辅助,能够灵活方便的控制机器人按照预设的轨迹运动。

如图2所示,步骤s5,根据所述定位,控制机器人依次沿着各段子运动轨迹中的目标点运动中,可以涉及三种运动:搜路去轨迹起点运动、沿目标轨迹运动和绕路重新回到目标轨迹运动。下面对这三种运动做介绍:

本发明的导航方法一实施例中,步骤s5,根据所述定位,控制机器人依次沿着各段子运动轨迹中的目标点运动,包括沿目标轨迹运动,其中,包括:

步骤s501:依据生成的目标轨迹,判断当前是否存在待完成运动的目标路径中的目标点,若存在,进入步骤s502,若不存在,进入步骤s514;

步骤s502:将移动设备所在的当前目标点作为上一个目标点,并从目标轨迹中提取下一个目标点作为当前目标点,判断上一个目标点是否为断点,若为否,说明当前的一段子运动轨迹没有走完,需要继续沿着当前的一段子运动轨迹行走,进入步骤s503;

步骤s503:检测当前的一段子运动轨迹中的上一个目标点是否为有效目标点,其中,所述有效目标点指移动设备已经成功到达的点,若是,进入步骤s504;

步骤s504:检查当前目标点是否为可达点,其中,所述可达点依据所述环境地图提前判断得到,若是,进入步骤s505,若否,将当前目标点标记为非有效目标点后,进入步骤s501;

步骤s505:局部运动规划所述移动设备向所述当前目标点运动,其中,若在向所述当前目标点运动的中间碰到障碍物,则将所述当前目标点标记为非有效目标点后,进入步骤s501;若所述移动设备成功运动抵达所述当前目标点,则将所述当前目标点标记为有效目标点,进入步骤s501;

步骤s514:结束沿预设轨迹运动。

本发明的导航方法一实施例中,步骤s5,根据所述定位,控制机器人依次沿着各段子运动轨迹中的目标点运动,包括搜路去轨迹起点运动,其中,包括:

步骤s501:依据生成的目标轨迹,判断当前是否存在待完成运动的目标路径中的目标点,若存在,进入步骤s502,若不存在,进入步骤s514;

步骤s502:将移动设备所在的当前目标点作为上一个目标点,并从目标轨迹中提取下一个目标点作为当前目标点,判断上一个目标点是否为断点,若是,则说明当前目标点在新的一段子运动轨迹中,需要开始新的一段子运动轨迹,进入步骤s506;

步骤s506:判断当前目标点是否为可达点,若是,进入步骤s507,若否,进入步骤s501;

步骤s507:依据所述环境地图在所述目标轨迹中进行全局路径搜索,若能搜到去所述当前目标点的路径,进入步骤s508;若无法搜索到去所述当前目标点的路径,将当前目标点标记为非有效目标点后,进入步骤s501;

步骤s508:控制移动设备按照搜索到的路径向所述当前目标点运动,若移动设备成功抵达所述当前目标点,将所述当前轨迹标记为有效目标点后,进入步骤s501;若移动设备未成功抵达所述当前目标点,进入步骤s509;

步骤s509:判断依据所述环境地图在所述目标轨迹中进行全局路径搜索的次数是否超过预设阈值,若超过,将所述当前目标点标记为非有效目标点后,进入步骤s501;若未超过,进入步骤s507;

步骤s514:结束沿预设轨迹运动。

本发明的导航方法一实施例中,步骤s5,根据所述定位,控制机器人依次沿着各段子运动轨迹中的目标点运动,包括绕路重新回到目标轨迹运动,其中,包括:

步骤s501:依据生成的目标轨迹,判断当前是否存在待完成运动的目标路径中的目标点,若存在,进入步骤s502,若不存在,进入步骤s514;

步骤s502:将移动设备所在的当前目标点作为上一个目标点,并从目标轨迹中提取下一个目标点作为当前目标点,判断上一个目标点是否为断点,若为否,说明当前的一段子运动轨迹没有走完,需要继续沿着当前的一段子运动轨迹行走,进入步骤s503;

步骤s503:检测当前的一段子运动轨迹中的上一个目标点是否为有效目标点,其中,所述有效目标点指移动设备已经成功到达的点,若为否,进入步骤s510;

步骤s510:判断当前目标点是否为可达点,若是,进入步骤s511,若否,进入步骤s501;

步骤s511:依据所述环境地图和目标轨迹进行路径搜索,若能搜到去所述当前目标点的路径,进入步骤s512,若无法搜索到去所述当前目标点的路径,将当前轨迹记为非有效目标点后,进入步骤s501;

步骤s512:控制所述移动设备按照搜索到路径绕过障碍物后,重新向当前的一段子运动轨迹上的当前目标点运动,若移动设备成功抵达当前目标点,将当前目标点标记为有效目标点,进入步骤s501;若移动设备未成功抵达当前目标点,进入步骤s513;

步骤s513:判断依据所述环境地图和目标轨迹进行路径搜索次数是否超过阈值,若超过,将当前目标点标记为非有效目标点后,进入步骤s501;若未超过,进入步骤s511;

步骤s514:结束沿预设轨迹运动。

本发明能够实现移动设备最大程度的沿预期的目标轨迹运动,并能够自主的避让无效的部分轨迹和临时的障碍,重新回到预设的轨迹完成剩下的目标任务。

具体的,如图1所示,本发明的系统结构主要分为用户端,交互部分,slam自主定位建图部分、生成轨迹部分和沿轨迹运动部分五个部分:

如图2所示,沿轨迹运动部分的具体实施流程如下:

步骤s501:依据生成的目标轨迹,判断当前是否存在待完成运动的目标路径中的目标点,若存在,进入步骤s502,若不存在,进入步骤s514;

步骤s502:将移动设备所在的当前目标点作为上一个目标点,并从目标轨迹中提取下一个目标点作为当前目标点,判断上一个目标点是否为断点,若是,则说明当前目标点在新的一段子运动轨迹中,需要开始新的一段子运动轨迹,进入步骤s506,若为否,说明当前的一段子运动轨迹没有走完,需要继续沿着当前的一段子运动轨迹行走,进入步骤s503;

步骤s503:检测当前的一段子运动轨迹中的上一个目标点是否为有效目标点,其中,所述有效目标点指移动设备已经成功到达的点,若是,进入步骤s504,若为否,进入步骤s510;

步骤s504:检查当前目标点是否为可达点,其中,所述可达点依据所述环境地图提前判断得到,若是,进入步骤s505,若否,将当前目标点标记为非有效目标点后,进入步骤s501;

步骤s505:局部运动规划所述移动设备向所述当前目标点运动,其中,若在向所述当前目标点运动的中间碰到障碍物,则将所述当前目标点标记为非有效目标点后,进入步骤s501;若所述移动设备成功运动抵达所述当前目标点,则将所述当前目标点标记为有效目标点,进入步骤s501;

步骤s506:判断当前目标点是否为可达点,若是,进入步骤s507,若否,进入步骤s501;

步骤s507:依据所述环境地图在所述目标轨迹中进行全局路径搜索,若能搜到去所述当前目标点的路径,进入步骤s508;若无法搜索到去所述当前目标点的路径,将当前目标点标记为非有效目标点后,进入步骤s501;

步骤s508:控制移动设备按照搜索到的路径向所述当前目标点运动,若移动设备成功抵达所述当前目标点,将所述当前轨迹标记为有效目标点后,进入步骤s501;若移动设备未成功抵达所述当前目标点,进入步骤s509;

步骤s509:判断依据所述环境地图在所述目标轨迹中进行全局路径搜索的次数是否超过预设阈值,若超过,将所述当前目标点标记为非有效目标点后,进入步骤s501;若未超过,进入步骤s507;

步骤s510:判断当前目标点是否为可达点,若是,进入步骤s511,若否,进入步骤s501;

步骤s511:依据所述环境地图和目标轨迹进行路径搜索,若能搜到去所述当前目标点的路径,进入步骤s512,若无法搜索到去所述当前目标点的路径,将当前轨迹记为非有效目标点后,进入步骤s501;

步骤s512:控制所述移动设备按照搜索到路径绕过障碍物后,重新向当前的一段子运动轨迹上的当前目标点运动,若移动设备成功抵达当前目标点,将当前目标点标记为有效目标点,进入步骤s501;若移动设备未成功抵达当前目标点,进入步骤s513;

步骤s513:判断依据所述环境地图和目标轨迹进行路径搜索次数是否超过阈值,若超过,将当前目标点标记为非有效目标点后,进入步骤s501;若未超过,进入步骤s511;

步骤s514:结束沿预设轨迹运动。

具体的,图3中,a,b,c…o,p,q,r为目标点,其中,a为启始目标点,i,r为断点,用于区分不同段的子运动轨迹,如图3中的d外的矩形框代表移动设备的起点位置,e,f,g是有障碍物被堵住的不可达点,其中,

搜路去轨迹起点运动,包括步骤s501,s502,s506,s507,s508,s509,其中,移动设备运行主要包括:从移动设备的当前位置,搜路抵达各段子运动轨迹的启始目标点,如图3中的a或j;

绕路重新回到目标轨迹运动,包括步骤s501,s502,s503,s510,s511,s512,s513,其中,如图3所示,下一个目标点e被堵,在当前段子运动轨迹上,就会依次往下找,直到点目标点h,由于目标点h的上一个目标点g是非有效目标点,此时会从移动设备的当前位置搜新路径到达h,即搜索到d到h的新路径;

沿目标轨迹运动,包括步骤s501,步骤s502,步骤s503,步骤s504,步骤s505,其中,包括沿同一段子运动轨迹的相邻连续目标点间的运动,如图3所示的a到b,b到c等。

根据本发明的另一方面,还提供了一种导航设备,该设备包括:

第一装置,用于获取用户端发送的预设轨迹;

第二装置,用于根据移动设备的周围环境构建环境地图;

第三装置,用于从所述预设轨迹中提取关键点,根据相邻的关键点之间的距离调整关键点,其中,当相邻的关键点之间的距离大于预设阈值时,在相邻的两个关键点之间插入中间的关键点,当相邻的关键点之间的距离小于等于预设阈值时,将三个依次相邻的关键点中的中间的关键点删除;

第四装置,用于将调整后的关键点作为对应的目标点以生成目标轨迹,其中,所述目标轨迹包括至少一段子运动轨迹,每段子运动轨迹包括至少一个目标点或包括多个依次连续的目标点,每段子运动轨迹的结束目标点为断点,各子运动轨迹的目标点不连续;

第五装置,用于根据环境地图对移动设备的当前位置进行定位,根据所述定位,控制机器人依次沿着各段子运动轨迹中的目标点运动。

进一步的,上述设备中,所述第五装置包括:

第501装置,用于依据生成的目标轨迹,判断当前是否存在待完成运动的目标路径中的目标点,若存在,转入第502装置,若不存在,转入第514装置;

第502装置,用于将移动设备所在的当前轨迹点目标点作为上一个轨迹点目标点,并从目标轨迹中提取下一个轨迹点目标点作为当前轨迹点目标点,判断上一个轨迹点目标点是否为断点,若为否,说明当前的一段子运动轨迹没有走完,需要继续沿着当前的一段子运动轨迹行走,转入第503装置;

第503装置,用于检测当前的一段子运动轨迹中的上一个目标点是否为有效目标点,其中,所述有效目标点指移动设备已经成功到达的点,若是,转入第504装置;

第504装置,用于检查当前目标点是否为可达点,其中,所述可达点依据所述环境地图提前判断得到,若是,转入第505装置,若否,将当前目标点标记为非有效目标点后,转入第501装置;

第505装置:局部运动规划所述移动设备向所述当前目标点运动,其中,若在向所述当前目标点运动的中间碰到障碍物,则将所述当前目标点标记为非有效目标点后,进入第501装置;若所述移动设备成功运动抵达所述当前目标点,则将所述当前目标点标记为有效目标点,进入第501装置;

第514装置,用于结束沿预设轨迹运动。

进一步的,上述设备中,根据所述定位,所述第五装置包括:

第501装置,用于依据生成的目标轨迹,判断当前是否存在待完成运动的目标路径中的目标点,若存在,转入第502装置,若不存在,转入第514装置;

第502装置,用于将移动设备所在的当前目标点作为上一个目标点,并从目标轨迹中提取下一个目标点作为当前目标点,判断上一个目标点是否为断点,若是,则说明当前目标点在新的一段子运动轨迹中,需要开始新的一段子运动轨迹,转入第506装置;

第506装置,用于判断当前目标点是否为可达点,若是,转入第507装置,若否,转入第501装置;

第507装置,用于依据所述环境地图在所述目标轨迹中进行全局路径搜索,若能搜到去所述当前目标点的路径,转入第508装置;若无法搜索到去所述当前目标点的路径,将当前目标点标记为非有效目标点后,进入转入第501装置;

第508装置,用于控制移动设备按照搜索到的路径向所述当前目标点运动,若移动设备成功抵达所述当前目标点,将所述当前轨迹标记为有效目标点后,转入第501装置;若移动设备未成功抵达所述当前目标点,转入第509装置;

第509装置,用于判断依据所述环境地图在所述目标轨迹中进行全局路径搜索的次数是否超过预设阈值,若超过,将所述当前目标点标记为非有效目标点后,转入第501装置;若未超过,转入第507装置;

第514装置,用于结束沿预设轨迹运动。

进一步的,上述设备中,所述第五装置包括:

第501装置,用于依据生成的目标轨迹,判断当前是否存在待完成运动的目标路径中的目标点,若存在,转入第502装置,若不存在,转入第514装置;

第502装置,用于将移动设备所在的当前目标点作为上一个目标点,并从目标轨迹中提取下一个目标点作为当前目标点,判断上一个目标点是否为断点,若为否,说明当前的一段子运动轨迹没有走完,需要继续沿着当前的一段子运动轨迹行走,转入第503装置;

第503装置,用于检测当前的一段子运动轨迹中的上一个目标点是否为有效目标点,其中,所述有效目标点指移动设备已经成功到达的点,若为否,转入第510装置;

第510装置,用于判断当前目标点是否为可达点,若是,转入第511装置,若否,转入第501装置;

第511装置,用于依据所述环境地图和目标轨迹进行路径搜索,若能搜到去所述当前目标点的路径,转入第512装置,若无法搜索到去所述当前目标点的路径,将当前轨迹记为非有效目标点后,转入第501装置;

第512装置,用于控制所述移动设备按照搜索到路径绕过障碍物后,重新向当前的一段子运动轨迹上的当前目标点运动,若移动设备成功抵达当前目标点,将当前目标点标记为有效目标点,转入第501装置;若移动设备未成功抵达当前目标点,转入第513装置;

第513装置,用于判断依据所述环境地图和目标轨迹进行路径搜索次数是否超过阈值,若超过,将当前目标点标记为非有效目标点后,转入第501装置;若未超过,转入第511装置;

第514装置,用于结束沿预设轨迹运动。

根据本发明的另一面,还提供一种基于计算的设备,其中,包括:

处理器;以及

被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:

获取用户端发送的预设轨迹;

根据移动设备的周围环境构建环境地图;

从所述预设轨迹中提取关键点,根据相邻的关键点之间的距离调整关键点,其中,当相邻的关键点之间的距离大于预设阈值时,在相邻的两个关键点之间插入中间的关键点,当相邻的关键点之间的距离小于等于预设阈值时,将三个依次相邻的关键点中的中间的关键点删除;

将调整后的关键点作为对应的目标点以生成目标轨迹,其中,所述目标轨迹包括至少一段子运动轨迹,每段子运动轨迹包括至少一个目标点或包括多个依次连续的目标点,每段子运动轨迹的结束目标点为断点,各子运动轨迹的目标点不连续;

根据环境地图对移动设备的当前位置进行定位,根据所述定位,控制机器人依次沿着各段子运动轨迹中的目标点运动。

根据本发明的另一面,还提供一种计算机可读存储介质,其上存储有计算机可执行指令,其中,该计算机可执行指令被处理器执行时使得该处理器:

获取用户端发送的预设轨迹;

根据移动设备的周围环境构建环境地图;

从所述预设轨迹中提取关键点,根据相邻的关键点之间的距离调整关键点,其中,当相邻的关键点之间的距离大于预设阈值时,在相邻的两个关键点之间插入中间的关键点,当相邻的关键点之间的距离小于等于预设阈值时,将三个依次相邻的关键点中的中间的关键点删除;

将调整后的关键点作为对应的目标点以生成目标轨迹,其中,所述目标轨迹包括至少一段子运动轨迹,每段子运动轨迹包括至少一个目标点或包括多个依次连续的目标点,每段子运动轨迹的结束目标点为断点,各子运动轨迹的目标点不连续;

根据环境地图对移动设备的当前位置进行定位,根据所述定位,控制机器人依次沿着各段子运动轨迹中的目标点运动。

上述各设备和存储介质各实施例的详细内容,具体可参见各方法实施例的对应部分,在此,不再赘述。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(asic)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,ram存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。

另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

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