掌桥专利:专业的专利平台
掌桥专利
首页

一种自动引导车辆及其曲线路径跟踪方法、控制装置

文献发布时间:2023-06-19 11:22:42


一种自动引导车辆及其曲线路径跟踪方法、控制装置

技术领域

本申请属于自动控制技术领域,尤其涉及一种自动引导车辆及其曲线路径跟踪方法、控制装置。

背景技术

自动引导车辆(Automated Guided Vehicle,AGV)指装备有电磁或光学等自动引导装置,能够沿预先规划的路径行驶的多功能移载车辆。AGV因具有智能化程度高和节约劳动成本等优点,已被广泛应用于物流业和制造业等行业中。

AGV的运动控制是实现AGV高精度、高可靠性运行的关键。现有的AGV运动控制系统通常包括路径规划模块、路径跟踪控制模块及执行机构。其中,路径规划模块规划好路径后,路径跟踪控制模块会根据规划好的路径以及AGV的实际运动情况计算出AGV的各个运动参量的控制值,并根据各个运动参量的控制值生成用于控制AGV运动的控制指令,执行机构通过执行该控制指令实现对AGV的运动控制,以不断减小或消除AGV在运动过程中的位姿偏差,使AGV能够按照规划好的路径安全稳定地行驶,实现对AGV的路径跟踪。

在AGV的路径跟踪中,曲线路径的跟踪是难点。现有的曲线路径跟踪方法通常是根据AGV的位姿信息直接计算出AGV的各个运动参量的控制值,而基于此控制量对AGV进行运动控制会降低AGV的曲线路径跟踪的精确度。

发明内容

有鉴于此,本申请实施例提供了一种自动引导车辆及其曲线路径跟踪方法、控制装置,以解决现有的AGV的曲线路径跟踪方法的精确度较低的技术问题。

第一方面,本申请实施例提供一种自动引导车辆的曲线路径跟踪方法,包括:

在所述自动引导车辆沿预设的曲线路径运动的过程中,获取所述自动引导车辆在当前时刻的位置信息;

根据所述位置信息,从所述曲线路径对应的多个离散的轨迹点中确定目标轨迹点;其中,所述目标轨迹点为所述自动引导车辆已经过的最后一个轨迹点的下一个相邻的轨迹点;

根据所述目标轨迹点的曲率半径和所述自动引导车辆在所述当前时刻的理想线速度,确定所述自动引导车辆在所述当前时刻的第一旋转角速度;

根据所述自动引导车辆在所述当前时刻相对于所述目标轨迹点的偏航信息,确定所述自动引导车辆在所述当前时刻的第二旋转角速度;

根据所述第一旋转角速度和所述第二旋转角速度确定所述自动引导车辆在所述当前时刻的目标旋转角速度,并基于所述理想线速度和所述目标旋转角速度对所述自动引导车辆进行运动控制。

可选的,在所述根据所述自动引导车辆在所述当前时刻相对于所述目标轨迹点的偏航信息,确定所述自动引导车辆在所述当前时刻的第二旋转角速度之前,所述曲线路径跟踪方法还包括:

获取所述自动引导车辆在所述当前时刻的姿态信息;

根据所述位置信息和所述姿态信息确定所述偏航信息。

可选的,所述姿态信息通过所述自动引导车辆在所述当前时刻的正朝向表示;相应地,所述根据所述位置信息和所述姿态信息确定所述偏航信息,包括:

根据所述位置信息确定所述自动引导车辆在所述当前时刻相对于所述目标轨迹点的路径偏差信息;

确定所述自动引导车辆在所述当前时刻的正朝向与所述目标轨迹点的切线的第一方向构成的第一夹角的值,并将所述第一夹角的值确定为所述自动引导车辆在所述当前时刻相对于所述目标轨迹点的航向角偏差值;

根据所述路径偏差信息和所述航向角偏差值确定所述第二旋转角速度。

