自动引导车的控制方法、自动引导车及货物搬运系统与流程

文档序号:26101419发布日期:2021-07-30 18:12阅读:119来源:国知局
自动引导车的控制方法、自动引导车及货物搬运系统与流程

本案是基于2019年4月1日提交的专利申请号为201910256998.4、发明名称为“自动引导车的控制方法、自动引导车及货物搬运系统”的中国专利申请的分案申请。

本发明涉及智能仓储领域,尤其涉及一种自动引导车的控制方法、自动引导车以及一种货物搬运系统。



背景技术:

随着我国电商行业的高速发展,物流的各个环节也出现了多样化的需求,由分拣机器人组成的包裹分拣系统应运而生,该系统在保证包裹分拣高效的同时,还具有即时响应和分布式的灵活性。在当前的物流仓储领域,已经越来越多的使用了自动引导车(agv)来代替或者补充人工劳动。自动引导车能够自动接收物品搬运任务,在程序控制下,到达第一位置,取得物品,然后行走到第二位置,将物品卸下,继续去执行其他的任务。

现有的大部分包裹分拣系统会把场地划分成矩形单元格并建立直角坐标系,机器人收到移动到指定点的任务后会先计算出移动的路径,然后沿该路径执行多个移动指令经过单元格,最后停在终点所在单元格。

现有自动运输单元运动控制大多只包含直线移动和原地旋转两种动作,在经过转弯点时会先减速停下,然后原地旋转改变方向,最后沿新的方向加速移动。这种方式过弯的耗时较长,如果机器人移动路径存在多个转弯点,机器人的平均移动速度就会大大降低,此外,一台机器人的减速会导致后续机器人都减速,降低系统整体效率。

背景技术部分的内容仅仅是发明人所知晓的技术,并不当然代表本领域的现有技术。



技术实现要素:

有鉴于此,本发明提出一种自动引导车的控制方法,包括:获取所述自动引导车的当前位置和下一位置;确定所述下一位置是否为转向点;如果所述下一位置为非转向点,控制所述自动引导车直线通过所述下一位置;和如果所述下一位置为转向点,控制所述自动引导车在所述下一位置进行转向。

根据本发明的一个方面,所述控制自动引导车在下一位置进行转向的步骤包括:判断所述下一位置是否满足u型转向条件,如果满足,则控制所述自动引导车以u型弧线转弯通过所述下一位置;否则,判断所述下一位置是否满足弧线转弯条件,如果满足,则控制所述自动引导车以直角弧线转弯方式通过所述下一位置;如果所述下一位置不满足所述弧线转弯条件,则控制所述自动引导车以直角转弯的方式通过所述下一位置。

根据本发明的一个方面,所述的控制方法还包括:获取所述下一位置的再下一个位置,并判断所述再下一个位置是否可用,当所述再下一个位置不可用时,等待直到所述再下一个位置变为可用。

根据本发明的一个方面,所述的控制方法还包括:如果所述下一位置为转向点,获取所述下一位置的再下一个位置,并判断所述再下一个位置是否可用,当所述再下一个位置不可用时,等待直到所述再下一个位置变为可用时,控制所述自动引导车以u型弧线或直角弧线方式通过所述下一位置。

根据本发明的一个方面,所述控制自动引导车在下一位置进行转向的步骤包括:

接收起点坐标x_start、y_start和终点坐标x_target、y_target;

规划所述自动引导车从所述起点坐标到所述终点坐标的轨迹,其中所述轨迹的路径包括衔接的直线段和弧线段,所述轨迹中,所述自动引导车的运动机构在所述直线段和弧线段的交界处不存在速度的跃变;和

控制所述自动引导车按照所述规划的轨迹运动。

根据本发明的一个方面,还包括接收线速度v,其中所述规划轨迹的步骤包括:

计算多个特征时间点;

根据所述多个特征时间点计算所述自动引导车的加速度和角加速度;和

根据所述加速度、角加速度计算所述轨迹。

根据本发明的一个方面,所述多个特征时间点包括16个特征时间点t0-t15,

t0=1;

t1=accmax/jerk/ts+t0;

t2=vmax/accmax/ts+t0;

t3=t2+t1-t0;

t4=t3+floor((x_target-0.8305)/vmax/ts+0.5);

t5=omgaccmax/omgjerk/ts+t4;

t6=omgmax/omgaccmax/ts+t4;

t7=t6+t5-t0;

