路径规划方法及规划装置、智能机器人及存储介质与流程

文档序号:21988444发布日期:2020-08-25 19:27阅读:115来源:国知局
路径规划方法及规划装置、智能机器人及存储介质与流程

本申请涉及自动清洁技术领域,特别涉及一种路径规划方法、路径规划装置、智能机器人及计算机可读存储介质。



背景技术:

对于清洁行业来说,能否实现贴边清洁是衡量一个清洁机器人好坏的重要标准,然而在沿贴边路径运动的过程中,由于小型障碍物、感知噪点等因素的影响,很容易导致路径检查不安全,从而触发避障,为了防止避障,目前一般设置会设置一个较大的安全距离,虽然保证了避障触发几率降低,但贴边效果也变差了。



技术实现要素:

有鉴于此,本发明旨在至少在一定程度上解决相关技术中的问题之一。为此,本申请的实施例提供了一种路径规划方法、路径规划装置、智能机器人及计算机可读存储介质。

本申请实施方式的路径规划方法应用于智能机器人,包括:获取预设的初始路径,所述初始路径包括一个或多个测试路径;对所述初始路径中距离所述智能机器人在预定距离内的测试路径进行安全检查;在所述测试路径未通过所述安全检查时,按预定步长对所述测试路径进行一次或多次偏移;及在偏移后的所述测试路径通过所述安全检查后,将偏移后的所述测试路径确定为局部最终路径。

本申请的路径规划方法中,在测试路径未通过安全检测时,通过预定步长对测试路径进行偏移,并再次对偏移后测试路径进行安全检查,能够以偏移后的通过安全检查的测试路径作为局部最终路径来控制智能机器人按局部最终路径进行移动,不仅降低了由于小型障碍物、感知噪点等因素的影响而触发避障的概率,而且相较于为了适应各种不同大小的障碍物均可以避让,触发避障时直接偏移较大的预定安全距离以避开障碍物而言,预定步长可设置的较小,针对不同的障碍物,适应性的进行一次或多次偏移,使得偏移后的距离刚好通过安全检查但又能够实现很好的贴边。另外,由于仅对距离智能机器人在预定距离内的测试路径进行安全检查,数据的处理压力较小。

在某些实施方式中,所述路径规划方法还包括:在所述测试路径通过所述安全检查时,将所述测试路径确定为所述局部最终路径。

本实施方式中,在测试路径通过安全检查时,说明预设的初始路径中的该测试路径依旧是准确的,该测试路径附近的障碍物并未变化,由于预设的初始路径一般为人为根据应用场景的环境测绘得到的,在环境不发生变化时准确性是较高的,此时直接以该测试路径作为局部最终路径的准确性较高。

在某些实施方式中,所述路径规划方法还包括:根据所述智能机器人的轮廓信息和所述测试路径确定所述智能机器人移动的测试行驶区域;根据障碍物的轮廓信息和当前位置判断所述障碍物是否至少部分位于所述测试行驶区域内;若是,则确定所述测试路径未通过所述安全检查;及若否,则确定所述测试路径通过所述安全检查。

本实施方式中,通过智能机器人本身的轮廓信息(如智能机器人在路面上的投影的覆盖范围)和测试路径,可模拟出智能机器人从测试路径的起点到终点时,轮廓扫过的区域(即,测试行驶区域),根据障碍物的轮廓信息(如障碍物在路面上的投影的覆盖范围)和当前位置即可判断障碍物的轮廓信息是否至少部分位于测试行驶区域内,若障碍物的轮廓信息至少部分位于测试行驶区域内,则表示智能机器人在移动时会碰撞到障碍物,此时可判断测试路径未通过安全检查;若障碍物的轮廓信息均位于测试行驶区域之外,则表示智能机器人在移动时不会碰撞到障碍物,此时可判断测试路径通过安全检查,从而准确地判断测试路径是否通过安全检查,保证智能机器人在通过安全检查后的测试路径上移动时不会碰撞障碍物。

在某些实施方式中,偏移的方向包括第一方向和第二方向,所述第一方向和所述第二方向相反,所述按预定步长对所述测试路径进行一次或多次偏移,包括:以所述第一方向按所述预定步长对所述测试路径进行一次或多次偏移;所述路径规划方法还包括:若以所述第一方向进行预定次数的偏移后,所述测试路径未通过所述安全检查,则还原所述第一方向的偏移并以与所述第一方向相反的所述第二方向对所述测试路径进行一次或多次偏移;及若以所述第二方向进行所述预定次数的偏移后,所述测试路径仍未通过所述安全检查,则确定路径规划失败。

本实施方式中,通过以第一方向和与第一方向相反的第二方向分别进行一次或多次预定步长的偏移,以使得偏移后的测试路径通过安全检查且贴边效果较好。

在某些实施方式中,所述路径规划方法还包括:判断当前的测试路径的最终偏移距离和上一段已通过所述安全检查的测试路径的最终偏移距离之差是否大于预定阈值;若是,则判断从所述上一段已通过所述安全检查的测试路径的最后一个路沿点之前的预设距离处是否存在路沿点;在所述预设距离处存在路沿点时,连接所述预设距离处的路沿点和所述当前的测试路径的第一个路沿点;及在所述预设距离处不存在路沿点时,连接所述智能机器人所在的路沿点和所述当前的测试路径的第一个路沿点。

本实施方式中,在相邻的测试路径(如当前的测试路径和上一段已通过所述安全检查的测试路径)的最终偏移距离之差大于预定阈值时,通过连接上一段已通过所述安全检查的测试路径的最后一个路沿点之前的预设距离处的路沿点或智能机器人所在的路沿点、和当前的测试路径的第一个路沿点,使得相邻的测试路径的连接较为平滑。