可选的,所述路径偏差信息包括路径偏差值和路径偏差方向;相应地,所述根据所述位置信息确定所述自动引导车辆在所述当前时刻相对于所述目标轨迹点的路径偏差信息,包括:

确定所述当前时刻所述自动引导车辆的中心点在第二直线上的投影距离,并将所述投影距离确定为所述路径偏差值;其中,所述第二直线为所述目标轨迹点与所述最后一个轨迹点的连线所在的直线;

根据所述中心点、所述目标轨迹点以及所述最后一个轨迹点,采用预设的向量面积法确定所述路径偏差方向。

可选的,所述根据所述第一旋转角速度和所述第二旋转角速度确定所述自动引导车辆在所述当前时刻的目标旋转角速度,包括:

将所述第一旋转角速度和所述第二旋转角速度的加权和确定为所述目标旋转角速度。

可选的,在所述从所述曲线路径对应的多个离散的轨迹点中确定目标轨迹点之前,所述曲线路径跟踪方法还包括:

获取所述曲线路径,并对所述曲线路径进行离散化处理,得到所述曲线路径对应的多个离散的轨迹点;

计算每个所述轨迹点的曲率半径。

第二方面,本申请实施例提供一种自动引导车辆的控制装置,包括:

位置获取单元,用于在所述自动引导车辆沿预设的曲线路径运动的过程中,获取所述自动引导车辆在当前时刻的位置信息;

第一确定单元,用于根据所述位置信息,从所述曲线路径对应的多个离散的轨迹点中确定目标轨迹点;其中,所述目标轨迹点为所述自动引导车辆已经过的最后一个轨迹点的下一个相邻的轨迹点;

第二确定单元,用于根据所述目标轨迹点的曲率半径和所述自动引导车辆在所述当前时刻的理想线速度,确定所述自动引导车辆在所述当前时刻的第一旋转角速度;

第三确定单元,用于根据所述自动引导车辆在所述当前时刻相对于所述目标轨迹点的偏航信息,确定所述自动引导车辆在所述当前时刻的第二旋转角速度;

第四确定单元,用于根据所述第一旋转角速度和所述第二旋转角速度确定所述自动引导车辆在所述当前时刻的目标旋转角速度,并基于所述理想线速度和所述目标旋转角速度对所述自动引导车辆进行运动控制。

第三方面,本申请实施例提供一种自动引导车辆的控制装置,所述控制装置包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面或第一方面的任意可选方式所述的曲线路径跟踪方法。

第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面的任意可选方式所述的曲线路径跟踪方法。

第五方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在控制装置上运行时,使得控制装置执行上述第一方面或第一方面的任意可选方式所述的曲线路径跟踪方法。

第六方面,本申请实施例提供一种自动引导车辆包括:路径规划模块、控制装置及执行机构;所述控制装置与所述路径规划模块和所述执行机构通信连接;所述控制装置用于执行如上述第一方面或第一方面的任意可选方式所述的曲线路径跟踪方法。

实施本申请实施例提供的自动引导车辆及其曲线路径跟踪方法、控制装置、计算机可读存储介质及计算机程序产品具有以下有益效果:

本申请实施例提供的自动引导车辆的曲线路径跟踪方法,由于根据目标轨迹点的曲率半径和自动引导车辆在当前时刻的理想线速度确定出的第一旋转角速度可以用于描述自动引导车辆在当前时刻的旋转角速度的理想值;根据自动引导车辆在当前时刻相对于目标轨迹点的偏航信息确定出的第二旋转角速度可以用于描述自动引导车辆在当前时刻的旋转角速度的偏差值;因此根据第一旋转角速度和第二旋转角速度确定出的目标旋转角速度同时考虑了旋转角速度的理想值和偏差值,那么基于目标旋转角速度对自动引导车辆进行运动控制,可以很大程度地减小甚至消除自动引导车辆沿曲线路径运动时的偏差,从而提高了对自动引导车辆的曲线路径跟踪的精确度。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种自动引导车辆的曲线路径跟踪方法的示意性流程图;