t8=targetomg/omgmax/ts+t4;

t9=t8+t5-t4;

t10=t8+t6-t4;

t11=t8+t7-t4;

t12=t11+1+floor((y_target-0.8305)/vmax/ts+0.5);

t13=t4+t1-t0;

t14=t4+t2-t0;

t15=t4+t3-t0;

其中ts为采样周期,轨迹最大速度vmax=线速度v,accmax为轨迹最大加速度值,jerk为轨迹最大加加速度值,omgmax为弧形最大角速,omgaccmax为弧形最大角加速度,omgjerk为弧形最大角加加速度,targetomg为弧线弧度,floor为取整函数。

根据本发明的一个方面,轨迹最大加速度值accmax=vmax*5,轨迹最大加加速度值jerk=accmax/ts/10;弧形最大角速度omgmax=50/180*pi;弧形最大角加速度omgaccmax=omgmax*2;弧形最大角加加速度omgjerk=omgaccmax/ts/20;targetomg=0.5*pi为90度弧线。

根据本发明的一个方面,所述计算自动引导车的加速度和角加速度的步骤包括:根据当前t时刻及上一时刻accn-1迭代计算当前时刻加速度accn,根据当前t时刻及上一时刻angleaccn-1迭代计算当前时刻角加速度angleaccn,

根据本发明的一个方面,所述计算轨迹的步骤包括:根据加速度及角加速度,利用以下公式计算得到轨迹:

其中thetan为自动引导车的朝向角度,xn为自动引导车的轨迹的横坐标,yn为自动引导车的轨迹的纵坐标。

本发明还提供一种用于自动引导车,包括:车体;电机,安装在所述车体上;行进装置,与所述电机耦合并被所述电机驱动;控制装置,设置在所述车体上,并配置成执行如上所述的控制方法。

本发明还提供一种货物搬运系统,包括:坐标单元;自动引导车;控制单元,所述控制单元与所述自动引导车通讯,并控制所述自动引导车在所述坐标单元中运动,并配置成执行如上所述的控制方法。

本发明还提供一种计算机可读存储介质,包括存储于其上的计算机可执行指令,所述可执行指令在被处理器执行时实施如上所述的控制方法。

本发明提出了一种自适应的弧线转弯决策逻辑,根据实时状态动态选择使用何种方式移动经过转向点。另外还提出了弧线转弯等待策略,提高拥堵区域使用弧线转弯的概率,提高系统整体运行效率。本发明提供了多种对转弯点附近机器人移动的优化方案及其控制逻辑,降低机器人转弯耗时,提升系统整体效率。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1示出了自动引导车直线移动的情形;

图2示出了自动引导车直线移动转向的情形

图3示出了自动引导车直角弧线转向的情形;

图4示出了自动引导车u型弧线转向的情形;

图5示出了根据本发明一个实施例的一种自动引导车的控制方法;

图6示出了根据本发明一个优选实施例的自动引导车的控制方法;

图7示出了根据本发明另一个方面的自动引导车;

图8示出了根据本发明另一个方面的一种货物搬运系统;

图9示出了根据本发明的至少一些实施例布置的计算机程序产品;

图10示出了现有的弧线规划方案;

图11示出了在进入圆弧前后,机器人的左轮和右轮的速度跳变的情况;

图12示出了根据本发明一个实施例的机器人的运动控制方法;

图13示出了本发明的运动控制方法的原理和效果;

图14示出了根据图12的运动控制方法获得的机器人的左右轮或左右电机的加速度;

图15a-15b示出了根据本发明优选实施例计算出的机器人的轨迹;

图16示出了根据图15a-15b获得的机器人左右轮的速度曲线;

图17示出了180度弧线转弯的情况;

图18示出了根据本发明一个实施例的一种自动仓储系统;和

图19示出了根据本发明的至少一些实施例布置的计算机程序产品。

具体实施方式

在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。

在本发明的描述中,需要理解的是,术语"中心"、"纵向"、"横向"、"长度"、"宽度"、"厚度"、"上"、"下"、"前"、"后"、"左"、"右"、"坚直"、"水平"、"顶"、"底"、"内"、"外"、"顺时针"、"逆时针"等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语"第一"、"第二"仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有"第一"、"第二"的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,"多个"的含义是两个或两个以上,除非另有明确具体的限定。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语"安装"、"相连"、"连接"应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接:可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本发明中,除非另有明确的规定和限定,第一特征在第二特征之"上"或之"下"可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征"之上"、"上方"和"上面"包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征"之下"、"下方"和"下面"包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度小于第二特征。