在某些实施方式中,所述连接所述预设距离处的路沿点和所述当前的测试路径的第一个路沿点,包括:根据所述预设距离处的路沿点的坐标及朝向角和所述当前的测试路径的第一个路沿点的坐标及朝向角来确定第一连接曲线,通过所述第一连接曲线连接所述预设距离处的路沿点和所述当前的测试路径的第一个路沿点;所述连接所述智能机器人所在的路沿点和所述当前的测试路径的第一个路沿点,包括:根据所述智能机器人所在的路沿点的坐标及朝向角和所述当前的测试路径的第一个路沿点的坐标及朝向角来确定第二连接曲线,通过所述第二连接曲线连接所述智能机器人所在的路沿点和所述当前的测试路径的第一个路沿点。

本实施方式中,通过两个路沿点(如预设距离处的路沿点和当前的测试路径的第一个路沿点、智能机器人所在的路沿点和当前的测试路径的第一个路沿点)的坐标和朝向角来确定第一连接曲线和第二连接曲线,从而平滑地连接两个路沿点。

在某些实施方式中,所述预定距离根据所述智能机器人的体积和移动速度确定。

本实施方式中,不同的体积和移动速度的智能机器人的在预定时间内扫过的区域大小一般是不同的,体积越大,智能机器人在地面的投影就越大,在预定时间内扫过的区域越大,移动速度越快,在预定时间内扫过的区域越大;因此,预定距离能够根据智能机器人的体积和移动速度确定,保证预定距离不会过大而浪费计算资源,也不会过小导致智能机器人移动到不在预定距离内的路沿点时,该路沿点所在的测试路径还来不及进行安全检查,影响智能机器人的移动安全。

本申请实施方式的路径规划装置应用于智能机器人,所述路径规划装置包括获取模块、检测模块、偏移模块和第一确定模块。所述获取模块用于获取预设的初始路径,所述初始路径包括一个或多个测试路径;所述检测模块用于对所述初始路径中距离所述智能机器人在预定距离内的测试路径进行安全检查;及所述偏移模块用于在所述测试路径未通过所述安全检查时,按预定步长对所述测试路径进行一次或多次偏移;及所述第一确定模块用于在偏移后的所述测试路径通过所述安全检查后,将偏移后的所述测试路径确定为局部最终路径。

本申请实施方式的路径规划装置中,在测试路径未通过安全检测时,通过预定步长对测试路径进行偏移,并再次对偏移后测试路径进行安全检查,能够以偏移后的通过安全检查的测试路径作为局部最终路径来控制智能机器人按局部最终路径进行移动,不仅降低了由于小型障碍物、感知噪点等因素的影响而触发避障的概率,而且相较于为了适应各种不同大小的障碍物均可以避让,触发避障时直接偏移较大的预定安全距离以避开障碍物而言,预定步长可设置的较小,针对不同的障碍物,适应性的进行一次或多次偏移,使得偏移后的距离刚好通过安全检查但又能够实现很好的贴边。另外,由于仅对距离智能机器人在预定距离内的测试路径进行安全检查,数据的处理压力较小。

在某些实施方式中,所述路径规划装置还包括第二确定模块。所述第二确定模块用于在所述测试路径通过所述安全检查时,将所述测试路径确定为所述局部最终路径。

在某些实施方式中,所述路径规划装置还包括第三确定模块、第一判断模块、第四确定模块和第五确定模块。所述第三确定模块用于根据所述智能机器人的轮廓信息和所述测试路径确定所述智能机器人移动的测试行驶区域;所述第一判断模块用于根据障碍物的轮廓信息和当前位置判断所述障碍物是否至少部分位于所述测试行驶区域内;所述第四确定模块用于在所述障碍物至少部分位于所述测试行驶区域内时,则确定所述测试路径未通过所述安全检查;所述第五确定模块用于在所述障碍物位于所述测试行驶区域之外时,则确定所述测试路径通过所述安全检查。

在某些实施方式中,所述偏移模块还用于以所述第一方向按所述预定步长对所述测试路径进行一次或多次偏移;所述路径规划装置还包括还原模块和第六确定模块,所述还原模块用于若以所述第一方向进行预定次数的偏移后,所述测试路径未通过所述安全检查,则还原所述第一方向的偏移并以与所述第一方向相反的所述第二方向对所述测试路径进行一次或多次偏移;所述第六确定模块用于若以所述第二方向进行所述预定次数的偏移后,所述测试路径仍未通过所述安全检查,则确定路径规划失败。

在某些实施方式中,所述路径规划装置还包括第二判断模块、第三判断模块、第一连接模块和第二连接模块。所述第二判断模块用于判断当前的测试路径的最终偏移距离和上一段已通过所述安全检查的测试路径的最终偏移距离之差是否大于预定阈值;所述第三判断模块用于在当前的测试路径的最终偏移距离和上一段已通过所述安全检查的测试路径的最终偏移距离之差大于预定阈值时,则判断从所述上一段已通过所述安全检查的测试路径的最后一个路沿点之前的预设距离处是否存在路沿点;所述第一连接模块用于在所述预设距离处存在路沿点时,连接所述预设距离处的路沿点和所述当前的测试路径的第一个路沿点;所述第二连接模块用于在所述预设距离处不存在路沿点时,连接所述智能机器人所在的路沿点和所述当前的测试路径的第一个路沿点。

