轨迹生成方法、装置和无人驾驶地面车辆与流程

文档序号:16504900发布日期:2019-01-05 08:58阅读:174来源:国知局
轨迹生成方法、装置和无人驾驶地面车辆与流程

本发明实施例涉及无人机技术领域,尤其涉及一种轨迹生成方法、装置和无人驾驶地面车辆。



背景技术:

目前,无人驾驶拖拉机已面市,其可以耕地、喷洒农药和收割庄稼等,给农业领域带来了极大的好处,例如节省用户时间、提高作业效率、增加作业收益以及提高农业机械的利用效率等。由于该无人驾驶拖拉机是无人驾驶且是自动行驶的,所以预先要设定好行驶轨迹,无人驾驶拖拉机根据设定好的行驶轨迹进行行驶,以实现精准地耕地、喷洒农药和收割庄稼等操作。目前,设定行驶轨迹的方式为:绘制待行驶区域的高精度地图,然后人为在该高精度地图上根据需要进行轨迹规划,且保证该高精度地图与实际接收到反馈的精度一致。但是,获取高精度地图以及人为进行轨迹规划,需要耗费大量人力物力,行驶轨迹的设定效率低下。



技术实现要素:

本发明实施例提供一种轨迹生成方法、装置和无人驾驶地面车辆,用于提高规划行驶轨迹的效率。

第一方面,本发明实施例提供一种轨迹生成方法,包括:

获取在待规划区域中实际行驶轨迹中各轨迹点的行驶参数,所述行驶参数包括以下至少一种:行驶位置、速度、加速度、行驶时间;

根据获取的所述行驶参数,获取所述实际行驶轨迹中的n个轨迹点,所述n为大于或等于2的整数;

根据所述n个轨迹点的行驶参数,生成无人驾驶地面车辆在所述待规划区域中的规划行驶轨迹。

第二方面,本发明实施例提供一种轨迹生成装置,包括:存储器和处理器;

所述存储器,用于存储程序指令;

所述处理器,用于调用所述存储器中存储的所述程序指令以实现如第一方面本发明实施例所述的轨迹生成方法。

第三方面,本发明实施例提供一种无人驾驶地面车辆,包括如第一方面本发明实施例所述的轨迹生成装置。

第四方面,本发明实施例提供一种芯片,包括:存储器和处理器;

所述存储器,用于存储程序指令;

所述处理器,用于调用所述存储器中存储的所述程序指令以实现如第一方面本发明实施例所述的轨迹生成方法。

第五方面,本发明提供一种存储介质,包括:可读存储介质和计算机程序,所述计算机程序用于实现如第一方面本发明实施例所述的轨迹生成方法。

本发明实施例提供的轨迹生成方法、装置和无人驾驶地面车辆,通过获取在待规划区域中实际行驶轨迹中各轨迹点的行驶参数,然后根据获取的所述行驶参数,获取所述实际行驶轨迹中的n个轨迹点;再根据所述n个轨迹点的行驶参数,生成无人驾驶地面车辆在所述待规划区域中的规划行驶轨迹。本实施例中生成的规划行驶轨迹是根据该n个轨迹点的行驶参数生成的,该n个轨迹点是实际行驶轨迹中的轨迹点,并且该n个轨迹点的行驶参数也是实际行驶轨迹中的行驶参数,所以生成的规划行驶轨迹非常接近实际行驶轨迹,而且对用户来说,用户只需要操作机器实际行驶一遍即可,无需人为绘制高精度地区,也无需进行人为进行轨迹规划,因此,本实施例生成的规划行驶轨迹的准确度更高而且效率更高。

附图说明

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

图1是根据本发明的实施例的无人驾驶系统100的示意性架构图;

图2为本发明一实施例提供的轨迹生成方法的流程图;

图3为本发明一实施例提供的修正生成的行驶轨迹的一种操作示意图;

图4为本发明另一实施例提供的轨迹生成方法的流程图;

图5为本发明一实施例提供的导引轨迹的一种示意图;

图6为本发明一实施例提供的轨迹生成装置的结构示意图;

图7为本发明另一实施例提供的轨迹生成装置的结构示意图;

图8为本发明一实施例提供的无人驾驶地面车辆的结构示意图;

图9为本发明另一实施例提供的无人驾驶地面车辆的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。无人驾驶地面车辆