下文的公开提供了许多不同的实施方式或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本发明提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本发明的一个方面提供一种弧线移动方案及包含该弧线移动的运动控制逻辑,提高自动运输单元整体运行效率。

现有的大部分智能仓库或者包裹分拣机器人系统中,整个场地会被建模划分为单元格的形式。各个单元格大小相等,可以为正方形,也可以是长方形的。在场地中建立以单元格为单位的网格坐标系。单元格的中心可设置一个二维码,以供在其上行走的机器人或者自动引导车来进行定位。通常从任一个单元格出发,只能到达其直接相邻的前后左右四个单元格,而不能直接到达对角线上的四个单元格。从图1中可以看到类似的单元格划分的场地的示意图。

分拣机器人或者自动引导车在单元格上行进时,其运动方式通常有以下四种:直线移动,直线移动转向,直角弧线转向,u型弧线转向。分别大致说明如下。

图1示出了自动引导车直线移动的情况。如图1所示,在单元格坐标系中,自动引导车处于单元格(1,1)中,其要到达单元格(1,3),就将以直线移动的方式经过单元格(1,2)。其中的黑点示意性示出了单元格的中心。

图2示出了自动引导车直线移动转向(直角转弯)的情况。如图2所示,自动引导车目前处于单元格(1,1)中,其要到达单元格(2,2)。为此,自动引导车需要直线移动到单元格(1,2)的中心点并减速停下,在原地旋转改变90度方向,最后沿新的方向加速移动并到达单元格(2,2)。

图3示出了自动引导车直角弧线转向的情形。其中,自动引导车需要从(1,1)点经过(1,2)点到达(2,2)点。自动引导车需要先向上行驶半个单元格的距离,然后以单元格边长的一半作为半径沿顺时针方向弧线旋转90°,最后再向右移动半个单元格到达目标点。

图4示出了自动引导车u型弧线转向的情形。其中,自动引导车连续经过两个转弯点时的运动示意图,机器人需要从(1,1)点经过(1,2)和(2,2)点到达(2,1)点。机器人需要先向上行驶一个单元格的距离到达(1,2)的中心,然后以单元格边长的一半作为半径沿顺时针方向弧线旋转180°到达单元格(2,2)的中心,最后向下行驶一个单元格到达目标点(2,1)。

图5示出了根据本发明一个实施例的一种自动引导车的控制方法100。如图5所示,控制方法100包括:

在步骤s101,获取所述自动引导车的下一位置。例如当前自动引导车所处的单元格为(1,1),根据当前的行进方向,或者根据控制系统预先规划的路径,获取自动引导车下一个位置将为单元格(1,2)。

在步骤s102,确定所述下一位置是否为转向点。例如在自动引导车的路径规划过程中,路径规划找到的移动路线中,前进方向发生改变的单元格即为转向点。路径规划例如是对于给定的起点和终点,从起点所在单元格开始,沿上、下、左、右四个方向其中一个方向的单元格前进,递归查找出一条可以到达终点所在单元格的移动路线。

在步骤s103,如果所述下一位置为非转向点,控制所述自动引导车直线通过所述下一位置。

在步骤s104,如果所述下一位置为转向点,控制所述自动引导车在所述下一位置进行转向,例如直线移动转向、直角弧线转向或者u型弧线转向,根据转向的具体要求而定。

下面参考图6描述根据本发明一个优选实施例的自动引导车的控制方法200。

图6中的步骤s201、s202和s203与图5中的步骤s101、s102、s103类似,此处不再赘述。

在步骤s202,如果判断下一位置(下一单元格)为转向点,则根据下一位置的特征来判断是否能够进行各种类型的转弯操作。

在步骤s204,确定下一位置是否满足u型转向条件。如果满足u型转向条件,则进行到步骤s205,控制自动引导车,以u型转弯的方式通过所述下一位置。u型转弯的方式如图4所示,此处不再赘述。如果不满足u型转弯条件,则进行到步骤s206,确定下一位置是否满足弧线转弯条件。如果满足弧线转弯条件,则进行到步骤s207,控制自动引导车agv以直角弧线的方式通过所述的下一位置或单元格。

如果下一位置既不满足u型转向条件也不满足弧线转弯条件,则进行到步骤s208,控制自动引导车以直角转弯的方式通过下一位置。