在某些实施方式中,所述第一连接模块还用于根据所述预设距离处的路沿点的坐标及朝向角和所述当前的测试路径的第一个路沿点的坐标及朝向角来确定第一连接曲线,通过所述第一连接曲线连接所述预设距离处的路沿点和所述当前的测试路径的第一个路沿点;所述第二连接模块还用于根据所述智能机器人所在的路沿点的坐标及朝向角和所述当前的测试路径的第一个路沿点的坐标及朝向角来确定第二连接曲线,通过所述第二连接曲线连接所述智能机器人所在的路沿点和所述当前的测试路径的第一个路沿点。

在某些实施方式中,所述预定距离根据所述智能机器人的体积和移动速度确定。

本申请实施方式的智能机器人包括一个或多个处理器、存储器;和一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被所述一个或多个处理器执行,所述程序包括用于执行上述任一实施方式所述的路径规划方法的指令。

本申请实施方式的智能机器人中,在测试路径未通过安全检测时,通过预定步长对测试路径进行偏移,并再次对偏移后测试路径进行安全检查,能够以偏移后的通过安全检查的测试路径作为局部最终路径来控制智能机器人按局部最终路径进行移动,不仅降低了由于小型障碍物、感知噪点等因素的影响而触发避障的概率,而且相较于为了适应各种不同大小的障碍物均可以避让,触发避障时直接偏移较大的预定安全距离以避开障碍物而言,预定步长可设置的较小,针对不同的障碍物,适应性的进行一次或多次偏移,使得偏移后的距离刚好通过安全检查但又能够实现很好的贴边。另外,由于仅对距离智能机器人在预定距离内的测试路径进行安全检查,数据的处理压力较小。

本申请实施方式的包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器上述任一实施方式所述的路径规划方法。

本申请实施方式的计算机可读存储介质中,在测试路径未通过安全检测时,通过预定步长对测试路径进行偏移,并再次对偏移后测试路径进行安全检查,能够以偏移后的通过安全检查的测试路径作为局部最终路径来控制智能机器人按局部最终路径进行移动,不仅降低了由于小型障碍物、感知噪点等因素的影响而触发避障的概率,而且相较于为了适应各种不同大小的障碍物均可以避让,触发避障时直接偏移较大的预定安全距离以避开障碍物而言,预定步长可设置的较小,针对不同的障碍物,适应性的进行一次或多次偏移,使得偏移后的距离刚好通过安全检查但又能够实现很好的贴边。另外,由于仅对距离智能机器人在预定距离内的测试路径进行安全检查,数据的处理压力较小。

本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是本申请某些实施方式的路径规划方法的流程示意图;

图2是本申请某些实施方式的智能机器人模块示意图;

图3是本申请某些实施方式的路径规划装置的模块示意图;

图4是本申请某些实施方式的路径规划方法的场景示意图;

图5是本申请某些实施方式的路径规划方法的场景示意图;

图6是本申请某些实施方式的路径规划方法的流程示意图;

图7是本申请某些实施方式的路径规划装置的场景示意图;

图8是本申请某些实施方式的路径规划方法的场景示意图;

图9是本申请某些实施方式的路径规划方法的流程示意图;

图10是本申请某些实施方式的路径规划装置的场景示意图;

图11是本申请某些实施方式的路径规划方法的流程示意图;

图12是本申请某些实施方式的路径规划装置的场景示意图;

图13是本申请某些实施方式的路径规划方法的场景示意图;

图14是本申请某些实施方式的路径规划方法的场景示意图;

图15是本申请某些实施方式的路径规划方法的场景示意图;

图16是本申请某些实施方式的路径规划方法的流程示意图;及

图17是本申请某些实施方式的计算机可读存储介质和处理器的连接示意图。

具体实施方式

下面详细描述本申请的实施方式,所述实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请的实施方式,而不能理解为对本申请的实施方式的限制。

请参阅图1及图2,本申请实施方式的路径规划方法可用于智能机器人100,路径规划方法包括步骤:

011:获取预设的初始路径,初始路径包括一个或多个测试路径;

012:对初始路径中距离智能机器人100在预定距离内的测试路径进行安全检查;

013:在测试路径未通过安全检查时,按预定步长对测试路径进行一次或多次偏移;及

014:在偏移后的测试路径通过安全检查后,将偏移后的测试路径确定为局部最终路径。

本申请实施方式的智能机器人100包括一个或多个处理器10、存储器20及一个或多个程序,其中一个或多个程序被存储在存储器20中且被一个或多个处理器10执行,程序包括用于执行本申请实施方式的路径规划方法的指令。处理器10执行程序时,处理器10可用于实施本申请任一实施方式的路径规划方法。处理器10执行程序时,处理器10可用于实施步骤011、步骤012、步骤013、及步骤014。即,处理器10可用于获取预设的初始路径,初始路径包括一个或多个测试路径;对初始路径中距离智能机器人100在预定距离内的测试路径进行安全检查;在测试路径未通过安全检查时,按预定步长对测试路径进行一次或多次偏移;及在偏移后的测试路径通过安全检查后,将偏移后的测试路径确定为局部最终路径。

请结合图3,本申请实施方式的路径规划装置200应用于智能机器人100,路径规划装置200包括获取模块211、检测模块212、偏移模块213和第一确定模块214。获取模块211、检测模块212、偏移模块213和第一确定模块214可分别用于实施步骤011、步骤012、步骤013、及步骤014。即,获取模块211用于获取预设的初始路径,初始路径包括一个或多个测试路径;检测模块212用于对初始路径中距离智能机器人100在预定距离内的测试路径进行安全检查;及偏移模块213用于在测试路径未通过安全检查时,按预定步长对测试路径进行一次或多次偏移;及第一确定模块214用于在偏移后的测试路径通过安全检查后,将偏移后的测试路径确定为局部最终路径。