本发明的实施例提供了轨迹生成方法、装置和无人驾驶地面车辆。无人驾驶地面车辆可以是无人驾驶拖拉机、无人驾驶机器人等,本发明的实施例并不限于此。

图1是根据本发明的实施例的无人驾驶系统100的示意性架构图。本实施例以无人驾驶地面车辆为例进行说明。

无人驾驶系统100可以包括无人驾驶地面车辆110、显示设备130和控制装置140。其中,无人驾驶地面车辆110可以包括动力系统150、控制系统160和机架。无人驾驶地面车辆110可以与控制装置140和显示设备130进行无线通信。

动力系统150可以包括一个或多个电子调速器(简称为电调)151、一个或多个车轮153以及与一个或多个车轮153相对应的一个或多个电机152,其中电机152连接在电子调速器151与车轮153之间,电机152和车轮153设置在无人驾驶地面车辆110上;电子调速器151用于接收控制系统160产生的驱动信号,并根据驱动信号提供驱动电流给电机152,以控制电机152的转速。电机152用于驱动车轮转动,从而为无人驾驶地面车辆110的行驶提供动力,该动力使得无人驾驶地面车辆110能够实现一个或多个自由度的运动。应理解,电机152可以是直流电机,也可以交流电机。另外,电机152可以是无刷电机,也可以是有刷电机。

控制系统160可以包括控制器161和传感系统162。传感系统162用于测量无人驾驶地面车辆的状态信息,即无人驾驶地面车辆110的位置信息和状态信息,例如,位置、角度、速度、加速度和角速度等。传感系统162例如可以包括陀螺仪、超声传感器、电子罗盘、惯性测量单元(inertialmeasurementunit,imu)、视觉传感器、全球导航卫星系统和气压计等传感器中的至少一种。例如,全球导航卫星系统可以是全球定位系统(globalpositioningsystem,gps)。控制器161用于控制无人驾驶地面车辆110的行驶,例如,可以根据传感系统162测量的状态信息控制无人驾驶地面车辆110的行驶。应理解,控制器161可以按照预先编好的程序指令对无人驾驶地面车辆110进行控制,也可以通过响应来自控制装置140的一个或多个控制指令对无人驾驶地面车辆110进行控制。

显示设备130可以通过无线方式与无人驾驶地面车辆110进行通信,并且可以用于显示无人驾驶地面车辆110的状态信息。另外,还可以在显示设备130上显示无人驾驶地面车辆110上安装的成像装置拍摄的图像。应理解,显示设备130可以是独立的设备,也可以集成在控制装置140中。

控制装置140可以通过无线方式与无人驾驶地面车辆110进行通信,用于对无人驾驶地面车辆110进行远程操纵。

应理解,上述对于无人驾驶系统各组成部分的命名仅是出于标识的目的,并不应理解为对本发明的实施例的限制。

图2为本发明一实施例提供的轨迹生成方法的流程图,如图2所示,本实施例的方法可以包括:

s201、获取在待规划区域中实际行驶轨迹中各轨迹点的行驶参数,所述行驶参数包括如下至少一种:行驶位置、速度、加速度、行驶时间。

本实施例中用户可以手动控制无人驾驶地面车辆在待规划区域内行驶,或者,用户驾驶农用拖拉机在待规划区域内行驶等。以农用拖拉机为例,在行驶起点(即起始轨迹点)时启动惯性测量系统、载波相位差分(realtimekinematic,rtk)测量系统和控制系统,然后用户驾驶农用拖拉机沿所需的路线行驶,在行驶过程中,惯性测量系统、rtk测量系统可以实时采集行驶参数,该行驶参数可以包括以下至少一种:行驶位置、速度、加速度、行驶时间。其中,惯性测量系统可以采集速度、加速度,rtk测量系统可以采集行驶位置、行驶时间。由于行驶路线是由各个轨迹点组成,而且行驶参数可以实时获取,因此可以获得各个轨迹点的行驶参数。

s202、根据获取的所述行驶参数,获取所述实际行驶轨迹中的n个轨迹点,所述n为大于或等于2的整数。

s203、根据所述n个轨迹点的行驶参数,生成无人驾驶地面车辆在所述待规划区域中的规划行驶轨迹。