图2为本申请实施例提供的一种自动引导车辆沿预设的曲线路径运动的示意性场景图;

图3为本申请另一实施例提供的一种自动引导车辆的曲线路径跟踪方法的示意性流程图;

图4为本申请实施例提供的一种自动引导车辆的曲线路径跟踪方法中的S17的示意性流程图;

图5为本申请实施例提供的一种自动引导车辆的控制装置的结构示意图;

图6为本申请另一实施例提供的一种自动引导车辆的控制装置的结构示意图;

图7为本申请实施例提供的一种自动引导车辆的结构示意图。

具体实施方式

为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一旋转角速度和第二旋转角速度仅仅是为了区分不同的旋转角速度,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。

需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。

请参阅图1,图1为本申请实施例提供的一种自动引导车辆的曲线路径跟踪方法的示意性流程图。该曲线路径跟踪方法的执行主体可以是自动引导车辆(Automated GuidedVehicle,AGV)的控制装置。在实际应用中,AGV包括但不限于双轮差速AGV或四轮差速AGV等。AGV的控制装置可以设置在AGV的内部,也可以设置在AGV的外部,此处不做限制。

本申请实施例中,AGV的控制装置可以与AGV的定位模块、路径规划模块及执行机构等通信连接。其中,路径规划模块用于为AGV规划路径;控制装置用于根据路径规划模块规划的路径以及AGV的实际运动情况,采用预设的控制算法生成用于控制AGV运动的控制指令;执行机构通过执行该控制指令来实现对AGV的运动控制,从而减小或消除AGV在运动过程中的位姿偏差,使AGV能够按照规划好的路径安全稳定地行驶,实现对AGV的路径跟踪;定位模块用于对AGV进行定位进而获取AGV的位置信息。

如图1所示,该曲线路径跟踪方法可以包括S11~S14,详述如下:

S11:在所述自动引导车辆沿预设的曲线路径运动的过程中,获取所述自动引导车辆在当前时刻的位置信息。

预设的曲线路径指预先规划好的需要控制AGV沿此运动的曲线路径。在实际应用中,预设的曲线路径可以由AGV的路径规划模块生成。

其中,曲线路径的曲线类型可根据实际需求设置,此处不做限制。例如,曲线路径可以是二阶贝塞尔类型的曲线路径,该类型的曲线路径由起点、终点及控制点构成,通过调整控制点的位置可以得到同类型的多种不同的曲线路径。

由于在对AGV进行路径跟踪时,AGV的控制装置需要根据预设的曲线路径以及AGV的实际运动情况生成用于控制AGV运动的控制指令。且AGV的实际运动情况可以通过AGV在运动过程中的位置信息、实际的线速度以及实际的旋转角速度等参量来描述。因此,本申请实施例中,在AGV开始沿预设的曲线路径运动后,AGV的控制装置需要获取AGV在当前时刻的位置信息。其中,当前时刻指AGV的控制装置获取AGV的位置信息的时刻。

在一种可能的实现方式中,在AGV沿预设的曲线路径运动的过程中,AGV的控制装置可以实时获取AGV在当前时刻的位置信息,即AGV的控制装置可以获取AGV在沿预设的曲线路径运动的过程中的每个时刻的位置信息。

在另一种可能的实现方式中,在AGV沿预设的曲线路径运动的过程中,AGV的控制装置可以每隔第一时长获取一次AGV在当前时刻的位置信息,即AGV的控制装置可以获取AGV在沿预设的曲线路径运动的过程中的多个预设时刻的位置信息。其中,每相邻两个预设时刻之间间隔第一时长,第一时长大于0,第一时长的具体数值可以根据实际需求设置,此处不做限制。

在实际应用中,AGV的控制装置可以从AGV的定位模块处获取定位模块对AGV进行定位而得到的位置信息。作为示例而非限定,AGV的位置信息可以通过AGV的中心点所在的位置在预设坐标系中的坐标表示。其中,预设坐标系可以是针对预设的曲线路径建立的平面坐标系。例如,预设坐标系可以是如图2所示的由x轴和y轴构成的平面直角坐标系,AGV的位置信息可以通过AGV的中心点B在该坐标系中的坐标表示。