智能机器人100具体可以是扫地机、洗地机、吸尘器等智能机器人100。智能机器人100还可包括雷达30、清洁执行装置40等元件。其中,雷达30用于扫描周边环境以获取智能机器人100周围环境的三维点云数据,雷达30可以是激光雷达、虚拟雷达等;清洁执行装置40可用于执行清扫任务,如智能机器人100可以用于清洁地板、地砖、路面或者水泥地等表面。

具体的,智能机器人100内一般设置有预设的初始路径,例如智能机器人100为扫地机、洗地机、吸尘器等时,初始路径即为智能机器人100执行清扫工作时移动的路径。初始路径可根据人工对智能机器人100的工作场景进行测绘得到,或者初始路径可通过智能机器人100对工作场景进行测绘得到,例如智能机器人100可设置有雷达30,雷达30可发射激光,雷达30能够基于即时定位与地图构建(simultaneouslocalizationandmapping,slam)定位技术实现自身的定位,雷达30能够实时获取当前场景中各个位置的三维坐标,然后处理器10处理每一帧得到的三维坐标即可获取每一帧的点云数据,根据多帧点云数据,处理器10可对当前场景进行地图构建;多帧点云数据中包含场景各个位置(如路沿的位置、障碍物的位置等)的点云数据,为了实现智能机器人100的贴边清扫和障碍物的规避,处理器10可识别多帧点云数据中的路沿点云数据(即,当前场景中位于路沿上的点对应的点云数据)和障碍物点云数据(即,当前场景中位于障碍物上的点对应的点云数据),在识别到路沿点云数据和障碍物点云数据后,处理器10即可根据路沿点云数据和障碍物点云数据确定构建的地图中的路沿和障碍物所在的位置,从而根据路沿和障碍物所在的位置规划出一条贴边的初始路径。其中,路沿可以是道路场景中给的道路边沿,室内场景中靠墙的边沿,或者商场场景中,货架的边沿等;障碍物可以是智能机器人100在移动时,可能碰撞的物体,如靠近道路边沿的大块或小块的石头,室内的桌椅、沙发甚至人等。

随着工作场景的变化,如障碍物发生移动导致原本的初始路径可能不再准确,此时若没有再次重新测绘得到新的初始路径,按照原本的初始路径进行移动以执行清洁工作的话,可能会导致智能机器人100撞击障碍物。因此,可将初始路径分为一个或多个测试路径,根据智能机器人100的移动方向,依次对智能机器人100移动方向上的、在预定距离内的测试路径进行安全检查,预定距离内的测试路径可以是一段或多段,当测试路径部分处于预定距离内,部分处于预定距离外时,可以对该测试路径进行安全检查,以保证预定距离内的测试路径均进行安全检查,或者,可以不对该测试路径进行安全检查,以节省计算资源。

其中,预定距离可根据智能机器人100的体积和移动速度确定,可以理解,不同的体积和移动速度的智能机器人100的在预定时间内扫过的区域大小一般是不同的,体积越大,智能机器人100在地面的投影就越大,在预定时间内扫过的区域越大,移动速度越快,在预定时间内扫过的区域越大;因此,预定距离能够根据智能机器人100的体积和移动速度确定,保证对预定距离不会过大而浪费计算资源,也不会过小导致智能机器人100移动到预定距离外的路沿点时,该路沿点所在的测试路径还未来得及进行安全检查,影响智能机器人100的移动安全。

如图4所示,随着智能机器人100的移动(如智能机器人100沿x方向移动),处于预定距离d内的测试路径a不断变化,不断有原本位于预定距离d外的测试路径a进入预定距离d内,然后依次接受安全检查,保证智能机器人100在预定距离d内的测试路径a均进行安全检查。初始路径s被分为多个测试路径a,距离智能机器人100在预定距离d内的测试路径a可以是一个或多个,例如预定距离d为测试路径a的整数倍如3倍、5倍、7倍等,本实施方式中,以预定距离d为测试路径a的3倍。

安全检查是检查智能机器人100在测试路径a上移动时是否会碰撞到障碍物z,通过安全检查即表示智能机器人100在该段测试路径a上移动时不会碰撞到障碍物z,而未通过检查即表示智能机器人100在该段测试路径a上移动时会碰撞到障碍物z。

目前,只要触发避障(如本申请中未通过安全检查),为了适应不同大小的障碍物,在进行避障时,一般会以一个较大的距离进行偏移,导致偏移后虽然能够避开障碍物,但偏移后的智能机器人100的移动路径就可能距离路沿较远,贴边效果变差。而且在检测到基本不影响移动的小型障碍物、或者感知噪点时,也会触发避障并进行大距离的偏移操作实现避障。

本申请在测试路径没有通过安全检查时,按预定步长对测试路径进行偏移以避开障碍物,预定步长可根据最大偏移距离确定,例如最大偏移距离可根据当前场景的障碍物的大小确定,如最大的障碍物对应的最大偏移距离为0.7米(m)、0.6m、0.5m、0.4m等,预定步长可以是最大偏移距离的1/20、1/15、1/12、1/10、1/6等。下面以最大偏移距离为0.6m、预定步长为最大偏移距离的1/12(即,预定步长为0.05m)为例进行说明。