在步骤s209,判断下一位置是否是搬运任务的终点。如果是终点则进行到步骤s211,整个过程结束。否则,进行到步骤s210,将下一位置迭代成为当前位置,继续整个过程200。

根据本发明的一个实施例,以图3为例,直角弧线转向的条件例如包括:

a)转向点(1,2)不是路径终点;

b)转向点(1,2)及转向点前一个点(1,1)、转向点后一个点(2,2)都没有特殊任务;

c)以上3个点的单元格及弧线内侧单元格(即图3中的4个单元格)都没被其他机器人占用。

由于直角弧线转弯的终点是第3个点(2,2),与路径终点应在(2,2)及其后面的点才适用弧线转弯,故需要条件a);如果机器人需要在转向点及其前后的点停下执行其他任务,而弧线转弯不能在中途停下,故需要条件b);弧线转弯实际移动轨迹偏离了原始的路径,内侧单元格如果有机器人就有可能碰撞,条件c)是碰撞控制计算时对弧线转弯的特殊处理。具体解释如下。

直角弧线转弯的轨迹对应的是原始路径的3个单元格,其中第2个单元格是转向点,由于在路径规划时会把路径的终点定义为转向点(方便把路径拆分成多条直线段来分段计算),在判断是否需要弧线转弯时如果遇到终点自然不能弧线转弯。由于直角弧线转弯是一个不可拆分的动作,即不会在转向点上停下,且在弧线轨迹的3个单元格上不是直线移动,故如果需要执行其他任务,那么就不能执行弧线转弯。此外弧线转弯实际移动轨迹偏离了路径规划的原始路径的轨迹,自动引导车在实际移动时车体会部分进入弧线内侧的单元格,如果弧线内侧单元格有其他自动引导车或设备,就有可能产生碰撞,故在该转向点不能弧线转弯。以上3点就是判断是否可以弧线转弯需要考虑的几种最基本的情况,而在实际场景中可能还会有其他限制条件需要考虑,只有满足这些限制条件才能安全地进行弧线转弯,否则只能使用直线移动转向的方式经过转向点。

根据本发明的一个实施例,以图4为例,u型弧线转弯的基本条件例如包括:

a)有连续的两个转向点(1,2)和(2,2),这两个转向点是相邻的;

b)第二个转向点(2,2)不是终点;

c)在两个转向点都是顺时针或逆时针旋转;

d)两个转向点(1,2)和(2,2)及其前一个点(1,1)和后一个点(2,1)都没有特殊任务;

e)以上4个点的单元格以及转向点外侧的两个单元格(即图2中的6个单元格)都没有被其他机器人占用。

如果只有一个转向点,那么应该执行直角弧线转弯,而u型转弯是对连续两个转弯的移动路径的优化;由于直角弧线转弯的终点是第4个点(2,1),路径终点应在(2,1)及其后面的点才适用弧线转弯,故需要条件b);如果机器人需要在转向点及其前后的点停下执行其他任务,而弧线转弯不能在中途停下,故需要条件d);弧线转弯实际移动轨迹偏离了原始的路径,内侧单元格如果有机器人就有可能碰撞,条件e)是碰撞控制计算时对弧线转弯的特殊处理。

u型转弯对应的是原始路径上的4个单元格,其中在第2个和第3个单元格里是转向点。与直角转弯类似,需要排除路径终点这个特殊的转向点。u型转弯可以看作是两个连续的弧线转弯的组合,在每经过一个转向点自动引导车的车头方向会旋转90°,而这里有两种情况,一种是旋转的时钟方向相同(都是顺时针或都是逆时针方向),在经过两个转向点后车头方向与转向前相比旋转了180°,第二种情况是在两个转向点旋转的时钟方向相反,经过两次转向后车头方向与转向前相同。本发明中所述的u型转弯是第一种情况,故在判断是否是u型转弯时除了要求有连续的两个转向点外,对转向的方向也有要求。与直角弧线转弯类似,u型转弯经过的4个点都不能有其他任务。与直角弧线转弯类似,u型转弯的轨迹也偏离了原始的直线路径的轨迹,如图4所示,需要检查两个转向点外侧的两个单元格是否有其他自动引导车或设备。以上5点就是判断是否可以u型转弯需要考虑的几种最基本的情况,而在实际场景中可能还会有其他限制条件需要考虑,只有满足这些限制条件才能安全地进行u型转弯,如果不能u型转弯,对两个转向点还可以分别判断是否满足直角弧线转弯的条件,也能提高转向效率。