本实施例中,可以根据实际行驶轨迹中各轨迹点的行驶参数,从实际行驶轨迹中获取n个轨迹点,该n个轨迹点用于生成规划行驶轨迹,至少需要两个轨迹点生成行驶轨迹,因此,n为大于或等于2的整数。在获得n个轨迹点之后,根据该n个轨迹点的行驶参数,生成该规划区域中的规划行驶轨迹。该规划行驶轨迹可以用于无人驾驶地面车辆在该规划区域中行驶,后需无人驾驶地面车辆在该规划区域中可以按照该规划行驶轨迹进行行驶,使得无人驾驶地面车辆的行驶轨迹接近上述s201中的实际行驶轨迹。

本实施例中,通过获取在待规划区域中实际行驶轨迹中各轨迹点的行驶参数,然后根据获取的所述行驶参数,获取所述实际行驶轨迹中的n个轨迹点;再根据所述n个轨迹点的行驶参数,生成无人驾驶地面车辆在所述待规划区域中的规划行驶轨迹。本实施例中生成的规划行驶轨迹是根据该n个轨迹点的行驶参数生成的,该n个轨迹点是实际行驶轨迹中的轨迹点,并且该n个轨迹点的行驶参数也是实际行驶轨迹中的行驶参数,所以生成的规划行驶轨迹非常接近实际行驶轨迹,而且对用户来说,用户只需要操作机器实际行驶一遍即可,无需人为绘制高精度地区,也无需进行人为进行轨迹规划,因此,本实施例生成的规划行驶轨迹的准确度更高而且效率更高。

在一些实施例中,上述s202的一种可能的实现方式包括s2021和s2022。

s2021、根据获取的所述行驶参数,获取所述实际行驶轨迹中各轨迹点的轨迹曲率。

本实施例中,根据上述获取的实际行驶轨迹中各轨迹点的行驶参数,获取该各轨迹点的轨迹曲率。

在一些实施例中,本实施例中执行s2021时,还可以剔除所述各轨迹点中具有异常轨迹曲率的轨迹点;并根据剔除异常轨迹曲率的轨迹点后的各轨迹点的轨迹曲率,获取所述各轨迹点的轨迹曲率变化率。如此操作,可以剔除掉测量行驶参数时测量噪声引入的野值,以便后续根据n个轨迹点生成的规划行驶路线更准确。其中,本实施例可以通过低通滤波剔除掉异常轨迹曲率的轨迹点。异常轨迹曲率的轨迹点可以是指具有较高频率的信号。

其中,上述s2021的一种实现方式可以包括s20211和s20212:

s20211、根据各轨迹点的所述行驶参数,以及行驶参数与轨迹曲率半径的关系,获取所述各轨迹点的轨迹曲率半径。

本实施例中,轨迹点的轨迹曲率半径与轨迹点的行驶参数有关,其中这两者之间存在一定的关系,因此,可以根据各轨迹点的行驶参数,以及行驶参数与轨迹曲率半径的关系,获得各轨迹点的轨迹曲率半径。

其中,本实施例例如可以根据如下公式一获取各轨迹点的轨迹曲率半径;公式一:r=|x(t)’y(t)”-x(t)”y(t)’|/((x(t)’)^2+(y(t)’)^2)^(3/2)。

其中,行驶位置包括x(t)和y(t),r表示轨迹曲率半径,x(t)表示行驶时间为t时的轨迹点相对于预设基准点朝北的距离,y(t)表示行驶时间为t时的轨迹点相对于预设基准点朝东的距离;防大学x(t)’表示x(t)的一阶导数,如表示朝南北向的速度;x(t)”表示x(t)的二阶导数,如表示朝南北向的加速度;y(t)’表示y(t)的一阶导数,如表示朝东西向的速度;y(t)”表示y(t)的二阶导数,如表示朝东西向的加速度。

s20212、根据各轨迹点的所述轨迹曲率半径,获取所述各轨迹点的所述轨迹曲率。

本实施例中,轨迹曲率半径与轨迹曲率之间存在一定关系,因此,在获取到各轨迹点的轨迹曲率半径之后,根据该轨迹曲率半径,获得各轨迹点的轨迹曲率。

其中,本实施例例如可以根据公式二:k=1/r,获得各轨迹点的轨迹曲率。其中,k表示轨迹曲率,r表示轨迹曲率半径。

s2022、根据所述各轨迹点的轨迹曲率,从所述各轨迹点中获取所述n个轨迹点。