如图5所示的例子中,智能机器人100检测到障碍物z位于移动方向(如图5中的x方向)的左侧,此时若沿测试路径进行移动,显然智能机器人100会碰撞到障碍物z,此时按预定步长对测试路径a向远离障碍物z的方向(如图5中的y方向)偏移,在偏移时,先对测试路径a沿y方向偏移一个预定步长,若未通过安全检查,则继续沿y方向偏移一个预定步长,若仍旧未通过安全检查则再次沿y方向偏移一个预定步长如此直至测试路径a刚好通过安全检查,此时的偏移距离沿y方向的相反方向偏移一个预定步长就无法通过安全检查,从而保证测试路径a刚好通过安全检查的同时保证较好的贴边效果,且随着预定步长的减小,可实现更精准的路径偏移,贴边效果会更好。本申请的智能机器人100在触发避障时(如在测试路径a没有通过安全检查时),不会立刻以较大的距离进行偏移,而是按预定步长进行一次或多次偏移,直至确定一个刚好通过安全检查同时保证较好的贴边效果的偏移距离以进行避障,从而防止检查到小型障碍或感知噪点时仍以较大距离偏移测试路径a进行避障,保证贴边效果。

在测试路径/偏移后的测试路径通过安全检查后,即可将测试路径/偏移后的测试路径确定为局部最终路径,从而完成该段测试路径的规划,在智能机器人100按初始路径移动以执行清洁任务时,此时控制智能机器人100按局部最终路径移动以进行清扫任务,既可以保障避障,还能够获取较好的贴边清洁效果。在智能机器人100将整个初始路径的测试路径均进行安全检查以得到所有测试路径对应的局部最终路径后,可将所有局部最终路径按顺序平滑地连接起来,即可得到一个最终路径,使用该最终路径更新预设的初始路径,从而在下次执行当前场景的清洁任务时,重新使用更新后的初始路径进行移动。如此,每执行一次清洁任务,即可更新一次初始路径,保证初始路径始终与当前场景的最终路径的差异较小,从而使得测试路径基本都能够通过安全检查,减少偏移后需要重新进行安全检查所耗费的计算量。

本申请实施方式的路径规划方法、路径规划装置200及智能机器人100中,在测试路径未通过安全检测时,通过预定步长对测试路径进行偏移,并再次对偏移后测试路径进行安全检查,能够以偏移后的通过安全检查的测试路径作为局部最终路径来控制智能机器人100按局部最终路径进行移动,不仅降低了由于小型障碍物、感知噪点等因素的影响而触发避障的概率,而且相较于为了适应各种不同大小的障碍物均可以避让,触发避障时直接偏移较大的预定安全距离以避开障碍物而言,预定步长可设置的较小,针对不同的障碍物,适应性的进行一次或多次偏移,使得偏移后的距离刚好通过安全检查但又能够实现很好的贴边。另外,由于仅对距离智能机器人100在预定距离内的测试路径进行安全检查,数据的处理压力较小。

请参阅图6,在某些实施方式中,路径规划:

015:根据智能机器人100的轮廓信息和测试路径确定智能机器人100移动的测试行驶区域;

016:根据障碍物的轮廓信息和当前位置判断障碍物是否至少部分位于测试行驶区域内;

017:若是,则确定测试路径未通过安全检查;及

018:若否,则确定测试路径通过安全检查。

请结合图2,在某些实施方式中,处理器10还可用于实施步骤015、步骤016、步骤017、及步骤018。即,处理器10还可用于根据智能机器人100的轮廓信息和测试路径确定智能机器人100移动的测试行驶区域;根据障碍物的轮廓信息和当前位置判断障碍物是否至少部分位于测试行驶区域内;在障碍物至少部分位于测试行驶区域内时,则确定测试路径未通过安全检查;在障碍物位于测试行驶区域之外时,则确定测试路径通过安全检查。

请结合图3,在某些实施方式中,路径规划装置200还包括第三确定模块215、第一判断模块216、第四确定模块217和第五确定模块218。第三确定模块215、第一判断模块216、第四确定模块217和第五确定模块218可分别用于实施步骤015、步骤016、步骤017及步骤018。即,第三确定模块215用于根据智能机器人100的轮廓信息和测试路径确定智能机器人100移动的测试行驶区域;第一判断模块216用于根据障碍物的轮廓信息和当前位置判断障碍物是否至少部分位于测试行驶区域内;第四确定模块217用于在障碍物至少部分位于测试行驶区域内时,则确定测试路径未通过安全检查;第五确定模块218用于在障碍物位于测试行驶区域之外时,则确定测试路径通过安全检查。

具体地,智能机器人100在对测试路径进行安全检查时,主要是检查智能机器人100在测试路径上移动时是否会撞击障碍物,智能机器人100会实时对当前场景进行扫描和建模(例如建立三维地图),以建立当前场景的地图并在地图上标记障碍物的位置、形状和大小等,智能机器人100还会根据自身的物理参数(如形状、体积等)在地图上进行三维建模,在地图上标记自身的位置、形状和大小等,根据智能机器人100的物理参数即可计算得到智能机器人100的轮廓信息(如智能机器人100在地面的投影),然后模拟该投影在测试路径上进行移动扫过的区域,该区域即为测试行驶区域,然后判断障碍物的轮廓信息(如障碍物在地面的投影)是否至少部分位于测试行驶区域,在障碍物在地面的投影位于测试行驶区域内时,即可确定智能机器人100按当前的测试路径行驶时会碰撞到障碍物,此时可确定当前的测试路径未通过安全检查。而在障碍物在地面的投影位于测试行驶区域之外时,即可确定智能机器人100按当前的测试路径行驶时不会碰撞到障碍物,此时可确定当前的测试路径通过安全检查。可以理解,偏移后的测试路径进行安全检查时的原理和测试路径进行安全检查的原理是相同的,在此不再赘述。

如图7所示的例子中,智能机器人100沿x方向在测试路径a上移动时,扫过的测试行驶区域为p1区域,此时的障碍物z部分位于p1区域内,智能机器人100即可确认当前的测试路径a未通过安全检查。如图8所示,在对测试路径a进行偏移后,其测试行驶区域变为p2,此时障碍物z部分位于p1区域之外,智能机器人100即可确认当前的测试路径a通过安全检查。从而完成快速而准确地完成对测试路径a的安全检查。