本发明中,机器人需要向后台申请占用单元格,每个单元格同一时刻只能一个机器人占用,后台通过控制单元格的占用从逻辑上避免机器人之间在移动时产生的碰撞。本申请的发明人发现,在转弯逻辑中,如果转向点下一个点被其他机器人或自动引导车占用,那么校验是否能弧线转弯时会判定为失败,自动引导车会选择“直线移动+转向”。假设有两个机器人a和b都需要经过相同的转向点,机器人a先到达转向点,然后到达转向点后一个点,此时机器人b只能申请到转向点所在单元格,不能申请到转向点后一个点的单元格,故机器人b会选择直线移动+旋转。在局部区域内比较拥堵的情况下,该现象会导致几乎所有机器人转弯时都不会选择弧线转弯,而是退化成直线+转向,通过转向点的时间更长,加重拥堵现象的程度。

因此根据本发明的一个优选实施例,在控制过程中加入了弧线转弯等待的步骤,即当自动引导车申请转向点之后的一个点的单元格(再下一个位置)失败时,会给该自动引导车添加一个计时器,在计时结束前会一直重复申请单元格直到申请成功,即所述再下一个位置变为可用为止。

弧线转弯策略可以使拥堵区域机器未堵死的情况下,机器人转向时使用弧线转弯,提高平均通行速率。在需要停下执行其他任务的工作点附近如果有多个转向点,不使用该策略时,转向离开耗时特别长,基本必定会导致拥堵,而使用该策略能明显降低出现拥堵的概率,提高生产效率。

图7示出了根据本发明另一个方面的自动引导车50。其中示出了自动引导车50的内部部件,而为了清晰起见省略了其外壳等部件。如图7所示,自动引导车50包括:车体6;电机(未示出),安装在所述车体上;行进装置1,与所述电机耦合并被所述电机驱动;控制装置4,设置在所述车体上,并配置成执行如上所述的控制方法100或200。

行进装置1例如可以包括小轮、履带等,安装在车体6上,由电机驱动。在电机和行进装置之间例如可以包括减速器,由减速器来放大驱动力,降低转速。

图8示出了根据本发明另一个方面的一种货物搬运系统300,包括:坐标单元301;自动引导车302;控制单元303,所述控制单元与所述自动引导车通讯,并控制所述自动引导车在所述坐标单元中运动,并配置成执行如上所述的控制方法100或200。

根据本发明的一个实施例,货物搬运系统300中可包括多个自动引导车302,由控制单元303来对多个自动引导车的搬运任务和搬运路径进行统一规划。当然,自动引导车302上也可以具有自己的控制单元。

本发明还涉及一种计算机可读存储介质,包括存储于其上的计算机可执行指令,所述可执行指令在被处理器执行时实施如上所述的控制方法100或200。

图9依照本发明的至少一些实施例布置的计算机程序产品500的框图。信号承载介质502可以被实现为或者包括计算机可读介质506、计算机可记录介质508、计算机通信介质510或者它们的组合,其存储可配置处理单元以执行先前描述的过程中的全部或一些的编程指令504。这些指令可以包括例如用于使一个或多个处理器执行如下处理的一个或多个可执行指令:获取所述自动引导车的下一位置;确定所述下一位置是否为转向点;如果所述下一位置为非转向点,控制所述自动引导车直线通过所述下一位置;和如果所述下一位置为转向点,控制所述自动引导车在所述下一位置进行转向。

本发明提出了一种自适应的弧线转弯决策逻辑,根据实时状态动态选择使用何种方式移动经过转向点。另外还提出了弧线转弯等待策略,提高拥堵区域使用弧线转弯的概率,提高系统整体运行效率。

以下结合附图10-19描述根据本发明第二方面的运动控制方法。