S12:根据所述位置信息,从所述曲线路径对应的多个离散的轨迹点中确定目标轨迹点。

为了提高AGV的曲线路径跟踪的精确度,可以将预设的曲线路径离散化为多个离散的轨迹点。通常,在控制AGV沿预设的曲线路径运动时,理想情况下,需要控制AGV从预设的曲线路径的起点开始,依次经过该曲线路径上的每个轨迹点,最终到达该曲线路径的终点。示例性的,如图2所示,假如轨迹点D为曲线路径L3的起点,轨迹点E为曲线路径L3的终点,则在理想情况下,需要控制AGV从轨迹点D开始,依次经过曲线路径L3上的每个轨迹点,最终到达轨迹点E。

本申请实施例中,目标轨迹点为曲线路径对应的多个离散的轨迹点中,AGV已经过的最后一个轨迹点的下一个相邻的轨迹点。AGV已经过的最后一个轨迹点指:AGV已经过的轨迹点中的最后一个轨迹点。示例性的,假如AGV在某个时刻运动至如图2所示的位置,则AGV在当前时刻已经过的轨迹点仅包括轨迹点D,那么轨迹点D为AGV已经过的轨迹点中的最后一个轨迹点,由于轨迹点D的下一个相邻的轨迹点为轨迹点A,因此目标轨迹点为轨迹点A。

在本申请的一个实施例中,对预设的曲线路径进行进行离散化处理的步骤可以由AGV的控制装置执行,基于此,在S12之前,AGV的曲线路径跟踪方法还可以包括以下步骤:

获取所述曲线路径,并对所述曲线路径进行离散化处理,得到所述曲线路径对应的多个离散的轨迹点;

计算每个所述轨迹点的曲率半径。

AGV的控制装置从路径规划模块处获取到预设的曲线路径后,可以采用预设的曲线离散化算法对预设的曲线路径进行离散化处理。其中,预设的曲线离散化算法可以是现有的任一曲线离散化算法,例如,预设的曲线离散化算法可以是道格拉斯-普克(DouglasPeucker)算法。

在对预设的曲线路径进行离散化处理得到多个离散的轨迹点后,AGV的控制装置可以根据该曲线路径对应的曲线方程得到每个轨迹点的曲率,并根据每个轨迹点的曲率计算每个轨迹点的曲率半径。具体地,曲率半径为曲率的倒数。

S13:根据所述目标轨迹点的曲率半径和所述自动引导车辆在所述当前时刻的理想线速度,确定所述自动引导车辆在所述当前时刻的第一旋转角速度。

理想线速度指根据预设的线速度控制策略确定出的需要控制AGV基于此运动的线速度。其中,预设的线速度控制策略可以根据实际需求设置。

示例性的,假如将AGV的整个运动过程划分为三个连续的时段,分别为第一时段、第二时段及第三时段,那么预设的线速度控制策略可以为:在第一时段控制AGV加速运动,在第二时段控制AGV匀速运动,在第三时段控制AGV减速运动。其中,AGV在第一时段的起始线速度、AGV在第一时段的第一加速度值、AGV在第三时段的第二加速度值、第一时段的时长、第二时段的时长及第三时段的时长均可以根据实际需求设置,此处不做限制。

AGV的控制装置可以根据预设的线速度控制策略计算出AGV在沿预设的曲线路径运动的过程中的每个时刻的理想线速度。

本申请实施例中,AGV的控制装置可以将AGV在当前时刻的理想线速度与目标轨迹点的曲率半径的比值作为AGV在当前时刻的第一旋转角速度。其中,第一旋转角速度指AGV的中心点的第一旋转角速度。第一旋转角速度用于描述自动引导车辆在当前时刻的旋转角速度的理想值。