本实施例中,在获得各轨迹点的轨迹曲率之后,根据各轨迹点的轨迹曲率,从实际行驶轨迹的各轨迹点中获取上述n个轨迹点。

在一些实施例中,s2021和s2022中的各轨迹点可以是指剔除了异常轨迹曲率的轨迹点后的各轨迹点。

其中,s2022的一种可能的实现方式可以包括:s20221和s20222。

s20221、根据所述各轨迹点的轨迹曲率,获取所述各轨迹点的轨迹曲率变化率。

本实施例中,轨迹曲率与轨迹曲率变化率之间存在一定关系,在获得各轨迹点的轨迹曲率之后,获取各轨迹点的轨迹曲率变化率。其中,本实施例可以根据各轨迹点的轨迹曲率半径的一阶导数,获取各轨迹点的轨迹曲率变化率。

例如本实施例可以根据公式三:α=k’,获取所述各轨迹点的轨迹曲率变化率。其中,k表示轨迹曲率,α表示曲率变化率,k’表示k的一阶导数。

s20222、根据所述各轨迹点的轨迹曲率变化率,从所述各轨迹点中获取所述n个轨迹点。

本实施例中,在获得各轨迹点的轨迹曲率变化率之后,根据各轨迹点的轨迹曲率变化率,从实际行驶轨迹的各轨迹点中获取上述n个轨迹点。

其中,本实施例可以将各轨迹点的曲率变化率与曲率变化率阈值进行比较,判断轨迹点的曲率变化率是否大于曲率变化率阈值,若轨迹点的曲率变化率大于曲率变化率阈值,则将该轨迹点确定为该n个轨迹点中一个,若轨迹点的曲率变化率小于或等于曲率变化率阈值,则将该轨迹点排除在该n个轨迹点之外,如此操作,本实施例可以将实际行驶轨迹中曲率变化率大于曲率变化率阈值的轨迹点确定为上述n个轨迹点。

在一些实施例中,上述s203的一种可能的实现方式可以包括:s2031和s2032。

s2031、根据所述n个轨迹点的行驶参数以及预设轨迹生成规则,生成行驶轨迹。

本实施例中,在获得n个轨迹点的行驶参数之后,根据该n个轨迹点的行驶参数以及预设轨迹生成规则,生成行驶轨迹。

其中,该预设轨迹生成规则包括:用于表示各轨迹点的行驶位置、速度、加速度和行驶时间之间的关系的五阶多项式。

其中,根据n个轨迹点中两个相邻的轨迹点的行驶参数,以及预设轨迹生成规则,生成这两个相邻的行驶轨迹,然后将所有根据两个相邻的轨迹点生成的行驶轨迹结合,可以获得n个轨迹点的行驶轨迹。

下面以两个相邻轨迹点为例,分别为轨迹点1和轨迹点2。设轨迹点1的行驶位置为(x1,y1),速度为(vx1,vy1),加速度(ax1,ay1),行驶时间为t1,轨迹点2的位置为(x2,y2),速度为(vx2,vy2),加速度为(ax2,ay2),行驶时间为t2。

设上述五阶多项式为:f(t)=at5+bt4+ct3+dt2+et+f,则对于x方向(可以认为朝北方向)而言存在如下公式四:

根据上述公式四可以解出五阶多项式的六个系数,即解出a、b、c、d、e、f。

此外,五阶多项式中一阶导数就是速度,二阶导数就是加速度。自动驾驶过程中,计算当前轨迹点的行驶位置、速度和加速度,只需要将时间t带入上式即可得到当前时间所需要的各个指标。

其中,y方向(可以认为是朝东方向)同理可以得到,此处不再赘述。

s2032、根据生成的行驶轨迹,获得无人驾驶地面车辆在所述待规划区域中的规划行驶轨迹。

本实施例中,在根据上述预设轨迹生成规则生成行驶轨迹之后,根据生成的行驶轨迹,获得无人驾驶地面车辆在该待规划区域中的规划行驶迹。

其中,s2032的一种可能的实现方式可以包括:s20321-s20323。

s20321、从所述生成的行驶轨迹中确定m个采样轨迹点,所述m为大于或等于1的整数。

本实施例中,在生成行驶轨迹之后,从生成的行驶轨迹中确定m个采样轨迹点,m为大于或等于1的整数,m小于或等于n。该m个采样轨迹点可以是在生成的行驶轨迹上等距离取的轨迹点,也可以是从n个轨迹点中等间隔相同轨迹点数的轨迹点,本实施例对此不做限定。