现有的弧线规划大都是基于圆弧或椭圆弧衔接直线的方式进行,然而圆弧和直线衔接在角速度上存在跳变,容易造成控制精度的降低甚至不稳定导致打滑。通常会采用大幅度降低线速度的方法衔接,这样可以一定程度上降低角速度跳变,但是影响效率,稳定性依然不足。图10示出了这样一个方案。其中机器人在进入弧线的前一刻,线速度为v,角速度为0。进入弧线的时刻,角速度为线速度v/圆弧半径r。也就是机器人开始圆弧轨迹运动的话,角速度从0跃变为v/r,对应于驱动轮的速度也会有一个跳变,此时容易造成控制不稳定,控制偏差过大。图11示出了在进入圆弧前后,机器人的左轮和右轮发生的严重速度跳变。有些公司提出了弧线转弯的方法,该方法基于圆弧或椭圆弧衔接直线的方式进行,衔接时在角速度上存在跳变,容易造成控制精度的降低甚至不稳定导致打滑。

图12示出了根据本发明一个实施例的机器人的运动控制方法600。如图10所示,运动控制方法600包括:

在步骤s601,接收起点坐标x_start、y_start和终点坐标x_target、y_target。起点坐标和终点坐标可以是物理坐标系下的坐标,也可以是逻辑坐标系下的坐标。物理坐标系即实际的二维xy方向的距离坐标系。逻辑坐标系是按照业务实际情况设定的坐标系。示例性的而非限制性的,逻辑坐标系和物理坐标系的不同之处例如可以在于,逻辑坐标系一般是以整数作为描述的,比如(1,2)、(5,10),并且坐标系方向不一定与物理坐标系重合,而且逻辑坐标系的距离单位并不一定是常见物理单位,而是以实际作业需要进行定义。因此逻辑位置和物理位置可以完全一致,也可以两者存在一定的换算关系。在本发明的概念下,逻辑坐标系下的位置参数不限于整数,也可以带有小数。这些都在本发明的保护范围内。如果事先已经建立好了场地的物理坐标系或者逻辑坐标系,可以从相应的文件或者数据库中获取即可。下文以物理坐标系为例进行说明。

在步骤s602,规划所述自动引导车从所述起点坐标到所述终点坐标的轨迹,其中所述轨迹的路径包括衔接的直线段和弧线段,其中在所述轨迹中,所述自动引导车的运动机构在所述直线段和弧线段的交界处不存在速度的跃变。

机器人的运动机构例如包括至少两组车轮,其中一组车轮位于所述轨迹的内侧,其中一组车轮位于所述轨迹的外侧。也就是说,当沿着机器人的运动方向观察时,至少一组车轮位于左侧,至少一组车轮位于右侧。根据步骤s602,使得在规划的轨迹中,机器人的内侧车轮与外侧车轮在所述直线段和弧线段的交界处的前后不发生速度的跃变。

本发明中,“不存在速度的跃变”的含义是在从直线段进入弧线段前后的机器人运动机构的线速度和/或角速度没有发生明显的变化,例如以进入弧线前的速度v1为参考,进入弧线后的速度v2,相对于v1的变化率不超过20%,或者不超过10%,或者不超过5%,均可认为速度没有发生明显的变化。

本发明中,机器人的“轨迹”除了包括机器人的路径曲线以外,还至少包括机器人的速度规划。并且优选的,包括机器人的速度、角速度、x方向和y方向的位移曲线。

在步骤s603,控制所述自动引导车按照所述规划的轨迹运动。

图13示出了本发明的运动控制方法600的原理和效果。在方法600的步骤s602中,运动的规划使得在路径曲线的直线段和弧线段的交界处不存在速度的跃变,有利于减小控制偏差,降低冲击。与之相对照的,图11中所示的运动控制方法获得的轨迹,两轮机器人在进入圆弧时和离开圆弧时,速度发生了明显的跃变。这被认为是不利的,会影响控制偏差,产生冲击。

下面描述根据本发明一个优选实施例的规划所述自动引导车从所述起点坐标到所述终点坐标的轨迹的方法。

运动控制方法600还包括接收线速度v,v是机器人匀速从所述起点坐标到达所述终点坐标的速度。其中所述规划轨迹的步骤s602包括:

在步骤s6021,计算多个特征时间点。这多个特征时间点位于从起点坐标到达终点坐标的时间段上,包括两端。

在步骤s6022,根据所述多个特征时间点计算所述自动引导车的加速度和角加速度。

在步骤s6023,根据所述加速度、角加速度计算所述轨迹。

根据本发明一个优选的实施例,步骤s6021中的多个特征时间点包括16个特征时间点t0-t15,分别计算如下(单位为ts):

t0=1;

t1=accmax/jerk/ts+t0;

t2=vmax/accmax/ts+t0;

t3=t2+t1-t0;

