一种路径导航方法和芯片及机器人转让专利

申请号 : CN201710770767.6

文献号 : CN107560620B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李永勇

申请人 : 珠海市一微半导体有限公司

摘要 :

本发明涉及一种路径导航方法和芯片及机器人,通过对现有路径搜索算法所搜索出来的预行进路径进行优化,将所述预行进路径上与障碍单元靠近的栅格单元所对应的预行进位置点进行偏移,最终形成与障碍单元相隔一定距离的行进路径,机器人按所述行进路径行进,不容易碰到障碍物,提高了行进效率,同时,不影响从当前位置点到目标位置点的导航,导航更准确,效率更高。

权利要求 :

1.一种路径导航方法,其特征在于,包括如下步骤:搜索栅格地图,确定由预行进位置点连接的从当前位置点到目标位置点的路径为预行进路径;

基于当前位置点所对应的当前栅格单元,确定在预行进路径方向上的下一个栅格单元为路径参考单元;

判断所述路径参考单元在垂直预行进路径方向的任意一侧的预设距离内的栅格单元是否为障碍单元;

如果否,则将所述路径参考单元所对应的所述预行进位置点作为行进位置点;

如果是,则判断另一侧的在预设距离内的栅格单元是否为障碍单元;

如果否,则将与所述路径参考单元所对应的所述预行进位置点在远离障碍单元的方向偏移设定距离的位置点作为行进位置点;

如果是,则将所述路径参考单元所对应的所述预行进位置点作为行进位置点;

接着,以再下一个栅格单元作为路径参考单元进行判断,以此类推,至所判断的栅格单元为所述目标位置点所在的栅格单元,则结束判断;

确定由行进位置点连接的从当前位置点到目标位置点的路径为行进路径。

2.根据权利要求1所述的方法,其特征在于:所述预设距离为两个栅格单元的长度之和;

和/或,

所述设定距离为一个栅格单元的长度的一半或者四分之一。

3.根据权利要求1或2所述的方法,其特征在于,还包括如下步骤:如果所述路径参考单元的前方的预设距离内的栅格单元为障碍单元,则判断在垂直预行进路径方向的任意一侧的预设距离内的栅格单元是否为障碍单元;

如果是,则将所述路径参考单元所对应的预行进位置点在第一预设方向偏移设定距离的位置点作为行进位置点,其中,所述第一预设方向为远离侧边障碍单元的方向和远离前方障碍单元的方向的合方向;

如果否,则将当前栅格单元所对应的预行进位置点在第二预设方向偏移设定距离的位置点作为行进位置点,其中,所述第二预设方向为在预行进路径方向上所述路径参考单元到下一个栅格单元的方向与远离前方障碍单元的方向的合方向。

4.根据权利要求3所述的方法,其特征在于,所述预行进位置点的坐标值的确定,包括如下步骤:确定所述行进路径上的栅格单元的坐标值为(X,Y);

确定栅格单元的长度为h,宽度为w;

确定所述预行进位置点的坐标值为(x,y),则x=X*h+h/2,y=Y*w+w/2。

5.根据权利要求4所述的方法,其特征在于,所述栅格单元的长度与宽度相等。

6.根据权利要求4所述的方法,其特征在于,所述确定由行进位置点连接的从当前位置点到目标位置点的路径为行进路径的步骤之后,还包括如下步骤:基于所述行进路径,确定当前行进位置点、下一个行进位置点和再下一个行进位置点;

确定从所述当前位置点到所述下一个行进位置点的方向作为当前方向;

确定从所述下一个行进位置点到所述再下一个行进位置点的方向作为目标方向;

从所述当前位置点朝所述下一个行进位置点行进预定距离时,判断所述目标方向是否与所述当前方向相同;

如果是,则保持当前方向和当前速度继续行进;

如果否,则调整当前方向和当前速度,使从所述当前位置点行进至预定距离时的位置点到所述再下一个行进位置点之间的行进轨迹为弧形轨迹;

以此类推,至所述再下一个行进位置点为所述目标位置点;

将调整后的行进路径作为最优行进路径。

7.根据权利要求6所述的方法,其特征在于,所述调整当前方向和当前速度,使从所述当前位置点行进至预定距离时的位置点到所述再下一个行进位置点之间的行进轨迹为弧形轨迹,包括如下步骤:基于当前速度,预估下一时段行进的预计行进距离;