s20322、根据所述m个采样轨迹点,确定所述生成的行驶轨迹与所述实际行驶轨迹之间的误差。

本实施例中,根据获得的m个采样轨迹点,确定生成的行驶轨迹与实际行驶轨迹之间的误差。

其中,s20322的一种可能的实现方式为:确定所述m个采样轨迹点中每个采样轨迹点到所述实际行驶轨迹之间的最短距离;根据所述m个采样轨迹点中每个采样轨迹点到所述实际行驶轨迹之间的最短距离,确定所述生成的行驶轨迹与所述实际行驶轨迹之间的误差值。例如:本实施例可以将m个采样轨迹点到实际行驶轨迹之间的最短距离的平均值,例如:(d1+d2+...+dm)/m,确定为等于该生成的行驶轨迹与实际行驶轨迹之间的误差,在其它实施例中,也不限于平均值,也可以取加权平均值,或者,最小值,或者,最大值,本实施例对此不做限定。

s20323、在所述误差小于或等于预设误差阈值时,根据所述生成的行驶轨迹,获得所述规划行驶轨迹。

本实施例中,将上述确定的所述生成的行驶轨迹与实际行驶轨迹之间的误差,与,预设误差阈值进行比较,若该误差小于或等于预设误差阈值,则根据该生成的行驶轨迹,获得所述规划行驶轨迹。这样可以保证获得的规划行驶轨迹与实际行驶轨迹之间的误差足够小,提高了规划行驶轨迹的准确率。

可选地,若该误差大于预设误差阈值时,则更新上述实施例中所述的曲率变化率阈值,更新后的曲率变化率阈值小于更新前的曲率变化率阈值,即调小曲率变化率阈值,例如每次调整的增量是相同。结合有关曲率变化率阈值的实施例中,在曲率变化率阈值调小的情况下,本实施例再将所述各轨迹点中轨迹曲率变化率大于更新后的曲率变化率阈值的轨迹点重新确定为所述n个轨迹点,则此时重新获得的n个轨迹点的数量更多,然后再根据重新获得的n个轨迹点的行驶参数,获得规划行驶轨迹。

在一些实施例中,本实施例在生成行驶轨迹之后,还在显示界面中显示生成的行驶轨迹与实际行驶轨迹,以便用户获得自动生成的行驶轨迹与实际行驶轨迹之间的区别,用户可以选择对生成的行驶轨迹进行调整或者不调整。

若用户对生成的行驶轨迹不调整,则用户输入确认操作,该确认操作用于确认生成该规划行驶轨迹,本实施例检测到用户输入的确认操作,并根据该确认操作以及生成的行驶轨迹,确定无人驾驶地面车辆在该待规划区域中的规划行驶轨迹,例如确定该规划行驶轨迹为该生成的行驶轨迹。

若用户对生成的行驶轨迹进行调整,则用户输入修正操作,该修正操作包括以下至少一项:剔除所述生成的行驶轨迹中的至少一个轨迹点、为所述生成的行驶轨迹增加至少一个轨迹点、改变所述生成的行驶轨迹中的至少一个轨迹点的位置。然后根据该修正操作,对生成的行驶轨迹进行修正,修正之后,在显示界面中显示修正后的生成的行驶轨迹,以便用户判断修正后的生成的行驶轨迹是否符合要求。若不符合要求,可以继续修正,若符合要求,用户可以输入确认操作,该确认操作用于确认生成该规划行驶轨迹,本实施例检测到用户输入的确认操作,并根据该确认操作以及修正后的生成的行驶轨迹,确定无人驾驶地面车辆在该待规划区域中的规划行驶轨迹,例如确定该规划行驶轨迹为该修正后的生成的行驶轨迹。其中,修正操作如图3所示,用户可以对图3所示的轨迹点的位置进行改变,可以删除该轨迹点,在图3所示的生成的行驶轨迹的例子中,该生成的行驶轨迹中与实际行驶轨迹可以部分重合。

图4为本发明另一实施例提供的轨迹生成方法的流程图,如图4所示,本实施例的方法在图2所示实施例的基础上,在执行s203之后可以包括:

s401、检测用户输入的控制操作,所述控制操作用于控制无人驾驶地面车辆按照所述规划行驶轨迹行驶。

s402、根据所述控制操作,控制所述无人驾驶地面车辆按照所述规划行驶轨迹在所述待规划区域中行驶。

本实施例中,在用户需要控制无人驾驶地面车辆按照规划行驶轨迹进行自动行驶时,用户输入控制操作,该控制操作用于控制无人驾驶地面车辆按照所述规划行驶轨迹行驶。本实施例检测到用户输入的控制操作之后,根据该控制操作控制所述无人驾驶地面车辆按照所述规划行驶轨迹在所述待规划区域中行驶。

需要说明的是,执行图4所示方法的装置与执行图2所示方法的装置可以为同一装置,因此,在生成规划行驶轨迹之后,保存该规划行驶轨迹,然后执行s401和s402。或者,执行图4所示方法的装置与执行图2所示方法的装置不是同一装置,则本实施例获取生成的规划行驶轨迹,然后执行s401和s402。

本实施例中,通过控制无人驾驶地面车辆根据生成的规划行驶轨迹在待规划区域中行驶,使得无人驾驶地面车辆的实际行驶轨迹非常接近用户所需的行驶轨迹,提高了用户体验。

在一些实施例中,本实施例还获取所述规划行驶轨迹的起始轨迹点位置以及从所述起始轨迹点开始行驶的起始方向角,例如可以通过rtk惯性测量系统获取方向角。该起始轨迹点位置也可以是上述实际行驶轨迹的起点位置,起始方向角也可以是上述实际行驶轨迹在该起点位置开始行驶的方向角。其中,方向角为机身朝向与正北方向的夹角。

如果无人驾驶地面车辆当前的位置未处于规划行驶轨迹的起始轨迹点位置,和/或,无人驾驶地面车辆当前的方向角与所述起始方向角不同,则需要将无人驾驶地面车辆的位置调整至该起始轨迹点位置,以及将无人驾驶地面车辆的方向角调整为起始方向角,从而后续才能保证无人驾驶地面车辆更精确地按照上述规划行驶轨迹进行行驶。因此,本实施例根据所述无人驾驶地面车辆当前的位置、所述无人驾驶地面车辆当前的方向角、所述起始轨迹点位置以及所述起始方向角,生成导引轨迹。其中,所述导引轨迹的起点为所述无人驾驶地面车辆当前的位置,所述导引轨迹的终点为所述起始轨迹点,所述无人驾驶地面车辆在所述导引轨迹的起点的方向角为所述无人驾驶地面车辆当前的方向角,所述无人驾驶地面车辆在所述导引轨迹的终点的方向角为所述起始方向角。然后本实施例控制无人驾驶地面车辆按照该导引轨迹行驶,使得无人驾驶地面车辆按照导引轨迹行驶结束时的位置为起始轨迹点位置,方向角为上述起始方向角。

在一些实施例中,该导引轨迹包括弧线导引轨迹,这样可以保证均匀地调整无人驾驶地面车辆的位置和/或方向角。

在一些实施例中,该导引轨迹还可以包括直线导引轨迹,例如:在弧线导引轨迹之前还包括加速直线导引轨迹,在弧线导引轨迹之后还包括减速直线导引轨迹。

一般情况下,无人驾驶地面车辆的当前位置与起始轨迹点不一定完全重合,在这种情况下,考虑无人驾驶地面车辆(例如农用拖拉机)必须经过规划行驶轨迹的起始轨迹点开始作业的需求(避免轨迹绕过起始轨迹点毁坏农作物),需要生成导引轨迹,具体过程的一个例子如下所示:

先根据无人驾驶地面车辆实际性能(平稳运行速度和加减速性能),在当前位置和起始轨迹点之间延伸出直线型的加速段和减速段,即加速直线导引轨迹和减速直线导引轨迹。其中,加速直线导引轨迹和减速直线导引轨迹之间用弧形导引轨迹作为过渡,并保证无人驾驶地面车辆匀速行驶。其中,导引轨迹的一个例子如如图5所示。

假设弧形导引轨迹的起点位置为(xa,ya),速度为(vxa,vya),终点位置为(xb,yb),速度为(vxb,vyb)。两点的速度大小相等,但朝向不同。再根据公式五:

可以解出圆心坐标(x,y),同时可以解出半径