在其他实施方式中,智能机器人100的轮廓信息为智能机器人100所在的三维空间区域,障碍物的轮廓信息也为障碍物所在的三维空间区域,测试行驶区域即为智能机器人100在测试路径移动时,智能机器人100所在的空间区域扫过的三维空间区域,此时可判断障碍物所在的三维空间区域是否至少部分位于测试行驶区域即可确定当前的测试路径是否通过安全检查,相较于的轮廓信息为智能机器人100和障碍物在地面的投影,会对智能机器人100和障碍物由于所处的高度不同导致两者实际并不会碰撞的情况进行误判断而言,轮廓信息为智能机器人100/障碍物所在的三维空间区域可更为准确的表示智能机器人100/障碍物的空间位置,从而更为准确的判断智能机器人100是否碰撞障碍物。

请参阅图9,在某些实施方式中,步骤013包括步骤:

0131:以第一方向按预定步长对测试路径进行一次或多次偏移。

路径规划方法还包括:

019:若以第一方向进行预定次数的偏移后,测试路径未通过安全检查,则还原第一方向的偏移并以与第一方向相反的第二方向对测试路径进行一次或多次偏移;及

020:若以第二方向进行预定次数的偏移后,测试路径仍未通过安全检查,则确定路径规划失败。

请结合图2,在某些实施方式中,处理器10可用于实施步骤0131、步骤019和步骤0120。即,处理器10可用于以第一方向按预定步长对测试路径进行一次或多次偏移、若以第一方向进行预定次数的偏移后,测试路径未通过安全检查,则还原第一方向的偏移并以与第一方向相反的第二方向对测试路径进行一次或多次偏移、及若以第二方向进行预定次数的偏移后,测试路径仍未通过安全检查,则确定路径规划失败。

请结合图3,在某些实施方式中,路径规划装置200还包括还原模块219和第六确定模块220,偏移模块213、还原模块219和第六确定模块220可分别用于实施步骤0131、步骤019和步骤20。即,偏移模块213还用于以第一方向按预定步长对测试路径进行一次或多次偏移;还原模块219用于若以第一方向进行预定次数的偏移后,测试路径未通过安全检查,则还原第一方向的偏移并以与第一方向相反的第二方向对测试路径进行一次或多次偏移;第六确定模块220用于若以第二方向进行预定次数的偏移后,测试路径仍未通过安全检查,则确定路径规划失败。

具体地,在测试路径未通过安全检查以对测试路径进行偏移时,需要先确定偏移的方向,偏移方向可以根据测试路径对应的路沿确定,例如确定远离或靠近路沿的方向为偏移方向,可以理解,障碍物可能是位于靠近路沿的区域,也可能是位于远离路沿的位置,因此,偏移方向可以是远离或靠近障碍物的方向。由于测试路径是根据路沿进行测绘得到的,其延伸方向和路沿是基本相同的,因此,偏移方向还可以根据测试路径确定,例如根据测试路径的延伸方向,将垂直于其延伸方向的方向(包括相反的第一方向和第二方向)作为偏移方向,然后以第一方向或第二方向进行偏移。

智能机器人100根据地图中测试路径的位置和测试路径两侧对应的障碍物的位置,可确定偏移后远离障碍物的方向为第一方向,优先以第一方向进行一次或多次偏移,此时一般在偏移后就会使得测试路径通过安全检查,提高路径规划的效率(如图5所示,第一方向为y方向,在向y方向偏移一个或多个预定步长后,即可使得偏移后的测试路径通过安全检查)。当然,有时候测试路径的两侧均存在障碍物时,此时的第一方向可以是远离或靠近其中一侧障碍物的方向,然后每次偏移后均对测试路径进行安全检查,若在按预定步长沿第一方向进行预定次数(预定次数可根据最大偏移距离和预定步长确定,如预定次数=最大偏移距离/预定步长)的偏移后,偏移后的测试路径仍未通过安全检查,则还原第一方向的偏移(即,恢复到未进行第一方向的偏移时的状态),重新按预定步长沿第二方向再次进行最多预定次数的偏移,若偏移后的测试路径仍未通过安全检查,即表示测试路径已经被两侧的障碍物夹在中间,智能机器人100无法通过,此时智能机器人100可确定路径规划失败,可重新进行路径规划,如确定更大的最大偏移距离再次按上述偏移过程进行偏移,直至偏移后的测试路径通过安全检查。如此,通过第一方向和第二方向的偏移,可确定既能实现避障,又具有较好贴边效果的偏移后的测试路径。

如图10所示的例子中,测试路径a的两侧均存在障碍物z,智能机器人100先以第一方向(即,y方向)对测试路径a进行了偏移,直至偏移了预定次数后,智能机器人100在偏移后的测试路径a1移动仍会碰撞到障碍物z,无法通过安全检查,然后智能机器人100再先以第二方向(即,y方向的反方向)对测试路径a进行偏移,直至偏移了预定次数,智能机器人100在偏移后的测试路径a2移动仍会碰撞到障碍物z,无法通过安全检查,此时智能机器人100能够判断当前测试路径a已经被两侧的障碍物z夹在中间,无法通过偏移以使测试路径a通过安全检查,智能机器人100判断路径规划失败,提示用户是否以更大的最大偏移距离再次进行偏移,若用户确定,则以更大的最大偏移距离(如路径规划失败时的最大偏移距离的两倍、三倍等)进行偏移,重复上述偏移过程,若再次路径规划失败,则选择更大的最大偏移距离(如路径规划失败时的最大偏移距离的四倍、五倍等),直至偏移后的测试路径a通过安全检查。