判断所述预计行进距离是否大于从所述当前位置点朝所述下一个行进位置点行进预定距离后距所述下一个行进位置点的剩余距离;

如果否,则继续基于当前速度行进;

如果是,则降低当前速度,并调整内轮和外轮的速度差,使行进方向从所述当前方向逐渐转到与所述目标方向相同的方向。

8.根据权利要求7所述的方法,其特征在于,所述调整内轮和外轮的速度差,使行进方向从所述当前方向逐渐转到与所述目标方向相同的方向,包括如下步骤:判断所述目标方向与所述当前方向之间的角度是否小于或等于45°;

如果是,则使所述内轮速度为所述外轮速度的四分之一;

如果否,则使所述内轮速度为所述外轮速度的六分之一;

计算未来时间段内,内轮和外轮的预行进距离差,所述预行进距离差为所述外轮和所述内轮的速度差的绝对值与所述未来时间段的乘积;

计算得出运动角度预变量,所述运动角度预变量为所述预行进距离差除以所述内轮和所述外轮之间的宽度;

判断所述行进方向与所述目标方向之间的角度是否小于所述运动角度预变量;

如果否,则保持当前的外轮速度和内轮速度;

如果是,则调整外轮速度或者内轮速度,使外轮速度和内轮速度相同。

9.一种芯片,用于存储程序,其特征在于,所述程序用于控制机器人执行权利要求1至8任一项所述的路径导航方法。

10.一种机器人,包括控制芯片,其特征在于,所述控制芯片为权利要求9所述的芯片。

说明书 :

一种路径导航方法和芯片及机器人

技术领域

[0001] 本发明涉及机器人领域,具体涉及一种路径导航方法和芯片及机器人。

背景技术

[0002] 现有的路径搜索算法(如A*算法,也叫A-Star算法),一般都是按照最短路径进行搜索,这样得出来的路径对于实际导航来说,不一定是最佳的路径,如果路径线路比较接近障碍物,可以会由于地图偏差或者行进误差等原因,导致机器人在走动过程容易碰到障碍,如此会打断导航过程,影响导航效率,同时,如果过多地碰到障碍物,不仅会降低行进效率,还会进一步加大行进误差,导致机器人无法去到目标位置点。

发明内容

