发明内容
本发明实施方式的目的在于提供一种路径规划方法、机器人及计算机可读存储介质,在保证机器人拟人化的同时,减少机器人与障碍物碰撞的几率。
为解决上述技术问题,本发明的实施方式提供了一种路径规划方法,包括:根据仿生路径规划算法构建仿生运动路径;判断所述仿生运动路径上是否存在障碍物;若所述仿生运动上存在障碍物,根据避障路径规划算法构建避障运动路径,将所述避障运动路径作为目标运动路径;若所述仿生运动上不存在障碍物,将所述仿生运动路径作为所述目标运动路径。
本发明的实施方式还提供了一种机器人,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如前述的路径规划方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现前述的路径规划方法。
本发明实施方式相对于现有技术而言,对机器人进行路径规划时,首先根据仿生路径规划算法构建仿生运动路径,在仿生运动路径上不存在障碍物时,将仿生运动路径作为目标运动路径,保证机器人在沿目标运动路径运动时可以较好的保证机器人的拟人化。当仿生运动路径上存在障碍物时,将避障路径规划算法构建的避障运动路径作为目标运动路径,从而减少机器人与障碍物碰撞的几率。此外,相较于全部使用避障路径规划算法构建目标运动路径,本申请中在仿生运动路径上不存在障碍物时、将仿生运动路径作为目标运动路径,可以有效的减少运算量。
另外,所述根据仿生路径规划算法构建仿生运动路径,具体包括:获取多个已知的样本运动路径;从所述样本运动路径中获取目标样本运动路径;根据所述目标样本运动路径确定所述仿生运动路径。
另外,所述根据所述目标样本运动路径确定所述仿生运动路径,具体包括:根据所述目标样本运动路径、通过动态运动原语算法确定所述仿生运动路径。
另外,所述从所述样本运动路径中获取目标样本运动路径,具体包括:根据当前起点位置和当前终点位置建立空间三维格网;获取所述当前起点位置所处的格网作为起始格网,获取所述当前终点位置所处的格网作为终点格网;获取起点位置位于所述起始格网内、且终点位置位于所述终点格网内的样本运动路径作为采样样本运动路径;根据所述采样样本运动路径确定所述目标样本运动路径。
另外,所述根据所述采样样本运动路径确定所述目标样本运动路径,具体包括:计算各条所述采样样本运动路径与所述当前起点位置和所述终点起点位置的差值参数;获取所述差值参数最小的所述采样样本运动路径作为所述目标样本运动路径。
另外,所述计算各条所述采样样本运动路径与所述当前起点位置和所述终点起点位置的差值参数,具体包括:构建空间坐标系;根据所述采样样本运动路径的起点位置和终点位置的坐标、以及所述当前起点位置和所述当前终点位置的坐标,计算所述差值参数。
另外,所述计算所述差值参数,具体包括:根据公式Li=(xs-xsi)^2+(ys-ysi)^2+(zs-zsi)^2+(xt-xti)^2+(yt-yti)^2+(zt-zti)^2,计算所述差值参数;其中,xs、ys、zs为所述当前起点位置的坐标值,xsi、ysi、zsi为所述采样样本运动路径的起点位置的坐标值。xt、yt、zt为所述当前终点位置的坐标值,xti、yti、zti为所述采样样本运动路径的终点位置的坐标值。
另外,所述避障路径规划算法包括快速扩展随机树算法。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种路径规划方法。具体流程如图1所示,包括以下步骤:
步骤S101:根据仿生路径规划算法构建仿生运动路径。
具体的,在本实施方式中,仿生路径规划算法为动态运动原语算法。可以理解的是,仿生路径规划算法为动态运动原语算法仅为本实施方式中的一种具体的举例说明,并不构成限定,在本发明的其它实施方式中,仿生路径规划算法也可以是其它算法,具体可以根据实际需要进行灵活的选用。具体步骤如图2所示,包括:
步骤S201:获取目标样本运动路径。
具体的,在本实施方式中,首先获取多个预先记录的生物的运动路径作为样本运动路径,例如人手运动数据等。每条样本运动路径包括一个起点位置和一个终点位置。
获取当前需要规划路径的当前起点位置和当前终点位置,根据当前起点位置和当前终点位置构建三维空间格网,如图3所示。例如,可以是将当前起点位置和当前终点位置作为顶点,根据当前起点位置和当前终点位置之间的距离设置格网长、宽、高,形成三维空间格网。也可以是以预设位置为远点,根据预设的格网长、宽、高,形成覆盖当前起点位置和当前终点位置的三维空间格网,也可以是以当前起点位置或当前终点位置为原点,根据预设的格网长、宽、高,形成覆盖另一者的三维空间格网。可以理解的是,前述仅为本实施方式中构建三维空间格网的具体步骤的举例说明,并不构成限定,在本发明的其它实施方式中,也可以是其它的方法,在此不进行一一列举,具体可以根据实际需要进行灵活的设置。
构建三维空间格网后,由于三维空间格网覆盖当前起点位置和当前终点位置,获取当前起点位置所处的格网作为起始格网,获取当前终点位置所处的格网作为终点格网。从多个预先录制的已知样本运动路径中获取起点位置位于所述起始格网内、且终点位置位于所述终点格网内的样本运动路径作为采样样本运动路径。根据所述采样样本运动路径确定所述目标样本运动路径。
进一步的,当采样样本运动路径仅一条时,可以直接将其作为目标样本运动路径。当存在多条采样样本运动路径时,构建空间坐标系,根据所述采样样本运动路径的起点位置和终点位置的坐标、以及所述当前起点位置和所述当前终点位置的坐标,计算各条采样样本运动路径与当前起点位置和终点起点位置的差值参数。获取差值参数最小的采样样本运动路径作为目标样本运动路径。差值参数的计算公式如下:
Li=(xs-xsi)2+(ys-ysi)2+(zs-zsi)2+(xt-xti)2+(yt-yti)2+(zt-zti)2;
其中,Li为差值参数,xs、ys、zs为当前起点位置的坐标值,xsi、ysi、zsi为采样样本运动路径的起点位置的坐标值。xt、yt、zt为当前终点位置的坐标值,xti、yti、zti为采样样本运动路径的终点位置的坐标值。获取Li最小的采样样本运动路径作为目标样本运动路径。
步骤S202:根据目标样本运动路径确定仿生运动路径。
具体的,在本步骤中,将目标样本运动路径输入动态运动原语算法中,根据动态运动原语算法规划形成仿生运动路径。
以机械臂进行抓握时的路径规划为例,在对目标物体进行抓握时,首先将目标物体的位置设置为当前终点位置,但在当前终点位置确定的情况下,从目标物体的正面进行抓握和从目标物体的侧面进行抓握会导致抓握时的最终姿态不同,整体的运动路径也不同。因此,本申请中通过动态运动原语算法生成笛卡尔空间轨迹并平均速度矢量来自动确定最终方向,以计算运动结束时的逼近方向,从而确定最终的仿生运动路径。
步骤S102:判断仿生运动路径上是否存在障碍物,若是,执行步骤S103;若否,执行步骤S104。
具体的,在规划形成仿生运动路径后,根据视觉检测、红外检测等检测方法获取环境障碍物信息。根据仿生运动路径和障碍物信息进行碰撞检测,预测机器人或机械臂沿仿生运动路径自当前起点位置运动至当前终点位置的过程中是否会与障碍物发生碰撞,若预测不会发生碰撞,则仿生运动路径上不存在障碍物,执行步骤S103;若预测会发生碰撞,则仿生运动路径上存在障碍物,执行步骤S104。
步骤S103:根据避障路径规划算法构建避障运动路径,将避障运动路径作为目标运动路径。
具体的,在本实施方式中,避障路径规划算法为快速扩展随机树算法。可以理解的是,避障路径规划算法为快速扩展随机树算法仅为本实施方式中的一种具体的举例说明,并不构成限定,在本发明的其它实施方式中,也可以是其它算法,如人工势场法、模糊规则法、遗传算法、神经网络、模拟退火算法、蚁群优化算法等,在此不进行一一列举,具体可以根据实际需要进行灵活的选用。具体步骤如图4所示,包括以下步骤:
步骤S401:以当前起点位置为根节点,构建随机树。
具体的,如图5所示,201和202均为障碍物,1号位置为起始位置,以1号位置为根节点,构建随机树。
步骤S402:对随机树进行扩展。
具体的,在本步骤中,对随机树进行扩展的具体步骤如图6所示,包括:
步骤S601:获取随机树中的一个节点作为父节点、并随机生成采样点。
具体的,如图5所示,以1号节点作为父节点,在1号节点周围随机生成多个采样点2。可理解的是,在本步骤中,采样点的个数可以是一个,也可以是多个,具体可以根据实际需要进行灵活的设定。
优选的,在本实施方式中,采样点与父节点的距离小于或等于预设距离,即在父节点周围的一定范围内生成采样点。在父节点周围的预设空间范围内生成采样点,可以避免采样点与父节点的距离过远,提升采样点的有效率,提升随机树的扩展效率。
步骤S602:构建父节点与采样点之间的运动路径。
进一步的,如图2所示,直接构建父节点(1号节点)与采样点(多个2号节点)之间的直线段作为运动路径。
步骤S603:判断父节点与采样点之间的运动路径上是否存在障碍物,若否,则执行步骤S604,若是,则执行步骤S601。
如图5所示,针对每个2号节点,其与1号节点之间均存在运动路径,部分运动路径上存在障碍物(如,障碍物201和202),部分运动路径上不存在障碍物,当运动路径上不存在障碍物时,执行步骤S604,当运动路径上存在障碍物时,执行步骤S601。
具体的,在本步骤中,首先利用实感摄像头获取运动路径所在区域内空间的深度图像,并从深度图像中获取障碍物位置。构建空间障碍物模型,然后模拟可移动装置自父节点运动至采样点的运动过程。在模拟的运动过程中,对可移动装置与障碍物进行碰撞检测,若在碰撞检测中检测到可移动装置不与障碍物发生碰撞,则判定运动路径上不存在障碍物。可以理解的是,利用深度图像获取障碍物位置仅为本实施方式中的一种具体的举例说明,并不构成限定,在实际应用过程中,还可以是利用红外雷达、声波雷达等装置获取障碍物的位置,在此不进行一一列举,具体可以根据实际需要进行灵活的设定。
步骤S604:将采样点作为叶子节点加入随机树。
步骤S403:判断随机树是否扩展至当前终点位置,若是,则执行步骤S404,若否,则执行步骤S402,继续对随机树进行扩展。
具体的,在本步骤中,将采样点作为叶子节点加入随机树后,获取采样点与当前终点位置之间的目标路径,并判断目标路径上是否存在障碍物,若目标路径上不存在障碍物,则将当前终点位置加入所述随机树,执行步骤S404,若目标路径上存在障碍物,则执行步骤S402。如图5所示,在图5中,8号节点为当前终点位置,当扩展到7号节点时,获取7号节点和当前终点位置(8号节点)之间的路径作为目标路径,判断目标路径上是否存在障碍物,在图5中,由于7号节点和8号节点之间的路径上不再存在障碍物,则执行步骤S404,反之,当扩展到6号节点时,由于6号节点与8号节点之间的路径上存在障碍物,则执行步骤S402。可以理解的是,上述仅为本实施方式中的一种具体的举例说明,并不构成限定,在本发明的其它实施方式中,也可以是设置当前终点位置周围、没有障碍物的区域作为目标区域,当叶子节点位于目标区域内时,则判定随机树扩展至当前终点位置,执行步骤S404,否则,执行步骤S402。或者也可以是其它方法,在此不进行一一列举,具体可以根据实际情况进行灵活的应用。
步骤S404:连接根节点与目标位置之间的叶子节点、形成避障运动路径。
具体的,在本实施方式中,依次连接根节点与目标位置之间的叶子节点、形成避障运动路径。
步骤S104:将仿生运动路径作为目标运动路径。
具体的,在本实施方式中,当仿生运动路径上不存在障碍物时,直接将仿生运动路径作为目标运动路径。
与现有技术相比,本发明第一实施方式所提供的路径规划方法中,对机器人进行路径规划时,首先根据仿生路径规划算法构建仿生运动路径,在仿生运动路径上不存在障碍物时,将仿生运动路径作为目标运动路径,保证机器人在沿目标运动路径运动时可以较好的保证机器人的拟人化。当仿生运动路径上存在障碍物时,将避障路径规划算法构建的避障运动路径作为目标运动路径,从而减少机器人与障碍物碰撞的几率。此外,相较于全部使用避障路径规划算法构建目标运动路径,本申请中在仿生运动路径上不存在障碍物时、将仿生运动路径作为目标运动路径,可以有效的减少运算量。
本发明第二实施方式涉及一种移动机器人,如图7所示,包括:至少一个处理器701;以及,与至少一个处理器701通信连接的存储器702;其中,存储器702存储有可被至少一个处理器701执行的指令,指令被至少一个处理器701执行,以使至少一个处理器701能够执行如上述的路径规划方法。
其中,存储器702和处理器701采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器701和存储器702的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器701处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器701。
处理器701负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器702可以被用于存储处理器701在执行操作时所使用的数据。
本发明第三实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。