请参阅图11,在某些实施方式中,路径规划方法还包括步骤:

021:判断当前的测试路径的最终偏移距离和上一段已通过安全检查的测试路径的最终偏移距离之差是否大于预定阈值;

022:若是,则判断从上一段已通过安全检查的测试路径的最后一个路沿点之前的预设距离处是否存在路沿点;

023:在预设距离处存在路沿点时,连接预设距离处的路沿点和当前的测试路径的第一个路沿点;及

024:在预设距离处不存在路沿点时,连接智能机器人100所在的路沿点和当前的测试路径的第一个路沿点。

请结合图2,在某些实施方式中,处理器10还用于实施步骤021、步骤022、步骤023和步骤024。即,处理器10还用于判断当前的测试路径的最终偏移距离和上一段已通过安全检查的测试路径的最终偏移距离之差是否大于预定阈值;若是,则判断从上一段已通过安全检查的测试路径的最后一个路沿点之前的预设距离处是否存在路沿点;在预设距离处存在路沿点时,连接预设距离处的路沿点和当前的测试路径的第一个路沿点;及在预设距离处不存在路沿点时,连接智能机器人100所在的路沿点和当前的测试路径的第一个路沿点。

请参阅图7,在某些实施方式中,路径规划装置200还包括第二判断模块221、第三判断模块222、第一连接模块223和第二连接模块224。第二判断模块221、第三判断模块222、第一连接模块223和第二连接模块224可分别用于实施步骤021、步骤022、步骤023和步骤024。即,第二判断模块221用于判断当前的测试路径的最终偏移距离和上一段已通过安全检查的测试路径的最终偏移距离之差是否大于预定阈值;第三判断模块222用于在当前的测试路径的最终偏移距离和上一段已通过安全检查的测试路径的最终偏移距离之差大于预定阈值时,则判断从上一段已通过安全检查的测试路径的最后一个路沿点之前的预设距离处是否存在路沿点;第一连接模块223用于在预设距离处存在路沿点时,连接预设距离处的路沿点和当前的测试路径的第一个路沿点;第二连接模块224用于在预设距离处不存在路沿点时,连接智能机器人100所在的路沿点和当前的测试路径的第一个路沿点。

具体地,在相邻两段测试路径的最终偏移距离(即,使得测试路径通过安全检查的偏移距离)之差大于或等于预定阈值时,说明两段测试路径的相对位置差异较大,例如由于存在障碍物导致当前的测试路径需要偏移较大距离才能够规避障碍物,而上一段已通过安全检查的测试路径处不存在障碍物,导致从上一段已通过安全检查的测试路径过渡到当前的测试路径时,最终偏移距离发生突变,若直接连接上一段已通过安全检查的测试路径的终点和当前的测试路径起点,则规划的移动路径中相邻的测试路径连接后可能形成近似“z”字形,路径的过渡不够平滑,因此,在两者的最终偏移距离之差大于预定阈值时,判断从上一段已通过安全检查的测试路径的最后一个路沿点之前的预设距离处是否存在路沿点,在存在该路沿点时,平滑连接该路沿点和当前的测试路径的第一个路沿点,在不存在该路沿点时,平滑地连接智能机器人100当前所在的路沿点和当前的测试路径的第一个路沿点,从而平滑地连接相邻的测试路径,其中,预设距离可根据相邻两段测试路径的最终偏移距离之差确定,如预设距离为相邻两段测试路径的最终偏移距离之差的一倍、两倍等,本实施方式中,预设距离为相邻两段测试路径的最终偏移距离之差的两倍。而在相邻两段测试路径的最终偏移距离(即,使得测试路径通过安全检查的偏移距离)之差小于预定阈值时,说明两段测试路径的相对位置差异较小,此时直接平滑地连接当前的测试路径的第一个路沿点和上一段已通过安全检查的测试路径的最后一个路沿点即可。

如图12所示的例子中,将最终偏移距离之差(即d2和d1之差(如|d2-d1|),第一方向的最终偏移距离可以是正数,第二方向的最终偏移距离可以是负数,或者,第一方向的最终偏移距离可以是负数,第二方向的最终偏移距离可以是正数)大于或等于预定阈值的相邻两个测试路径a3和a4直接连接后,会使得连接后的移动路径形成“z”字形,路径的过渡不够平滑,此时智能机器人100从上一段已通过安全检查的测试路径a3的最后一个路沿点n1向前搜索,确定在预设距离处是否存在路沿点,如图13所示,若存在路沿点n3,则平滑地连接n3和当前测试路径a4的第一个路沿点n2,以将上一段已通过安全检查的测试路径a3和当前的测试路径a4平滑地连接。如图14所示,若不存在路沿点n3,则直接确定智能机器人100当前所在的路沿点n4,然后平滑地连接n4和n2,以将上一段已通过安全检查的测试路径a3和当前的测试路径a4平滑地连接。如图15所示,在相邻两段测试路径a3和a4的最终偏移距离之差(即d2和d1之差)小于预定阈值时,此时平滑地连接n1和n2即可将上一段已通过安全检查的测试路径a3和当前的测试路径a4平滑地连接。

请参阅图16,在某些实施方式中,步骤023包括步骤:

0231:根据预设距离处的路沿点的坐标及朝向角和当前的测试路径的第一个路沿点的坐标及朝向角来确定第一连接曲线,通过第一连接曲线连接预设距离处的路沿点和当前的测试路径的第一个路沿点;

步骤024包括步骤:

0241:根据智能机器人100所在的路沿点的坐标及朝向角和当前的测试路径的第一个路沿点的坐标及朝向角来确定第二连接曲线,通过第二连接曲线连接智能机器人100所在的路沿点和当前的测试路径的第一个路沿点。