最后利用圆公式x=rcosθ,y=rsinθ,θ为此时无人驾驶地面车辆距离圆心的方位角(无人驾驶地面车辆与圆心连线和正北方向的夹角)。

至此,可以获得上述导引轨迹。

本发明实施例中还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,所述程序执行时可包括如图2、图4及其对应实施例中的轨迹生成方法的部分或全部步骤。

图6为本发明一实施例提供的轨迹生成装置的结构示意图,如图6所示,本实施例的轨迹生成装置600可以包括:存储器601和处理器602。处理器602可以是中央处理单元(centralprocessingunit,cpu),该处理器602还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器601,用于存储程序指令;

所述处理器602,用于调用所述存储器601中存储的所述程序指令以实现:

获取在待规划区域中实际行驶轨迹中各轨迹点的行驶参数,所述行驶参数包括:行驶位置、速度、加速度、行驶时间;

根据获取的所述行驶参数,获取所述实际行驶轨迹中的n个轨迹点,所述n为大于或等于2的整数;

根据所述n个轨迹点的行驶参数,生成无人驾驶地面车辆在所述待规划区域中的规划行驶轨迹。

在一些实施例中,所述处理器602,具体用于:

根据获取的所述行驶参数,获取所述实际行驶轨迹中各轨迹点的轨迹曲率;

根据所述各轨迹点的轨迹曲率,从所述各轨迹点中获取所述n个轨迹点。

在一些实施例中,所述处理器602,具体用于:

根据所述各轨迹点的轨迹曲率,获取所述各轨迹点的轨迹曲率变化率;

根据所述各轨迹点的轨迹曲率变化率,从所述各轨迹点中获取所述n个轨迹点。

在一些实施例中,所述处理器602,具体用于:

将所述各轨迹点中轨迹曲率变化率大于曲率变化率阈值的轨迹点确定为所述n个轨迹点。

在一些实施例中,所述处理器602,具体用于:

剔除所述各轨迹点中具有异常轨迹曲率的轨迹点;

根据剔除异常轨迹曲率的轨迹点后的各轨迹点的轨迹曲率,获取所述各轨迹点的轨迹曲率变化率。

在一些实施例中,所述处理器602,具体用于:

根据各轨迹点的所述行驶参数,以及行驶参数与轨迹曲率半径的关系,获取所述各轨迹点的轨迹曲率半径;

根据各轨迹点的所述轨迹曲率半径,获取所述各轨迹点的所述轨迹曲率。

在一些实施例中,所述处理器602,具体用于:

根据各轨迹点的轨迹曲率半径的一阶导数,获取所述各轨迹点的轨迹曲率变化率。

在一些实施例中,所述处理器602,具体用于:

根据所述n个轨迹点的行驶参数以及预设轨迹生成规则,生成行驶轨迹;

根据生成的行驶轨迹,获得无人驾驶地面车辆在所述待规划区域中的规划行驶轨迹。

在一些实施例中,所述预设轨迹生成规则包括:用于表示各轨迹点的行驶位置、速度、加速度和行驶时间之间的关系的五阶多项式。

在一些实施例中,所述处理器602,具体用于:

从所述生成的行驶轨迹中确定m个采样轨迹点,所述m为大于或等于1的整数;

根据所述m个采样轨迹点,确定所述生成的行驶轨迹与所述实际行驶轨迹之间的误差;

在所述误差小于或等于预设误差阈值时,根据所述生成的行驶轨迹,获得所述规划行驶轨迹。

在一些实施例中,所述处理器602,具体用于:

确定所述m个采样轨迹点中每个采样轨迹点到所述实际行驶轨迹之间的最短距离;

根据所述m个采样轨迹点中每个采样轨迹点到所述实际行驶轨迹之间的最短距离,确定所述生成的行驶轨迹与所述实际行驶轨迹之间的误差。

在一些实施例中,所述处理器602,具体用于:

将所述m个采集轨迹点到所述实际行驶轨迹之间的最短距离的平均值,确定为等于所述生成的行驶轨迹与所述实际行驶轨迹之间的误差。

在一些实施例中,所述处理器602,还用于:

若所述误差大于所述预设误差阈值,则更新曲率变化率阈值,更新后的曲率变化率阈值小于更新前的曲率变化率阈值。