t4=t3+floor((x_target-0.8305)/vmax/ts+0.5);

t5=omgaccmax/omgjerk/ts+t4;

t6=omgmax/omgaccmax/ts+t4;

t7=t6+t5-at0;

t8=targetomg/omgmax/ts+t4;

t9=t8+t5-t4;

t10=t8+t6-t4;

t11=t8+t7-t4;

t12=t11+1+floor((y_target-0.8305)/vmax/ts+0.5);

t13=t4+t1-t0;

t14=t4+t2-t0;

t15=t4+t3-t0;

其中ts为采样周期,轨迹最大速度vmax=线速度v,accmax为轨迹最大加速度值,jerk为轨迹最大加加速度值,omgmax为弧形最大角速度,omgaccmax为弧形最大角加速度,omgjerk为弧形最大角加加速度,targetomg为弧线弧度,floor为取整函数,例如向下取整。

其中根据本发明一个优选实施例,轨迹最大加速度值accmax=vmax*5,轨迹最大加加速度值jerk=accmax/ts/10;弧形最大角速度omgmax=50/180*pi;弧形最大角加速度omgaccmax=omgmax*2;弧形最大角加加速度omgjerk=omgaccmax/ts/20;targetomg=0.5*pi为90度弧线。其中,accmax,jerk,omgmax,omgaccmax,omgjerk,可以为常数,也可以不限制其固定值,根据需要作为模块输入。

其中根据本发明一个优选实施例,计算机器人的加速度和角加速度的步骤包括:根据当前t时刻及上一时刻accn-1迭代计算当前时刻加速度accn,根据当前t时刻及上一时刻angleaccn-1迭代计算当前时刻角加速度angleaccn,具体计算方式如下:

其中根据本发明一个优选实施例,机器人的运动机构包括至少两组车轮,其中一组车轮位于所述轨迹的内侧,其中一组车轮位于所述轨迹的外侧。也就是说,当沿着机器人的运动方向观察时,至少一组车轮位于左侧,至少一组车轮位于右侧。图14是根据上述公式计算出的左右轮或左右电机的加速度。

其中根据本发明一个优选的实施例,计算轨迹的步骤包括:根据加速度及角加速度,利用以下公式计算得到轨迹:

其中thetan是角度值,即agv在某一时刻的的朝向角度。agv在某一时刻的状态包括例如位置x,y和朝向角度theta。规划的轨迹就是是x,y,thetan对时间的关系。

图15a-15b示出了根据上述公式计算出的轨迹。其中图15a示出了x坐标和y方向的坐标轨迹,图15b示出了x方向随时间的位移以及y方向随时间的位移。

根据图15b,基于所获得的轨迹,可以得到机器人左右轮的速度曲线,如图16所示。从图中可以看到,在进入弧线时,左右轮的速度均没有发生跃变。

上面是以targetomg=0.5*pi即90度弧线为例进行了说明。可以根据具体的需求设置,例如令targetomg=0.5*pi,即以180度弧线实现转弯,如图17所示。

以上实施例中计算到了三阶,即最高计算到最大加加速度值和最大角加加速度值。实际中,为了实现更精细的运动控制,可以计算到更高阶,即最大加加加速度值和最大角角角速度值。这些都在本发明的范围内。

本发明还涉及一种用于机器人的运动控制设备,包括:

接收起点坐标x_start、y_start和终点坐标x_target、y_target的单元;

规划所述自动引导车从所述起点坐标到所述终点坐标的轨迹的单元,其中所述轨迹的路径包括衔接的直线段和弧线段,其中在所述轨迹中,所述自动引导车的运动机构在所述直线段和弧线段的交界处不存在速度的跃变;和

控制所述自动引导车按照所述规划轨迹运动的单元。

图18示出了根据本发明一个实施例的一种自动仓储系统700。如图18所示,自动仓储系统700包括:一个或多个自动引导车701以及控制单元702,控制单元702与自动引导车701通讯,并配置成执行如上所述的运动控制方法600。控制单元702与自动引导车可以通过无线的方式来进行通讯,例如通过2g、gprs、edge、3g、4g、5g、wifi、蓝牙、zigbee等各种方式来进行连接通讯。