S14:根据所述自动引导车辆在所述当前时刻相对于所述目标轨迹点的偏航信息,确定所述自动引导车辆在所述当前时刻的第二旋转角速度。

AGV在当前时刻相对于目标轨迹点的偏航信息用于描述AGV在当前时刻偏离目标轨迹点的具体情况。

在本申请的一个实施例中,AGV在当前时刻相对于目标轨迹点的偏航信息可以通过AGV在当前时刻相对于目标轨迹点的路径偏差和角度偏差表示。由于路径偏差与AGV的位置信息相关,角度偏差与AGV的姿态信息相关,因此,AGV的控制装置可以根据AGV在当前时刻的位置信息和姿态信息,确定AGV在当前时刻相对于目标轨迹点的偏航信息。

AGV的控制装置得到AGV在当前时刻相对于目标轨迹点的偏航信息后,可以基于该偏航信息,通过预设的偏差控制算法计算AGV在当前时刻的第二旋转角速度。

其中,第二旋转角速度指AGV的中心点的第二旋转角速度。第二旋转角速度用于描述自动引导车辆在当前时刻的旋转角速度的偏差值。

预设的偏差控制算法可以根据需求设置,例如,预设的控制算法可以为偏差的比例积分微分(Proportion Integral Differential,PID)控制算法。

S15:根据所述第一旋转角速度和所述第二旋转角速度确定所述自动引导车辆在所述当前时刻的目标旋转角速度,并基于所述理想线速度和所述目标旋转角速度对所述自动引导车辆进行运动控制。

目标旋转角速度指需要控制AGV在当前时刻基于此运动的角速度。需要说明的是,本实施例中的目标旋转角速度指AGV的中心点的目标旋转角速度。

在本申请的一个实施例中,AGV的控制装置可以将AGV在当前时刻的第一旋转角速度和第二旋转角速度的加权和确定为AGV在当前时刻的目标旋转角速度。其中,第一旋转角速度对应的第一加权系数和第二旋转角速度对应的第二加权系数均可以根据实际需求设置,此处不做限制。例如,第一加权系数和第二加权系数均可以为1,当第一加权系数和第二加权系数均为1时,目标旋转角速度为第一旋转角速度与第二旋转角速度之和。

在实际应用中,AGV的控制装置基于AGV在当前时刻的理想线速度和目标旋转角速度对AGV进行运动控制具体可以包括:AGV的控制装置基于目标旋转角速度以及当前时刻的理想线速度,结合AGV在当前时刻的实际线速度和实际旋转角速度,生成针对AGV的运动控制指令,并将该控制指令发送至AGV的执行机构,以指示执行机构根据该运动控制指令对AGV进行运动控制。其中,AGV在当前时刻的实际线速度和实际旋转角速度可以从AGV的运动传感器(例如速度传感器和陀螺仪等)处获取。

需要说明的是,由于AGV的目标旋转角速度和实际旋转角速度等都指的是AGV的中心点的旋转角速度,因此,作为示例而非限定,对于双轮差速AGV而言,AGV的控制装置在生成运动控制指令时,通常需要将AGV的中心点的旋转角速度转换为两个车轮各自对应的旋转角速度。

以上可以看出,本申请实施例提供的自动引导车辆的曲线路径跟踪方法,由于根据目标轨迹点的曲率半径和自动引导车辆在当前时刻的理想线速度确定出的第一旋转角速度可以用于描述自动引导车辆在当前时刻的旋转角速度的理想值;根据自动引导车辆在当前时刻相对于目标轨迹点的偏航信息确定出的第二旋转角速度可以用于描述自动引导车辆在当前时刻的旋转角速度的偏差值;因此根据第一旋转角速度和第二旋转角速度确定出的目标旋转角速度同时考虑了旋转角速度的理想值和偏差值,那么基于目标旋转角速度对自动引导车辆进行运动控制,可以很大程度地减小甚至消除自动引导车辆沿曲线路径运动时的偏差,从而提高了对自动引导车辆的曲线路径跟踪的精确度。