[0003] 为解决上述问题,本发明提供了一种不容易碰到障碍物,行进效率高的路径导航方法和芯片及机器人。
[0004] 本发明的具体技术方案如下:
[0005] 一种路径导航方法,包括如下步骤:
[0006] 搜索栅格地图,确定由预行进位置点连接的从当前位置点到目标位置点的路径为预行进路径;
[0007] 基于当前位置点所对应的当前栅格单元,确定在预行进路径方向上的下一个栅格单元为路径参考单元;
[0008] 判断所述路径参考单元在垂直预行进路径方向的任意一侧的预设距离内的栅格单元是否为障碍单元;
[0009] 如果否,则将所述路径参考单元所对应的所述预行进位置点作为行进位置点;
[0010] 如果是,则判断另一侧的在预设距离内的栅格单元是否为障碍单元;
[0011] 如果否,则将与所述路径参考单元所对应的所述预行进位置点在远离障碍单元的方向偏移设定距离的位置点作为行进位置点;
[0012] 如果是,则将所述路径参考单元所对应的所述预行进位置点作为行进位置点;
[0013] 接着,以再下一个栅格单元作为路径参考单元进行判断,以此类推,至所判断的栅格单元为所述目标位置点所在的栅格单元,则结束判断;
[0014] 确定由行进位置点连接的从当前位置点到目标位置点的路径为行进路径。
[0015] 进一步地,所述预设距离为两个栅格单元的长度之和;
[0016] 和/或,
[0017] 所述设定距离为一个栅格单元的长度的一半或者四分之一。
[0018] 进一步地,还包括如下步骤:
[0019] 如果所述路径参考单元的前方的预设距离内的栅格单元为障碍单元,则判断在垂直预行进路径方向的任意一侧的预设距离内的栅格单元是否为障碍单元;
[0020] 如果是,则将所述路径参考单元所对应的预行进位置点在第一预设方向偏移设定距离的位置点作为行进位置点,其中,所述第一预设方向为远离侧边障碍单元的方向和远离前方障碍单元的方向的合方向;
[0021] 如果否,则将当前栅格单元所对应的预行进位置点在第二预设方向偏移设定距离的位置点作为行进位置点,其中,所述第二预设方向为在预行进路径方向上所述路径参考单元到下一个栅格单元的方向与远离前方障碍单元的方向的合方向。
[0022] 进一步地,所述预行进位置点的坐标值的确定,包括如下步骤:
[0023] 确定所述行进路径上的栅格单元的坐标值为(X,Y);
[0024] 确定栅格单元的长度为h,宽度为w;
[0025] 确定所述预行进位置点的坐标值为(x,y),则x=X*h+h/2,y=Y*w+w/2。
[0026] 进一步地,所述栅格单元的长度与宽度相等。
[0027] 进一步地,所述确定由行进位置点连接的从当前位置点到目标位置点的路径为行进路径的步骤之后,还包括如下步骤:
[0028] 基于所述行进路径,确定当前行进位置点、下一个行进位置点和再下一个行进位置点;
[0029] 确定从所述当前位置点到所述下一个行进位置点的方向作为当前方向;
[0030] 确定从所述下一个行进位置点到所述再下一个行进位置点的方向作为目标方向;
[0031] 从所述当前位置点朝所述下一个行进位置点行进预定距离时,判断所述目标方向是否与所述当前方向相同;
[0032] 如果是,则保持当前方向和当前速度继续行进;
[0033] 如果否,则调整当前方向和当前速度,使从所述当前位置点行进至预定距离时的位置点到所述再下一个行进位置点之间的行进轨迹为弧形轨迹;
[0034] 以此类推,至所述再下一个行进位置点为所述目标位置点;
[0035] 将调整后的行进路径作为最优行进路径。
[0036] 进一步地,所述调整当前方向和当前速度,使从所述当前位置点行进至预定距离时的位置点到所述再下一个行进位置点之间的行进轨迹为弧形轨迹,包括如下步骤:
[0037] 基于当前速度,预估下一时段行进的预计行进距离;
[0038] 判断所述预计行进距离是否大于从所述当前位置点朝所述下一个行进位置点行进预定距离后距所述下一个行进位置点的剩余距离;
[0039] 如果否,则继续基于当前速度行进;
[0040] 如果是,则降低当前速度,并调整内轮和外轮的速度差,使行进方向从所述当前方向逐渐转到与所述目标方向相同的方向。
[0041] 进一步地,所述调整内轮和外轮的速度差,使行进方向从所述当前方向逐渐转到与所述目标方向相同的方向,包括如下步骤:
[0042] 判断所述目标方向与所述当前方向之间的角度是否小于或等于45°;
[0043] 如果是,则使所述内轮速度为所述外轮速度的四分之一;
[0044] 如果否,则使所述内轮速度为所述外轮速度的六分之一;
[0045] 计算未来时间段内,内轮和外轮的预行进距离差,所述预行进距离差为所述外轮和所述内轮的速度差的绝对值与所述未来时间段的乘积;
[0046] 计算得出运动角度预变量,所述运动角度预变量为所述预行进距离差除以所述内轮和所述外轮之间的宽度;
[0047] 判断所述行进方向与所述目标方向之间的角度是否小于所述运动角度预变量;
[0048] 如果否,则保持当前的外轮速度和内轮速度;
[0049] 如果是,则调整外轮速度或者内轮速度,使外轮速度和内轮速度相同。
[0050] 一种芯片,用于存储程序,所述程序用于控制机器人执行上述的路径导航方法。
[0051] 一种机器人,包括控制芯片,所述控制芯片为上述的芯片。
[0052] 本发明的有益效果在于:通过对现有路径搜索算法所搜索出来的预行进路径进行优化,将所述预行进路径上与障碍单元靠近的栅格单元所对应的预行进位置点进行偏移,最终形成与障碍单元相隔一定距离的行进路径,机器人按所述行进路径行进,不容易碰到障碍物,提高了行进效率,同时,不影响从当前位置点到目标位置点的导航,导航更准确,效率更高。

附图说明

[0053] 图1为本发明的确定行进路径的方法流程图。
[0054] 图2为本发明的最优行进路径的栅格示意图。
[0055] 图3为本发明的最优行进路径进行弧形优化后的栅格示意图。