请结合图2,在某些实施方式中,处理器10可用于实施步骤0231及步骤0241。即,处理器10可用于根据预设距离处的路沿点的坐标及朝向角和当前的测试路径的第一个路沿点的坐标及朝向角来确定第一连接曲线,通过第一连接曲线连接预设距离处的路沿点和当前的测试路径的第一个路沿点、及根据智能机器人100所在的路沿点的坐标及朝向角和当前的测试路径的第一个路沿点的坐标及朝向角来确定第二连接曲线,通过第二连接曲线连接智能机器人100所在的路沿点和当前的测试路径的第一个路沿点。

请结合图3,在某些实施方式中,第一连接模块223和第二连接模块224分别用于实施步骤0231和步骤0241。即,第一连接模块223还用于根据预设距离处的路沿点的坐标及朝向角和当前的测试路径的第一个路沿点的坐标及朝向角来确定第一连接曲线,通过第一连接曲线连接预设距离处的路沿点和当前的测试路径的第一个路沿点;第二连接模块224还用于根据智能机器人100所在的路沿点的坐标及朝向角和当前的测试路径的第一个路沿点的坐标及朝向角来确定第二连接曲线,通过第二连接曲线连接智能机器人100所在的路沿点和当前的测试路径的第一个路沿点。

具体地,测试路径由一个个路沿点组成,在智能机器人100的地图中,每个路沿点均包括起点坐标、终点坐标和朝向角数据,在连接上一段已通过安全检查的测试路径的最后一个路沿点之前的预设距离处的路沿点(下称第一连接路沿点)和当前的测试路径的第一个路沿点(下称第二连接路沿点)时,可根据第一连接路沿点和第二连接路沿点的起点坐标、终点坐标和朝向角数据计算得到第一连接曲线,第一连接曲线的起点和终点分别为第一连接路沿点和第二连接路沿点,从而将第一连接路沿点和第二连接路沿点平滑地连接起来,例如,设第一连接曲线为f(x)=ax3+bx2+cx+d,第一连接路沿点的起点坐标、终点坐标和朝向角分别为x0,y0和θ0,第二连接路沿点的起点坐标、终点坐标和朝向角分别为x1,y1和θ1,通过矩阵求解a、b、c和d,矩阵矩阵矩阵根据公式x=a-1*即可计算得到上述第一连接曲线f(x)。同样的,在连接智能机器人100所在的路沿点(第三连接路沿点)和第二连接路沿点时,也可根据第三连接路沿点和第二连接路沿点的起点坐标、终点坐标和朝向角数据计算得到第二连接曲线,第二连接曲线的起点和终点分别为第三连接路沿点和第二连接路沿点,从而将第三连接路沿点和第二连接路沿点平滑地连接起来,例如设第二连接曲线为f(x)=ax3+bx2+cx+d,第三连接路沿点的起点坐标、终点坐标和朝向角分别为x2,y2和θ2,则通过矩阵可求解a、b、c和d,矩阵矩阵矩阵根据公式x=a-1*b即可计算得到第二连接曲线f(x)。如此,通过两个路沿点(如预设距离处的路沿点和当前的测试路径的第一个路沿点、智能机器人100所在的路沿点和当前的测试路径的第一个路沿点)的坐标和朝向角来确定第一连接曲线和第二连接曲线,从而平滑地连接两个路沿点。

请再次参阅图2,存储器20用于存放可在处理器10上运行的计算机程序,处理器10执行程序时实现上述任一实施方式中的路径规划方法。

存储器20可能包含高速ram存储器20,也可能还包括非易失性存储器20(non-volatilememory),例如至少一个磁盘存储器20。进一步地,智能机器人100还可包括通信接口50,通信接口50用于存储器20和处理器10之间的通信。

如果存储器20、处理器10、雷达30、清洁执行装置40和通信接口50独立实现,则雷达30、清洁执行装置40、通信接口50、存储器20和处理器10可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(industrystandardarchitecture,简称为isa)总线、外部设备互连(peripheralcomponent,简称为pci)总线或扩展工业标准体系结构(extendedindustrystandardarchitecture,简称为eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果存储器20、处理器10及通信接口50,集成在一块芯片上实现,则雷达30、清洁执行装置40、存储器20、通信接口50和处理器10可以通过内部接口完成相互间的通信。

处理器10可能是一个中央处理器10(centralprocessingunit,简称为cpu),或者是特定集成电路(applicationspecificintegratedcircuit,简称为asic),或者是被配置成实施本申请实施例的一个或多个集成电路。

请参阅图17,本申请实施方式的非易失性计算机可读存储介质300包括计算机可执行指令301,当计算机可执行指令301被一个或多个处理器400执行时,使得处理器400执行本申请任一实施方式的路径规划方法。

例如,请结合图1和图2,计算可执行指令301被处理器400执行时,处理器400用于实施步骤:

011:获取预设的初始路径,初始路径包括一个或多个测试路径;

012:对初始路径中距离智能机器人100在预定距离内的测试路径进行安全检查;

013:在测试路径未通过安全检查时,按预定步长对测试路径进行一次或多次偏移;及

014:在偏移后的测试路径通过安全检查后,将偏移后的测试路径确定为局部最终路径。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器10的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器20(ram),只读存储器20(rom),可擦除可编辑只读存储器20(eprom或闪速存储器20),光纤装置,以及便携式光盘只读存储器20(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器20中。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器20中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块213中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器20,磁盘或光盘等。

在本说明书的描述中,参考术语“某些实施方式”、“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”、或“一些示例”的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个所述特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个,除非另有明确具体的限定。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。

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