请参阅图3,图3为本申请另一实施例提供的一种自动引导车辆的曲线路径跟踪方法的示意性流程图。如图3所示,相对于图1对应的实施例,本实施例在S14之前,还可以包括S16~S17,详述如下:

S16:获取所述自动引导车辆在所述当前时刻的姿态信息。

AGV在当前时刻的姿态信息可以通过AGV在当前时刻的正朝向表示。示例性的,如图2所示,AGV在当前时刻的正朝向为射线L2所指的方向。

在实际应用中,AGV的控制装置可以从AGV中的陀螺仪处获取AGV在当前时刻的姿态信息。

S17:根据所述位置信息和所述姿态信息确定所述偏航信息。

本实施例中,由于AGV在当前时刻相对于目标轨迹点的偏航信息可以通过AGV在当前时刻相对于目标轨迹点的路径偏差和角度偏差表示。基于此,S17具体可以通过如图4所示的S171~S173实现,详述如下:

S171:根据所述位置信息确定所述自动引导车辆在所述当前时刻相对于所述目标轨迹点的路径偏差信息。

本实施例中,AGV在当前时刻相对于目标轨迹点的路径偏差信息用于描述AGV在当前时刻偏离预设的曲线路径的距离和方向。基于此,路径偏差信息可用包括路径偏差值和路径偏差方向;相应地,S171具体可以包括以下步骤:

确定所述当前时刻所述自动引导车辆的中心点在第二直线上的投影距离,并将所述投影距离确定为所述路径偏差值;

根据所述中心点、所述目标轨迹点以及所述最后一个轨迹点,采用预设的向量面积法确定所述路径偏差方向。

其中,第二直线为目标轨迹点与AGV在当前时刻已经过的轨迹点中的最后一个轨迹点的连线所在的直线。示例性的,假如当前时刻AGV运动至如图2所示的位置,则轨迹点D为AGV在当前时刻已经过的轨迹点中的最后一个轨迹点,轨迹点A为目标轨迹点。那么,第二直线为轨迹点A与轨迹点D的连线所在的直线,当前时刻AGV的中心点B在第二直线上的投影距离(即线段BC的长度)即为当前时刻AGV相对于目标轨迹点的路径偏差值。其中,线段BC垂直于轨迹点A与轨迹点D的连线所在的直线。

路径偏差方向用于描述AGV偏离预设的曲线路径的方向,即用于描述当前时刻AGV的中心点与第一射线的位置关系。其中,第一射线指由AGV在当前时刻已经过的最后一个轨迹点指向目标轨迹点的射线。AGV的中心点与第一射线的位置关系包括以下几种情况:AGV的中心点在第一射线的左侧、AGV的中心点在第一射线的右侧以及AGV的中心点在第一射线上。

AGV的控制装置具体可以根据当前时刻AGV的中心点的坐标、目标轨迹点的坐标以及AGV在当前时刻已经过的最后一个轨迹点的坐标,采用设的向量面积法确定AGV当前时刻的路径偏差方向。

预设的向量面积法可以根据实际需求设置,此处不做限制。例如,预设的向量面积法可以为:基于第一向量和第二向量的乘积确定AGV当前时刻的路径偏差方向。其中,第一向量指由AGV当前时刻已经过的最后一个轨迹点指向目标轨迹点的向量,第二向量指由AGV当前时刻已经过的最后一个轨迹点指向AGV的中心点的向量。具体地,当第一向量和第二向量的乘积大于0时,表示当前时刻AGV的中心点在第一射线的左侧;当第一向量和第二向量的乘积小于0时,表示当前时刻AGV的中心点在第一射线的右侧;当第一向量和第二向量的乘积等于0时,表示当前时刻AGV的中心点在第一射线上。

S172:确定所述自动引导车辆在所述当前时刻的正朝向与所述目标轨迹点的切线的第一方向构成的第一夹角的值,并将所述第一夹角的值确定为所述自动引导车辆在所述当前时刻相对于所述目标轨迹点的航向角偏差值。