图19示出了根据本发明的一种计算机程序产品800的框图。信号承载介质802可以被实现为或者包括计算机可读介质806、计算机可记录介质808、计算机通信介质810或者它们的组合,其存储可配置处理单元以执行先前描述的过程中的全部或一些的编程指令804。这些指令可以包括例如用于使一个或多个处理器执行如下处理的一个或多个可执行指令:接收起点坐标x_start、y_start和终点坐标x_target、y_target;规划所述自动引导车从所述起点坐标到所述终点坐标的轨迹,其中所述轨迹的路径包括衔接的直线段和弧线段,所述轨迹中,所述自动引导车的运动机构在所述直线段和弧线段的交界处不存在速度的跃变;和控制所述自动引导车按照所述规划的轨迹运动。

本发明的实施例提供了一种一类弧线轨迹的规划方法,轨迹在时间上连续不跳变,运动控制的稳定性高,精度高。弧线轨迹中,机器人质心的线速度固定,角速度轨迹曲线随时间呈s型,平滑。弧线轨迹中,机器人驱动轮的速度轨迹曲线呈s型,平滑。该弧线轨迹在网格坐标系中可以实现90度平滑转弯,180度u型转弯。

差速agv可以采用左右轮速度平滑过渡。开始时刻到结束时刻,离散间隔没有大范围跳变。

本领域技术人员可以理解,本发明第二方面的运动控制方法600可以应用于本发明第一方面的自动引导车的控制方法100和200。例如,在控制方法100中,在步骤s104,如果所述下一位置为转向点,控制所述自动引导车在所述下一位置进行转向。例如可以输入转弯的起点和终点,通过运动控制方法600来进行转弯的轨迹规划,规划所述自动引导车从所述起点坐标到所述终点坐标的轨迹,其中所述轨迹的路径包括衔接的直线段和弧线段,其中在所述轨迹中,所述自动引导车的运动机构在所述直线段和弧线段的交界处不存在速度的跃变。

或者在图6中,在步骤s207和/或s205,通过运动控制方法600来进行转弯的轨迹规划,规划所述自动引导车从所述起点坐标到所述终点坐标的轨迹,其中所述轨迹的路径包括衔接的直线段和弧线段,其中在所述轨迹中,所述自动引导车的运动机构在所述直线段和弧线段的交界处不存在速度的跃变。

以直角弧线转弯为例,例如在图3中,转弯的起点的可以为单元格(1,1)(或者相应的物理坐标),转弯的终点可以为单元格(2,2)(或者相应的物理坐标)。以u型转弯为例,例如在图4中,转弯的起点可以为单元格(1,1)或者(1,2)(或者它们相对应的物理坐标),转弯的重点可以为单元格(2,2)或或(2,1)(或者它们相对应的物理坐标)。

虽然前面的详细说明已经通过框图、流程图和/或示例的使用阐述了装置和/或过程的各个示例,但是这样的框图、流程图和/或示例包含一项或多项功能和/或操作,本领域技术人员将理解的是,可以通过各种各样的硬件、软件、固件或几乎其任意组合来单独地和/或统一地实现这样的框图、流程图或示例内的每个功能和/或操作。在一个示例中,本文所描述的主题的若干部分可经由专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)或其它集成形式来实现。然而,本领域技术人员将理解的是,本文公开的示例的一些方面可以整体地或部分地被等同地实现在集成电路中、实现为在一个或多个计算机上运行的一个或多个计算机程序(例如,实现为在一个或多个计算机系统上运行的一个或多个程序)、实现为在一个或多个处理器上运行的一个或多个程序(例如,实现为在一个或多个微处理器上运行的一个或多个程序)、实现为固件、或实现为以上的几乎任何组合,并且根据本公开的内容,针对所述软件和/或固件设计电路和/或编写代码将在本领域技术人员的技能范围内。例如,如果使用者判定速度和精度重要,则使用者可以选择主硬件和/或固件媒介物;如果灵活性重要,则使用者可以选择主软件实施方式;或者,另外可选地,使用者可以选择硬件、软件和/或固件的某组合。

另外,本领域技术人员将理解的是,本文所描述的主题的机制能够作为各种形式的程序产品被分发,并且不管实际上用于实施分发的信号承载介质的具体类型如何,本文所描述的主题的说明性示例都适用。信号承载介质的示例包括但不限于以下:可记录型介质,诸如软盘、硬盘驱动器、压缩盘(cd)、数字视频盘(dvd)、数字带、计算机存储器等;以及传输型介质,诸如数字和/或模拟通信介质(例如,光纤光缆、波导、有线通信链路、无线通信链路等)。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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