一种机器人路径规划方法、机器人、电子设备及存储介质
技术领域
本发明实施例涉及通信领域,特别涉及一种机器人路径规划方法、机器人、电子设备及存储介质。
背景技术
随着计算机技术、传感器技术及机器人技术的迅速发展,机器人自主导航技术也取得了很大进展。进行自主导航的路径规划过程中,状态栅格搜索算法在现阶段的机器人局部路径规划导航算法中具有明显的优势。相比于基于优化的局部路径规划算法(teb_local_planner)状态栅格搜索算法生成的路径更加稳定、算法效率更高。相比与应用最广的动态窗口法(dwa_local_planner)状态栅格算法生成的路径更加灵活,能够找到居于局部地图的最优解。
发明人发现相关技术中至少存在如下问题:算法的目标点在障碍物上时,算法会自动跳过该栅格,无法建立所需的启发值栅格地图,在地图分辨率较高的时候,算法的耗时难以控制。
发明内容
本发明实施方式的目的在于提供一种机器人路径规划方法、机器人、电子设备及存储介质,提高导航过程中路径规划的能力以及准确性,并且保证路径规划的效率。
为解决上述技术问题,本发明的实施方式提供了一种机器人路径规划方法,包括:获取机器人在人工势场栅格图中的目标点;其中,人工势场栅格图由根据局部地图生成的基础栅格地图与根据障碍物生成的障碍物代价地图叠加形成;获取预设时长后机器人备选的多个位姿点,并根据各位姿点到达目标点的路径代价确定目标位姿点,其中,目标位姿点为路径代价最小的位姿点;根据目标位姿点的状态信息生成目标路径。
本发明的实施方式还提供了一种机器人,包括:获取模块,用于获取机器人在人工势场栅格图中的目标点;其中,人工势场栅格图由根据局部地图生成的基础栅格地图与根据障碍物生成的障碍物代价地图叠加形成;确定模块,用于获取预设时长后机器人备选的多个位姿点,并根据各位姿点到达目标点的路径代价确定目标位姿点,其中,目标位姿点为路径代价最小的位姿点;控制模块,用于根据目标位姿点的状态信息生成目标路径。
本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的机器人路径规划方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的机器人路径规划方法。
本发明实施方式相对于现有技术而言,在人工势场栅格图中,根据机器人预设时长后备选的多个位姿点中到达目标点路径代价最小的位姿点的状态信息进行路径的生成,通过在基于局部地图生成的基础栅格地图与根据障碍物生成的障碍物代价地图叠加生成人工势场栅格图中进行路径规划,避免了机器人的目标点处于障碍物上时,无法生成启发式栅格地图,进而无法实现路径规划的问题;计算机器人预设时长后可能到达的多个备选的位姿点,并根据备选的位姿点中到达目标点路径代价最小的目标位姿点的状态信息,生成机器人的目标路径,降低了路径规划过程中的计算难度,不仅保证了计算出的目标路径是到达目标点的最优路径,同时也保证了路径规划过程的效率。
另外,根据目标位姿点的状态信息生成目标路径,包括:检测目标位姿点是否满足预设停止生成路径条件;若目标位姿点满足预设停止生成路径条件,则根据目标位姿点的状态信息,生成从机器人初始位置到达目标位姿点的目标路径;若目标位姿点不满足预设停止生成路径条件,则将目标位姿点作为机器人的当前位置,将机器人在当前位置经过预设时长后可能的位姿点添加到机器人的位姿点序列中,从位姿点序列包含的未担任过目标位姿点的剩余位姿点中确定新的目标位姿点,直到目标位姿点满足预设停止生成路径条件;其中,位姿点序列包含已计算出的机器人在不同位置的所有备选位姿点。通过预设停止生成路径条件对目标位姿点进行检测,在目标位姿点不满足预设停止生成路径条件的时候,获取机器人在以当前位置为起点,预设时长后备选的多个位姿点,并结合之前得到的备选的位姿点,在未担任过目标位姿点的所有位姿点中选取出新的目标位姿点,实现对目标位姿点确定的管控,保证了根据目标位姿点状态信息生成的目标路径是最优路径的同时提高路径生成效率。
另外,预设停止生成路径条件包括以下任一或其任意组合:根据目标位姿点状态信息生成的目标路径的长度大于预设阈值、确定目标位姿点的次数大于预设门限、目标路径已经到达目标点。通过生成路径的距离及目标位姿点的选取次数作为停止生成路径条件,保证路径规划的用时可控,根据路径是否到达目标点作为停止生成路径条件保证了规划出的最优路径能够直接准确的到达目标点。
另外,人工势场栅格图由根据局部地图生成的基础栅格地图与根据障碍物生成的障碍物代价地图叠加形成,包括:根据局部地图的尺寸及分辨率建立启发值栅格地图;将传感器获取的障碍物点云并放入启发值栅格地图中;通过对障碍物点进行膨胀,得到障碍物代价地图,并与原始的启发值栅格地图叠加生成人工势场栅格地图。通过叠加原始的栅格地图与包含障碍物代价的障碍物代价地图,为障碍物占据的栅格点添加障碍物路径代价,生成人工势场栅格图,从而利用人工势场栅格图实现对针对处于任意位置的目标点的路径规划。
另外,根据机器人当前的运动状态数据,计算预设时长后机器人备选的多个位姿点,包括:根据机器人在各位姿点的平均角速度及平均线速度,确定机器人到达各位姿点的曲率半径及机器人在各位姿点的朝向角;根据机器人的初始位姿信息、各位姿点对应的曲率半径及机器人在各位姿点的朝向角,确定各位姿点的位姿信息;根据各位姿点的位姿信息,确定预设时长后机器人备选的多个位姿点。通过根据机器人当前的运动状态数据,对预设时长后机器人可能到达的多个位姿点进行预测,保证了得到的机器人备选的多个位姿点的准确性。
另外,根据机器人当前的运动状态数据,计算预设时长后机器人备选的多个位姿点,包括:根据以下公式计算机器人的备选位姿点Si(xnewi,ynewi,yawnewi);
其中,S
i为机器人第i个备选的位姿点,
为机器人在第i个位姿点的X轴索引,
为机器人在第i个位姿点的Y轴索引,
为机器人在第i个位姿点的朝向角,
为机器人第i个位姿点的平均线速度,v
0为机器人初始的线速度,vel
i为机器人在第i个位姿点的线速度,
为机器人在第i个位姿点的平均角速度,w
0为机器人初始的角速度,phi
i为机器人在第i个位姿点的角速度,
为机器人到达第i个位姿点时运动的曲率半径,yaw
0为机器人初始的朝向角,t为预设时长,y
0为机器人初始位置的Y轴索引x
0为机器人初始位置的X轴索引。通过根据预设的公式结合机器人的运动状态数据对机器人预设时长后备选的各位姿点进行计算,保证了得到的位姿点的信息的准确性,进而保证了根据目标位姿点状态信息进行路径规划时得到的目标路径的准确性。
另外,phii根据机器人的初始角速度及机器人到达各位姿点的角加速度计算得到;veli根据机器人的初始线速度及机器人到达各位姿点的线加速度计算得到。根据机器人当前的速度信息和加速度信息,对机器人预设时长后的速度和加速度进行准确预测,保证了得到的位姿信息计算结果的准确性。
另外,在根据各位姿点到达目标点的路径代价确定目标位姿点前,还包括:根据各位姿点的运动路径代价及障碍物路径代价,确定各位姿点的路径代价。通过运动过程中的运动路径代价和运动路径上由于障碍物带来的障碍物路径代价对位姿点路径代价进行准确衡量,保证了目标位姿点选取时的准确性。
另外,在根据各位姿点的运动路径代价及障碍物路径代价,确定各位姿点的路径代价前,还包括:根据机器人到达位姿点的第一运动路径代价、位姿点到达目标点的第二运动路径代价,确定位姿点的运动路径代价;根据机器人到达位姿点的第一障碍物路径代价、位姿点到达目标点的第二障碍物路径代价,确定位姿点的障碍物路径代价。通过结合运动到位姿点及从位姿点运动到目标点的运动路径代价及障碍物路径代价之和,对位姿点到达目标点的路径代价进行准确的衡量,保证了生成的目标路径为最优路径。
另外,根据机器人到达位姿点的第一运动路径代价、位姿点到达目标点的第二运动路径代价,确定位姿点的运动路径代价,包括:根据机器人起始点的栅格坐标及位姿点对应的栅格坐标,确定机器人到达位姿点的等效运动距离;根据等效运动距离及单位运动代价确定第一运动路径代价。通过根据运动的起点坐标和终点坐标对运动过程中的等效路径进行准确衡量,然后结合单位移动代价确定第一运动路径代价,保证了计算出的机器人运动过程中的运动路径代价的准确性。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明第一实施方式中的路径生成方法流程图;
图2是根据本发明第二实施方式中的路径生成方法流程图;
图3是根据本发明第二实施方式中的目标路径生成示意图;
图4是根据本发明第三实施方式中的机器人结构示意图;
图5是根据本发明第四实施方式中的电子设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施方式涉及一种机器人路径规划方法,本实施方式应用在机器人中,例如具有自动导航能力的机器人、无人驾驶汽车、导航巡逻的无人飞行器等。在本实施方式中,获取机器人在人工势场栅格图中的目标点;其中,人工势场栅格图由根据局部地图生成的基础栅格地图与根据障碍物生成的障碍物代价地图叠加形成;获取预设时长后机器人备选的多个位姿点,并根据各位姿点到达目标点的路径代价确定目标位姿点,其中,目标位姿点为路径代价最小的位姿点;根据目标位姿点的状态信息生成目标路径,通过在生成的人工势场栅格图中进行路径规划,避免了机器人的目标点处于障碍物上时,无法生成启发式栅格地图,进而无法实现路径规划的问题;计算机器人预设时长后备选的多个位姿点,并根据备选的位姿点中到达目标点路径代价最小的目标位姿点的状态信息,生成机器人的目标路径,降低了路径规划过程中的计算难度,不仅保证了计算出的目标路径是到达目标点的最优路径,同时也保证了路径规划过程的效率。本实施方式以机器人为具有自动导航能力的机器人为例进行说明。
下面对本实施方式的一种机器人路径规划方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
本实施方式中的一种机器人路径规划方法的具体流程如图1所示,具体包括以下步骤:
步骤101,获取机器人在人工势场栅格图中的目标点。
具体地说,机器人中的处理器在进行到达目标点的路径规划前,先获取机器人在人工势场栅格图中的目标点;其中,人工势场栅格图由根据局部地图生成的基础栅格地图与根据障碍物生成的障碍物代价地图叠加形成。
在一个例子中,对带有激光和超声波传感器的机器人进行自主导航,进行导航前处理器获取导航区域的人工势场栅格图,然后根据人工势场栅格图的信息与目标点相对机器人的位置,在人工势场栅格图中确定出机器人的目标点。
在实际应用中,人工势场栅格图可以是处理器从存储装置中读取的,也可以是根据获取到的局部地图实时生成的,人工势场栅格图的具体生成方法为:根据局部地图的尺寸及分辨率建立启发值栅格地图;将传感器获取的障碍物点云并放入启发值栅格地图中;通过对障碍物点进行膨胀,得到障碍物代价地图,并与原始的启发值栅格地图叠加生成人工势场栅格地图。
例如,机器人进行导航时,先实时生成导航区域的人工势场栅格图。在一个实施例中,根据获取到局部地图后,根据局部地图的尺寸与分辨率,按照以下公式确定栅格地图中的栅格尺寸girdsize:
在计算出的栅格地图的栅格尺寸后,建立局部地图对应的启发值栅格地图,并将栅格地图以数组的形式进行存储,然后将传感器获取到的障碍物点云放入到生成的启发值栅格地图中,即,在栅格地图中标记出传感器检测到的障碍物的具***置,检测到机器人、障碍物都为圆形,根据障碍物和机器人的尺寸比例对障碍物进行膨胀后,以障碍物对应的栅格点为中心,其周边相邻的栅格点都在障碍物的覆盖范围内,则为障碍物所在的栅格点及其周边相邻的各栅格点都添加相同的障碍物代价,从而得到附加有障碍物代价的人工势场栅格图。
得到导航区域的人工势场栅格图后,获取目标点相对机器人的位置(mapx,mapy),计算目标点在栅格地图中的X、Y轴索引(cellgx,cellgy)。
然后将目标点相对机器人的位置(mapx,mapy),计算出的栅格尺寸girdsize,都带入到如下的公式中,计算出目标点在栅格地图中的X、Y轴索引(cellgx,cellgy):
根据计算出的结果,确定目标点在栅格地图中的具***置。
在实际应用中,可以根据实际情况和需要对计算目标点在栅格地图中的X、Y轴索引的公式进行变更和选择,本实施方式对具体的计算方法不做限制。
步骤102,根据机器人备选的多个位姿点的路径代价确定目标位姿点。
具体地说,在确定出机器人目标点在人工势场栅格图中的具***置后,获取预设时长后机器人备选的多个位姿点,并根据各位姿点到达目标点的路径代价确定目标位姿点,其中,目标位姿点为路径代价最小的位姿点。
在一个例子中,确定机器人目标点的具***置后,先根据机器人当前的运动状态数据,计算预设时长后所述机器人可能到达的多个备选位姿点。机器人的运动状态数据包括以下任一或任意组合:位姿信息、线速度、角速度、最大线加速度、最大角加速度、最大线速度、最小线速度、最大角速度、最小角速度等。然后根据各位姿点到达目标点的路径代价,将路径代价最小的位姿点作为目标位姿点。
例如,根据机器人当前的运动状态数据确定出机器人预设时长后可能的6个位姿点后,在人工势场栅格图中确定出这6个可能的位姿点对应的栅格坐标,然后分别根据机器人到达各位姿点的第一运动路径代价、位姿点到达目标点的第二运动路径代价,确定位姿点到达目标点的运动路径代价;根据机器人到达各位姿点的第一障碍物路径代价、位姿点到达目标点的第二障碍物路径代价,确定位姿点的障碍物路径代价;然后根据各位姿点的运动路径代价及障碍物路径代价,确定各位姿点的路径代价。确定各位姿点路径代价时,可以根据以下公式对运动路径代价及障碍物路径代价进行求和:
Cost[i]=cost[i]+costmap[i]
其中,Cost[i]为第i个位姿点的路径代价,cost[i]为第i个位姿点的运动路径代价,costmap[i]为第i个位姿点的障碍物路径代价。
获取到各位姿点的路径代价后,将各位姿点的状态信息按照各位姿点在人工势场中的值,即对应的路径代价从小到大的顺序存储到待访问队列queue中,将待访问队列中的首个位姿点作为目标位姿点。
在实际应用中,可以根据实际情况或需要对各位姿点的路径代价的计算公式进行更改和设置,本实施方式对路径代价的具体确定方法不做限制。
步骤103,根据目标位姿点的状态信息生成目标路径。
具体地说,在根据各位姿点的路径代价确定出目标位姿点后,根据目标位姿点对应的栅格坐标、机器人在目标位姿点的朝向、目标位姿点到达机器人初始位置的路径中包含的各中间节点的位姿信息等,回溯目标位姿点,生成机器人从初始位置到达目标位姿点的目标路径。
由此,本实施方式提供了一种机器人路径生成方法,在进行达到目标点的路径规划时,根据路径规划所处的区域,按照局部地图生成栅格地图,并与障碍物代价地图叠加形成的人工势场栅格图,避免了障碍物过多时路径规划效率很低的问题,并且避免了目标点处于障碍物上时无法进行路径的规划的问题;根据机器人的运动状态数据获取机器人预设时长后可能到达的多个备选位姿点,保证了能够准确的对机器人的运动进行预测;根据各位姿点的运动路径代价及障碍物路径代价确定各位姿点的路径代价,保证了对各位姿点对应的路径代价进行准确的衡量;根据路径代价最小的位姿点生成目标路径,保证了得到的路径为最优的路径。
本发明的第二实施方式涉及一种机器人路径规划方法,本实施方式和第一实施方式大致相似,在本实施方式中,根据满足预设停止生成路径条件的目标位姿点进行路径生成,在保证生成的路径为最优路径的同时,进一步保证路径生成的效率;在进行机器人预设时长后备选的多个位姿点的预测时,根据预设的公式对特定状态下的位姿点信息进行计算,保证位姿点信息确定的效率;进行运动路径代价的计算时,根据运动过程的等效距离与单位运动代价进行计算,保证得到的运动路径代价的准确性,进一步保证确定出的目标路径为最优路径。
本实施方式中的机器人路径规划方法的具体流程如图2所示,具体包括以下步骤:
步骤201,获取机器人在人工势场栅格图中的目标点。
本实施方式中的步骤201和第一实施方式中的步骤101相似,在此就不再赘述。
步骤202,根据机器人备选的多个位姿点的路径代价选取目标位姿点。
具体地说,在确定出机器人目标点在人工势场栅格图中的具***置后,获取预设时长后机器人备选的多个位姿点,并根据各位姿点到达目标点的路径代价确定目标位姿点,其中,目标位姿点为路径代价最小的位姿点。
在一个例子中,处理器先根据机器人当前的运动状态数据,对机器人在预设时长内进行匀速运动、加速运动、减速运动分别可能到达的三个备选位姿点进行计算,根据机器人在各位姿点的平均角速度及平均线速度,确定机器人到达各位姿点的曲率半径及机器人在各位姿点的朝向角;根据机器人的初始位姿信息、各位姿点对应的曲率半径及机器人在各位姿点的朝向角,确定各位姿点的位姿信息;根据各位姿点的位姿信息,确定机器人在预设时长后备选的多个位姿点。例如,先根据如下公式计算机器人在预设时长后可能到达的备选位姿点中的的第一位姿点、第二位姿点及第三位姿点的线速度与角速度:
vel1=vo+lineacc*dt
vel2=v0
vel3=v0-lineacc*dt
phi1=w0+angleacc*dt
phi2=w0
phi3=w0-angleacc*dt
其中,vel1为机器人在第一位姿点的线速度,vel2为机器人在第二位姿点的线速度,vel3为机器人在第三位姿点的线速度,phi1为机器人在第一位姿点的角速度,phi2为机器人在第二位姿点的角速度,phi3为机器人在第三位姿点的角速度,lineacc为机器人的最大线加速度,angleacc为第一机器人的最大角加速度。第一位姿点为机器人进行加速运动可能的位姿点、第二位姿点为机器人进行匀速运动可能的位姿点、第三位姿点为机器人进行减速运动可能的位姿点。
在实际应用中,可以根据路径规划需要对机器人备选的多个位姿点的数量、各位姿点的角速度及线速度的组合方式与计算方法进行更改和设置,本实施方式对于机器人在预设时长后可能的位姿点的具体预测方法不做限制。
在获取到机器人预设时长后备选的多个位姿点的角速度与线速度后,根据以下公式计算预设时长后,机器人备选的位姿点Si(xnewi,ynewi,yawnewi):
其中,其中,S
i为机器人第i个备选的位姿点,
为机器人在第i个位姿点的X轴索引,
为机器人在第i个位姿点的Y轴索引,
为机器人在第i个位姿点的朝向角,
为机器人第i个位姿点的平均线速度,v
0为机器人初始的线速度,vel
i为机器人在第i个位姿点的线速度,
为机器人在第i个位姿点的平均角速度,w
0为机器人初始的角速度,phi
i为机器人在第i个位姿点的角速度,
为机器人到达第i个位姿点时运动的曲率半径,yaw
0为机器人初始的朝向角,t为预设时长,y
0为机器人初始位置的Y轴索引x
0为机器人初始位置的X轴索引。
根据计算结果确定出机器人备选的多个位姿点的位姿信息后,根据各位姿点的运动路径代价及障碍物路径代价确定各位姿点的路径代价。确定运动路径代价时,获取机器人预设时长后各备选位姿点对应的栅格坐标以及机器人初始位置的栅格坐标,根据机器人起始点的栅格坐标及位姿点对应的栅格坐标,确定机器人到达各位姿点的等效运动距离;根据等效运动距离及单位运动代价确定第一运动路径代价。例如,根据以下公式计算机器人出起始点运动到位姿点的运动路径代价:
numx=abs(Ax-Bx)
numy=abs(Ay-By)
M=max(numx,numy)
N=min(numx,numy)
cost[L]=neutralcost*L
其中,Ax为机器人初始位置的X轴索引,Bx为位姿点的X轴索引,numx为起点A的X轴索引与终点B的X轴索引差的绝对值,numy为起点A的Y轴索引与终点B的Y轴索引差的绝对值,L为机器人从初始位置运动到位姿点的等效运动距离,neutralcost为单位移动代价。
获取到第一运动路径代价后,可以根据目标点对应的栅格坐标和位姿点对应的栅格坐标实时计算出各位姿点到达目标点的等效运动距离,进而确定出第二运动路径代价。
在实际应用中,还可以在建立人工势场栅格图的过程中,直接计算出各栅格点到达目标点的运动路径代价,进行位姿点运动路径代价计算的时候,将各位姿点对应的栅格点预存的运动路径代价作为各位姿点的第二运动路径代价,本实施方式对第二运动路径代价的具体获取方式不做限制。
在获取到各位姿点的运动路径代价后,结合人工势场栅格图中预存的各栅格点的障碍物代价确定出各位姿点到达目标点的路径代价,将路径代价最小的位姿点作为目标位姿点。
步骤203,检测目标位姿点是否符合预设停止生成路径条件,若符合预设停止生成路径条件,则进入步骤205,若不符合预设停止生成路径条件,则进入步骤204。
具体地说,在获取到目标位姿点后,检测目标位姿点是否满足预设停止生成路径条件;若目标位姿点满足预设停止生成路径条件,则进入步骤205,根据目标位姿点的状态信息,生成从机器人初始位置到达目标位姿点的目标路径;若目标位姿点不满足预设停止生成路径条件,则进入步骤204,将目标位姿点作为机器人的当前位置,将机器人在当前位置经过预设时长后可能的位姿点添加到机器人的位姿点序列中,从位姿点序列包含的未担任过目标位姿点的剩余位姿点中确定新的目标位姿点,直到目标位姿点满足预设停止生成路径条件;其中,位姿点序列包含已计算出的机器人在不同位置的所有备选位姿点。
在实际应用中,预设停止生成路径条件包括以下之一或其任意组合:根据目标位姿点状态信息生成的目标路径的长度大于预设阈值、目标位姿点的确定次数大于预设门限、目标路径已经到达目标点。
在一个例子中,预设的路径生成条件为目标路径的长度大于预设阈值,对目标位姿点进行检验时发现,若根据当前目标位姿点的状态信息能够生成的路径的长度不大于预设阈值,则判定当前的目标位姿点不符合路径生成条件,进入步骤204,若根据当前目标位姿点的状态信息能够生成的路径的长度大于预设阈值,则判定当前的目标位姿点符合路径生成条件,进入步骤205。
在实际应用中,还可以根据实际情况和需要设置路径生成条件,本实施方式对路径生成条件不做限制。
步骤204,更新机器人的位姿点序列。
具体地说,在检测到当前目标位姿点不满足预设停止生成路径条件的时候,将当前的目标位姿点作为机器人的当前位置,计算机器人在预设时长内从当前目标位姿点出发,可能到达的位姿点,并将获取到的位姿点添加到机器人可能的位姿点序列中,对机器人可能的位姿点序列进行更新,然后回到步骤203,从未担任过目标位姿点的各位姿点中重新确定目标位姿点,直到确定出的目标位姿点满足预设停止生成路径条件。
步骤205,根据目标位姿点的状态信息生成目标路径。
具体地说,在获取目标位姿点后,根据目标位姿点对应的栅格坐标、机器人在目标位姿点的朝向、目标位姿点到达机器人初始位置的路径中包含的各中间节点的位姿信息等,回溯目标位姿点,生成机器人从初始位置到达目标位姿点的目标路径。
在一个例子中,机器人从初始位置到达目标点的路径规划过程示意图如图3所示,其中,L为机器人的初始位置,S为机器人的目标点,预设停止生成路径条件为目标路径已经到达目标点,则先根据机器人的运动状态数据,确定经过一个预设时长后机器人可能到达的3个备选位姿点,通过计算,机器人在预设时长后可能到达的备选位姿点为A1、A2和A3。分别获取三个位姿点到达目标点S的路径代价,通过比较,位姿点A3的路径代价最小,则将位姿点A3作为目标位姿点,由于位姿点A3为终点生成的路径无法到达目标点S,则将位姿点A3作为起点,重新计算出机器人在一个预设时长后可能达到的三个位姿点。通过计算,以A3为起点,在预设时长后机器人的3个备选位姿点为B1、B2和B3,然后在A1、A2、B1、B2和B3中,选取路径代价最小的位姿点作为目标位姿点,通过比较得到路径代价最小的位姿点为B2,然后对位姿点B2是否满足预设停止生成路径条件进行校验,由于B2也不满足停止生成路径条件,则计算以B2为起点,一个预设时长后机器人的备选位姿点,并在未担任过目标位姿点的各位姿点中选取目标位姿点,通过检验,C2作为目标位姿点生成的路径能够达到目标点S,则根据位姿点C2的位姿信息及上级节点的信息,回溯位姿点C2,得到机器人从初始位置L经过位姿点A3、位姿点B2、位姿点C2到达目标点S的目标路径。
由此,本实施方式提供了一种机器人路径规划方法,在进行目标路径规划的过程中,通过对目标位姿点的校验,实现对目标路径生成的管控,保证了生成的目标路径是最优路径的同时提高路径生成效率;通过预设的公式结合运动状态数据进行位姿点的预测,保证了得到的位姿点信息的准确性,进而保证路径规划的准确性;通过等效运动距离和单位运动代价准确的对运动路径代价进行计算,保证了对位姿点路径代价的准确衡量,避免路径代价计算不准确导致路径规划效果下降;通过选取部分机器人常见的运动状态数据,对机器人预设时长后的位姿点进行预测,极大的提升了整个路径规划过程的效率。
此外,本领域技术人员可以理解,上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明的第三实施方式涉及一种机器人,如图4所示,包括:获取模块401、确定模块402和控制模块403,其中,获取模块401用于获取机器人在人工势场栅格图中的目标点;其中,所述人工势场栅格图由根据局部地图生成的基础栅格地图与根据障碍物生成的障碍物代价地图叠加形成;确定模块402用于获取预设时长后所述机器人备选的多个位姿点,并根据各所述位姿点到达所述目标点的路径代价确定目标位姿点,其中,所述目标位姿点为路径代价最小的位姿点;控制模块403用于根据目标位姿点的状态信息生成目标路径。
不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第四实施方式涉及一种电子设备,如图5所示,包括至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行上述的机器人路径规划方法。
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,***接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本发明第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。