具体实施方式

[0056] 下面结合附图对本发明的具体实施方式作进一步说明:
[0057] 如图1所示的路径导航方法,包括如下步骤:搜索栅格地图,确定由预行进位置点连接的从当前位置点到目标位置点的路径为预行进路径;基于当前位置点所对应的当前栅格单元,确定在预行进路径方向上的下一个栅格单元为路径参考单元;判断所述路径参考单元在垂直预行进路径方向的任意一侧的预设距离内的栅格单元是否为障碍单元;如果否,则将所述路径参考单元所对应的所述预行进位置点作为行进位置点;如果是,则判断另一侧的在预设距离内的栅格单元是否为障碍单元;如果否,则将与所述路径参考单元所对应的所述预行进位置点在远离障碍单元的方向偏移设定距离的位置点作为行进位置点;如果是,则将所述路径参考单元所对应的所述预行进位置点作为行进位置点;接着,以再下一个栅格单元作为路径参考单元进行判断,以此类推,至所判断的栅格单元为所述目标位置点所在的栅格单元,则结束判断;确定由行进位置点连接的从当前位置点到目标位置点的路径为行进路径。
[0058] 其中,所述栅格地图为基于栅格单元所构成的平面地图,机器人把所述栅格地图中已行进过的栅格单元标示为已行进单元,把检测到障碍物的栅格单元标示为障碍单元;把未行进过的单元标示为未行进单元。所述预设距离为可设置的值,可以根据具体的需求进行相应地设置,优选的,可设置为两个栅格单元的长度之和。所述设定距离也是一个可以设置的值,可以根据具体的需求进行相应地设置,可设置为一个栅格单元的长度的一半或者四分之一,优选的,本实施例中设为一个栅格单元的长度的一半。
[0059] 如果所述路径参考单元的前方的预设距离内的栅格单元为障碍单元,则判断在垂直预行进路径方向的任意一侧的预设距离内的栅格单元是否为障碍单元;如果是,则将所述路径参考单元所对应的预行进位置点在第一预设方向偏移设定距离的位置点作为行进位置点。其中,所述第一预设方向为远离侧边障碍单元的方向和远离前方障碍单元的方向的合方向。如果否,则将当前栅格单元所对应的预行进位置点在第二预设方向偏移设定距离的位置点作为行进位置点。其中,所述第二预设方向为在预行进路径方向上所述路径参考单元到下一个栅格单元的方向与远离前方障碍单元的方向的合方向。由于现有的路径搜索算法得出预行进路径,不会将机器人导航进入一个三面都是障碍单元的位置,所以,只要考虑在垂直预行进路径方向的一侧是否有障碍单元即可,不需要考虑另一侧是否有障碍单元,以此简化机器人的数据处理资源,提高控制效率。同时,控制机器人按第一预设方向或者第二预设方向偏移行进,可以避免转弯时容易碰到障碍物的问题,提高行进效率。
[0060] 如图2所示,图中的一个方格表示一个栅格单元,一个小圆圈则表示一个位置点,由于本实施例中,机器人的机身宽度为两个栅格单元的长度之和,所以,机器人按预行进路径(即虚线所示路线)从A点开始行进时,其占据虚线当中的栅格和虚线两侧的栅格的各一半,即机器人与右侧的障碍单元只有半个栅格单元的距离。当前位置点为A点,目标位置点为B点,从A点至B点的虚线所连接的栅格单元所对应的预行进位置点1至26所构成的路径为根据路径搜索算法(A*算法)所搜索出来的预行进路径。由于该预行进路径比较接近障碍单元(图中标有X的栅格单元),所以,如果机器人按照此路径行进,容易碰到障碍物,从而影响行进效率。图中带箭头的线路表示按本发明所述的方法所确定的行进路径。具体如下:将A点所在的栅格单元作为当前栅格单元,确定在预行进路径方向上A点所在的栅格单元的下一个栅格单元(即位于当前栅格单元上方且与当前栅格单元相邻的栅格单元,后续简称为第1栅格)为路径参考单元,由于第1栅格的右侧第二个栅格单元为障碍单元,且左侧的预设距离(即两个栅格单元距离的长度)内没有障碍单元,所以,将第1栅格对应的预行进位置点在远离障碍单元的方向偏移设定距离的位置点作为行进位置点(即将第1栅格对应的预行进位置点向第1栅格左侧偏移半个栅格单元的距离的位置点作为行进位置点)。接着将第1栅格作为当前栅格单元,由于第2栅格(即位于第1栅格上方且与第1栅格相邻的栅格单元)的右侧的第二个栅格单元为障碍单元,且左侧的两个栅格单元距离的长度内没有障碍单元,所以,将第2栅格对应的预行进位置点在远离障碍单元的方向偏移设定距离的位置点作为行进位置点(即将第2栅格对应的预行进位置点向第2栅格左侧偏移半个栅格单元的距离的位置点作为行进位置点)。同理,第3至8栅格所对应的预行进位置点向左侧偏移半个栅格单元的长度。到第9栅格时,由于第9栅格的左右两侧的预设距离内都没有障碍单元,所以,将第9栅格所对应的所述预行进位置点作为行进位置点。紧接着,由于第10栅格的前方的第二个栅格单元为障碍单元,左侧的第二个栅格单元也是障碍单元,所以,将第10栅格所对应的预行进位置点在远离侧边障碍单元的方向(即水平向右的方向)和远离前方障碍单元的方向(即竖直向下的方向)的合方向(即斜向右下角的方向)偏移半个栅格单元的距离的位置点作为行进位置点。继续按预行进路径的方向,由于第11栅格的左侧的第二个栅格单元为障碍单元,右侧没有障碍单元,所以将第11栅格对应的预行进位置点向第11栅格右侧偏移半个栅格单元的距离的位置点作为行进位置点。由于第12栅格左右两侧的第二个栅格单元都为障碍单元,所以,将第12栅格对应的预行进位置点作为行进位置点,同理,将第13至15栅格对应的预行进位置点作为行进位置点。到第16栅格时,由于第16栅格左右两侧的预设距离内都没有障碍单元,所以,将第16栅格对应的预行进位置点作为行进位置点,同理,第17和18栅格对应的预行进位置点作为行进位置点。到第19栅格时,由于第19栅格的左侧第二个栅格单元为障碍单元,右侧没有障碍单元,所以将第19栅格对应的预行进位置点向第19栅格右侧偏移半个栅格单元的距离的位置点作为行进位置点,同理,将第20至23栅格对应的预行进位置点向右侧偏移半个栅格单元的距离的位置点作为行进位置点。由于第24至26栅格左右两侧的预设距离内都没有障碍单元,所以,将第24至26栅格对应的预行进位置点作为行进位置点。由于B点所在的栅格单元为目标栅格单元,所以,结束判断。将从A点至B点的由行进位置点所构成的线路作为行进路径,即图中带箭头所指示的线路。所述行进路径是在原搜索路径的基础上,根据不同的路径情况进行相应的调整,能够有效地避免碰撞到障碍物,从而保证了机器人行进的高效性,同时,避免机器人经常碰撞到障碍物所带来的行进误差,提高导航效率。
[0061] 优选的,所述预行进位置点的坐标值的确定,包括如下步骤:确定所述行进路径上的栅格单元的坐标值为(X,Y);确定栅格单元的长度为h,宽度为w;确定所述预行进位置点的坐标值为(x,y),则x=x=X*h+h/2,y=Y*w+w/2。由于机器人在搜索栅格地图时,判断障碍物是以栅格单元的形式进行,而实际行进时是按照位置点的形式行进,所以,搜索栅格地图得出的栅格路径需要换算成具体的预行进位置点,才能最终得出机器人的预行进路径。假设以A点所在栅格单元的左侧相邻的栅格单元的坐标值为(0,0),即(0,0)栅格单元的左下角的点为原点建立的坐标系中,A点所在的栅格单元的坐标值为(1,0),第1栅格的坐标值为(1,1),栅格单元的长度和宽度相等且都为0.2m,则第1栅格的坐标值为(0.3m,0.3m),即第1栅格的预行进位置点的位置为X轴正方向0.3m和Y轴正方向0.3m的交点处,即第1栅格的中心点。第2栅格的坐标为(1,2),则第2栅格的坐标值为(0.3,0.5),即第2栅格的预行进位置点的位置为X轴正方向0.3m和Y轴正方向0.5m的交点处,即第2栅格的中心点。通过把搜索出来的栅格路径转换成具体的预行进位置点所构成的预行进路径,使机器人可以按照具有具体坐标的位置点行进,提高机器人行进的准确性。同时,把预行进位置点设置在栅格单元的中心,更有利于后续规划机器人的行进路径。其中,搜索栅格单元的长度和宽度可以根据不同的情况设置为不同的值,也可以设置为不相等的两个值。
[0062] 优选的,所述确定由行进位置点连接的从当前位置点到目标位置点的路径为行进路径的步骤之后,还包括如下步骤:基于所述行进路径,确定当前行进位置点、下一个行进位置点和再下一个行进位置点;确定从所述当前位置点到所述下一个行进位置点的方向作为当前方向;确定从所述下一个行进位置点到所述再下一个行进位置点的方向作为目标方向;从所述当前位置点朝所述下一个行进位置点行进预定距离时,判断所述目标方向是否与所述当前方向相同;如果是,则保持当前方向和当前速度继续行进;如果否,则调整当前方向和当前速度,使从所述当前位置点行进至预定距离时的位置点到所述再下一个行进位置点之间的行进轨迹为弧形轨迹;以此类推,至所述再下一个行进位置点为所述目标位置点;将调整后的行进路径作为最优行进路径。
[0063] 其中,所述调整当前方向和当前速度,使从所述当前位置点行进至预定距离时的位置点到所述再下一个行进位置点之间的行进轨迹为弧形轨迹,包括如下步骤:基于当前速度,预估下一时段行进的预计行进距离;判断所述预计行进距离是否大于从所述当前位置点朝所述下一个行进位置点行进预定距离后距所述下一个行进位置点的剩余距离;如果否,则继续基于当前速度行进;如果是,则降低当前速度,并调整内轮和外轮的速度差,使行进方向从所述当前方向逐渐转到与所述目标方向相同的方向。其中,所述降低当前速度的速度值可以根据具体情况进行设置,优选的,本实施例设置为降低当前速度的一半,如此可以更有利于后续调整内轮和外轮的速度差。
[0064] 其中,所述调整内轮和外轮的速度差,使行进方向从所述当前方向逐渐转到与所述目标方向相同的方向,包括如下步骤:判断所述目标方向与所述当前方向之间的角度是否小于或等于45°;如果是,则使所述内轮速度为所述外轮速度的四分之一;如果否,则使所述内轮速度为所述外轮速度的六分之一;计算未来时间段内,内轮和外轮的预行进距离差,所述预行进距离差为所述外轮和所述内轮的速度差的绝对值与所述未来时间段的乘积;计算得出运动角度预变量,所述运动角度预变量为所述预行进距离差除以所述内轮和所述外轮之间的宽度;判断所述行进方向与所述目标方向之间的角度是否小于所述运动角度预变量;如果否,则保持当前的外轮速度和内轮速度;如果是,则调整外轮速度或者内轮速度,使外轮速度和内轮速度相同。
[0065] 以一个具体应用为例进行说明,如图2所示,从A点开始沿箭头指示路线方向开始算,A点的圆圈不算,以第一个圆圈表示的位置点为第1行进位置点,第二个圆圈表示的位置点为第2行进位置点,以此类推,至B点下方的圆圈表示的位置点为第26行进位置点。从当前位置点A点到第1行进位置点的方向(即当前方向)为112.5°(在进行角度的计算时,是以当前位置点为原点,水平向右的方向为X轴正方向,竖直向上的方向为Y轴正方向,A点到第1行进位置点方向的线段与X轴正方向的夹角即为112.5°,同理,可进行其它方向角度的计算)。从第1行进位置点到第2行进位置点的方向(即目标方向)为90°。从A点朝第1行进位置点行进半个栅格单元的距离时,判断目标方向和当前方向不同,则计算下一个时段T1内机器人的预计行进距离为V*T1且该距离大于从A点到第1行进位置点的距离的一半,所以,机器人降低当前速度V的一半。然后判断得出目标方向与当前方向之间的角度小于45°,故需要调整内轮和外轮的速度差,使所述内轮速度V1为所述外轮速度V2的四分之一,此时,机器人开始按弧形轨迹转弯。在转弯的过程中,计算未来时间段T2内,机器人的运动角度预变量为△θ=(|V1-V2|*T2)/W,其中W为机器人的内轮和外轮之间的宽度。由于转弯过程中,行进方向和目标方向之间的角度越来越小,当所述行进方向与所述目标方向之间的角度小于所述运动角度预变量△θ时,调整外轮速度或者内轮速度,使外轮速度和内轮速度相同,由于调整的过程中,机器人还是会有微小的角度变化,刚好能够补偿所述行进方向与所述目标方向之间的角度,所以,最终机器人在到达第2行进位置点时,将按照目标方向向前直行。
[0066] 由于第2至7行进位置点的当前方向和目标方向一致,所以,一直保持直行。当准备到达第8行进位置点时,由于第7行进位置点到第8行进位置点的方向(即当前方向)为90°,第8行进位置点到第9行进位置点(即目标方向)为67.5°,从第7行进位置点朝第8行进位置点行进半个栅格单元的距离时,判断目标方向和当前方向不同,则计算下一个时段T1内机器人的预计行进距离为V*T1且该距离大于从第7行进位置点到第8行进位置点的距离的一半,所以,机器人降低当前速度V的一半。然后判断得出目标方向与当前方向之间的角度等于22.5°,小于45°,故需要调整内轮和外轮的速度差,使所述内轮速度V1为所述外轮速度V2的四分之一,如果目标方向与当前方向之间的角度大于45°,则需要使所述内轮速度V1为所述外轮速度V2的六分之一,这样可以更快的调整角度变化量,直到之间的角度小于或等于45°,才使所述内轮速度V1为所述外轮速度V2的四分之一,以此减缓角度变化量,为后续的精细调整作准备。此时,机器人已经开始按弧形轨迹转弯。在转弯的过程中,计算未来时间段T2内,机器人的运动角度预变量为△θ=(|V1-V2|*T2)/W,其中W为所述内轮和所述外轮之间的宽度。由于转弯过程中,行进方向和目标方向之间的角度越来越小,当所述行进方向与所述目标方向之间的角度小于所述运动角度预变量△θ时,调整外轮速度或者内轮速度,使外轮速度和内轮速度相同,由于调整的过程中,机器人还是会有微小的角度变化,刚好能够补偿所述行进方向与所述目标方向之间的角度,所以,最终机器人将按照目标方向(即第
8行进位置点到第9行进位置点的方向)向前直行。
[0067] 同理,在第9行进位置点到第10行进位置点,第11行进位置点到第12位置点,第16行进位置点到第17行进位置点到第18行进位置点等这些当前方向与目标方向不同的需要转弯的路径时,按上述方法,通过调整内轮速度和外轮速度,使机器人在这些转弯的路径都以弧形轨迹的形式行进。最后,将按弧形轨迹调整后的行进路径作为最优行进路径[0068] 如图3所示,机器人在图3中带箭头的路径中的每个转弯处都采用弧形轨迹的形式,可以使得机器人的行进路径更平滑、更顺畅,避免产生卡顿的现象,提高了机器人的行进效率。
[0069] 其中,上述时间段T1和T2为可设置的值,本实施例中设置为10ms的倍数,具体为30ms。
[0070] 本发明所述的芯片,用于存储程序,所述程序用于控制机器人执行上述路径导航方法。通过对现有路径搜索算法所搜索出来的预行进路径进行优化,将所述预行进路径上与障碍单元靠近的栅格单元所对应的预行进位置点进行偏移,最终形成与障碍单元相隔一定距离的行进路径,机器人按所述行进路径行进,不容易碰到障碍物,提高了行进效率,同时,不影响从当前位置点到目标位置点的导航,导航更准确,效率更高。
[0071] 本发明所述的机器人,包括控制芯片,所述控制芯片为上述的芯片。通过所述芯片控制机器人对现有路径搜索算法所搜索出来的预行进路径进行优化,将所述预行进路径上与障碍单元靠近的栅格单元所对应的预行进位置点进行偏移,最终形成与障碍单元相隔一定距离的行进路径,机器人按所述行进路径行进,不容易碰到障碍物,提高了行进效率,同时,不影响从当前位置点到目标位置点的导航,导航更准确,效率更高。
[0072] 以上实施例仅为充分公开而非限制本发明,凡基于本发明的创作主旨、未经创造性劳动的等效技术特征的替换,应当视为本申请揭露的范围。