本实施例的装置,可以用于执行本发明上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图7为本发明另一实施例提供的轨迹生成装置的结构示意图,如图7所示,本实施例的轨迹生成装置600在图6所示实施例的基础上,还可以包括:显示界面603。

在一些实施例中,所述显示界面603,用于在所述处理器根据生成的行驶轨迹,获得无人驾驶地面车辆在所述待规划区域中的规划行驶轨迹之前,在显示界面中显示所述生成的行驶轨迹与所述实际行驶轨迹;

所述处理器602,具体用于:通过所述显示界面603检测用户输入的确认操作,所述确认操作用于确认生成所述规划行驶轨迹;以及根据用户输入的确认操作以及所述生成的行驶轨迹,确定无人驾驶地面车辆在所述待规划区域中的规划行驶轨迹。

在一些实施例中,所述处理器602,在检测用户输入的确认操作之前,还通过显示界面603检测用户输入的修正操作;以及根据用户输入的修正操作,对所述生成的行驶轨迹进行修正,所述修正操作包括以下至少一项:剔除所述生成的行驶轨迹中的至少一个轨迹点、为所述生成的行驶轨迹增加至少一个轨迹点、改变所述生成的行驶轨迹中的至少一个轨迹点的位置;

所述显示界面603,还用于显示修正后的所述生成的行驶轨迹;

所述处理器602在根据用户输入的确认操作以及所述生成的行驶轨迹,确定所述规划行驶轨迹时,具体用于:根据用户输入的确认操作,将所述修正后的所述生成的行驶轨迹确定为所述规划行驶轨迹。

在一些实施例中,所述处理器602还用于在根据所述n个轨迹点的行驶参数,生成无人驾驶地面车辆在所述待规划区域中的规划行驶轨迹之后,通过所述显示界面603检测用户输入的控制操作,所述控制操作用于控制无人驾驶地面车辆按照所述规划行驶轨迹行驶;并根据所述控制操作,控制所述无人驾驶地面车辆按照所述规划行驶轨迹在所述待规划区域中行驶。

在一些实施例中,所述处理器602,还用于:获取所述规划行驶轨迹的起始轨迹点位置以及从所述起始轨迹点开始行驶的起始方向角;以及在控制所述无人驾驶地面车辆按照所述行驶轨迹在所述待规划区域中行驶之前,若所述无人驾驶地面车辆当前的位置与所述起始轨迹点位置不同,和/或,所述无人驾驶地面车辆当前的方向角与所述起始方向角不同,则根据所述无人驾驶地面车辆当前的位置、所述无人驾驶地面车辆当前的方向角、所述起始轨迹点位置以及所述起始方向角,生成导引轨迹,并控制所述无人驾驶地面车辆按照所述导引轨迹行驶;

所述导引轨迹的起点为所述无人驾驶地面车辆当前的位置,所述导引轨迹的终点为所述起始轨迹点,所述无人驾驶地面车辆在所述导引轨迹的起点的方向角为所述无人驾驶地面车辆当前的方向角,所述无人驾驶地面车辆在所述导引轨迹的终点的方向角为所述起始方向角;

其中,方向角为机身朝向与正北方向的夹角。

在一些实施例中,所述导引轨迹包括弧线导引轨迹。

本实施例的装置,可以用于执行本发明上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图8为本发明一实施例提供的无人驾驶地面车辆的结构示意图,如图8所示,本实施例的无人驾驶地面车辆1000包括:轨迹生成装置600。其中,所述轨迹生成装置600可以采用图6或图7所示实施例的结构,其对应地,可以执行本发明上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。

图9为本发明另一实施例提供的无人驾驶地面车辆的结构示意图,如图9所示,本实施例的无人驾驶地面车辆1000在图8所示实施例的基础上还可以包括:惯性测量系统700和rtk测量系统800;其中,轨迹生成装置600还与惯性测量系统700和rtk测量系统800通信连接。

所述惯性测量系统700,用于采集所述行驶参数中的速度和加速度;

所述rtk测量系统800,用于采集所述行驶参数中的行驶位置、行驶时间以及方向角;

所述轨迹生成装置600,还用于获取所述惯性测量系统700采集的以下至少一种:速度、加速度;和/或,获取所述rtk测量系统800采集的以下至少一种:行驶位置、行驶时间以及方向角。

在一些实施例中,所述无人驾驶地面车辆1000为无人驾驶拖拉机。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:只读内存(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

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

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