其中,第一方向指目标轨迹点朝向曲线路径的终点的方向。

示例性的,假如当前时刻AGV运动至如图2所示的位置,则AGV的正朝向(即射线L2所指的方向)与目标轨迹点AD的切线的第一方向(即射线L1所指的方向)构成的第一夹角为图2中的θ,因此,AGV的控制装置可以将θ的值确定为AGV在当前时刻相对于目标轨迹点的航向角偏差值。

S173:根据所述路径偏差信息和所述航向角偏差值确定所述第二旋转角速度。

本实施例中,AGV的控制装置得到AGV在当前时刻相对于目标轨迹点的路径偏差信息和航向角偏差值后,可以采用预设的偏差控制算法计算得到AGV在当前时刻的第二旋转角速度。

以上可以看出,本实施例中提供的曲线路径跟踪方法,由于AGV相对于目标轨迹点的偏航信息包括路径偏差信息和航向角偏差值,且路径偏差信息通过路径偏差值和路径偏差方向表示,因此可以提高计算得到的目标旋转角速度的精确度,进而进一步提高AGV的曲线路径跟踪的精确度。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

基于上述实施例所提供的自动引导车辆的曲线路径跟踪方法,本发明实施例进一步给出实现上述方法实施例的控制装置的实施例。

请参阅图5,图5为本申请实施例提供的一种自动引导车辆的控制装置的结构示意图。为了便于说明,仅示出了与本实施例相关的部分。如图5所示,自动引导车辆的控制装置50包括:位置获取单元51、第一确定单元52、第二确定单元53、第三确定单元54及第四确定单元55。其中:

位置获取单元51用于在所述自动引导车辆沿预设的曲线路径运动的过程中,获取所述自动引导车辆在当前时刻的位置信息。

第一确定单元52用于根据所述位置信息,从所述曲线路径对应的多个离散的轨迹点中确定目标轨迹点;其中,所述目标轨迹点为所述自动引导车辆已经过的最后一个轨迹点的下一个相邻的轨迹点。

第二确定单元53用于根据所述目标轨迹点的曲率半径和所述自动引导车辆在所述当前时刻的理想线速度,确定所述自动引导车辆在所述当前时刻的第一旋转角速度。

第三确定单元54用于根据所述自动引导车辆在所述当前时刻相对于所述目标轨迹点的偏航信息,确定所述自动引导车辆在所述当前时刻的第二旋转角速度。

第四确定单元55用于根据所述第一旋转角速度和所述第二旋转角速度确定所述自动引导车辆在所述当前时刻的目标旋转角速度,并基于所述理想线速度和所述目标旋转角速度对所述自动引导车辆进行运动控制。

可选的,控制装置50还包括:姿态获取单元和第五确定单元。其中:

姿态获取单元用于获取所述自动引导车辆在所述当前时刻的姿态信息。

第五确定单元用于根据所述位置信息和所述姿态信息确定所述偏航信息。

可选的,所述姿态信息通过所述自动引导车辆在所述当前时刻的正朝向表示;相应地,第五确定单元具体包括:路径偏差确定单元、航向角偏差确定单元及第二旋转角速度确定单元。其中:

路径偏差确定单元用于根据所述位置信息确定所述自动引导车辆在所述当前时刻相对于所述目标轨迹点的路径偏差信息。

航向角偏差确定单元用于确定所述自动引导车辆在所述当前时刻的正朝向与所述目标轨迹点的切线的第一方向构成的第一夹角的值,并将所述第一夹角的值确定为所述自动引导车辆在所述当前时刻相对于所述目标轨迹点的航向角偏差值。

第二旋转角速度确定单元用于根据所述路径偏差信息和所述航向角偏差值确定所述第二旋转角速度。

可选的,所述路径偏差信息包括路径偏差值和路径偏差方向;相应地,路径偏差确定单元具体包括:偏差值确定单元和偏差方向确定单元。其中:

偏差值确定单元用于确定所述当前时刻所述自动引导车辆的中心点在第二直线上的投影距离,并将所述投影距离确定为所述路径偏差值;其中,所述第二直线为所述目标轨迹点与所述最后一个轨迹点的连线所在的直线。

偏差方向确定单元用于根据所述中心点、所述目标轨迹点以及所述最后一个轨迹点,采用预设的向量面积法确定所述路径偏差方向。

可选的,第四确定单元55具体用于:将所述第一旋转角速度和所述第二旋转角速度的加权和确定为所述目标旋转角速度。

可选的,控制装置50还包括:路径处理单元和第一计算单元。其中:

路径处理单元用于获取所述曲线路径,并对所述曲线路径进行离散化处理,得到所述曲线路径对应的多个离散的轨迹点。

第一计算单元用于计算每个所述轨迹点的曲率半径。

需要说明的是,上述模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参照方法实施例部分,此处不再赘述。

请参阅图6,图6为本申请另一实施例提供的一种自动引导车辆的控制装置的结构示意图。如图6所示,该实施例提供的控制装置6包括:处理器60、存储器61以及存储在存储器61中并可在处理器60上运行的计算机程序62,例如自动引导车辆的曲线跟踪方法对应的程序。处理器60执行计算机程序62时实现上述各个自动引导车辆的曲线跟踪方法实施例中的步骤,例如图1所示的S11~S15。或者,处理器60执行计算机程序62时实现上述各控制装置实施例中各模块/单元的功能,例如图5所示的单元51~55的功能。

示例性的,计算机程序62可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器61中,并由处理器60执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序62在控制装置6中的执行过程。例如,计算机程序62可以被分割成位置获取单元、第一确定单元、第二确定单元、第三确定单元及第四确定单元,各单元的具体功能请参阅图5对应的实施例中的相关描述,此处不赘述。

本领域技术人员可以理解,图6仅仅是控制装置6的示例,并不构成对控制装置6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。

处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器61可以是控制装置6的内部存储单元,例如控制装置6的硬盘或内存。存储器61也可以是控制装置6的外部存储设备,例如控制装置6上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡或闪存卡(Flash Card)等。进一步地,存储器61还可以既包括控制装置6的内部存储单元也包括外部存储设备。存储器61用于存储计算机程序以及控制装置所需的其他程序和数据。存储器61还可以用于暂时地存储已经输出或者将要输出的数据。

请参阅图7,图7为本申请实施例提供的一种自动引导车辆的结构示意图。如图7所示,该自动引导车辆70包括:路径规划模块71、控制装置72及执行机构73。其中,控制装置72与路径规划模块71和执行机构73通信连接。

路径规划模块71用于为AGV规划路径;控制装置72用于根据路径规划模块71规划的路径以及AGV的实际运动情况,采用预设的控制算法生成用于控制AGV运动的控制指令;执行机构73通过执行该控制指令来实现对AGV的运动控制,从而减小或消除AGV在运动过程中的位姿偏差,使AGV能够按照规划好的路径安全稳定地行驶,实现对AGV的路径跟踪。

具体地,控制装置72用于执行自动引导车辆的曲线路径跟踪方法实施例中的各步骤。

在本申请的另一个实施例中,自动引导车辆70还包括与控制装置72连接的定位模块。定位模块用于对AGV进行定位进而获取AGV的位置信息。

本申请实施例还提供了一种计算机可读存储介质。计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时可实现上述自动引导车辆的曲线路径跟踪方法。

本申请实施例提供了一种计算机程序产品,当计算机程序产品在控制装置上运行时,使得控制装置执行时实现可实现上述自动引导车辆的曲线路径跟踪方法。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述自动引导车辆的控制装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参照其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

相关技术
  • 一种自动引导车辆及其曲线路径跟踪方法、控制装置
  • 基于回旋曲线追随的智能车辆路径跟踪方法及系统
技术分类

06120112902127