LIDAR视轴对准误差和主车辆定位误差的协同估计和校正的制作方法

文档序号:32435712发布日期:2022-12-06 18:44阅读:37来源:国知局
lidar视轴对准误差和主车辆定位误差的协同估计和校正


背景技术:

1.在这一部分中提供的信息是为了一般地呈现本公开的背景的目的。在本部分中描述的程度上,当前署名的发明人的工作以及在提交时可能原本不构成现有技术的本说明书的各方面,既不明示地也不暗示地被认为是本公开的现有技术。
2.本公开涉及车辆对象检测系统,并且更具体地涉及车辆光检测和测距(lidar)系统。
3.车辆可以包括用于检测周围环境和该环境中的对象的各种传感器。传感器可以包括相机、无线电检测和测距(radar)传感器、lidar传感器等。车辆控制器可以响应于检测到的周围环境执行各种操作。操作可以包括执行部分和/或完全自主的车辆操作、碰撞避免操作和信息报告操作。所执行的操作的准确度可以基于从传感器收集的数据的准确度。


技术实现要素:

4.提供了一种lidar到车辆对准系统,其包括存储器和自主驾驶模块。 存储器被配置为存储基于lidar传感器的输出和全球定位系统位置提供的数据点。自主驾驶模块被配置为执行对准处理,该对准处理包括:获取数据点;对所述数据点执行特征提取,以检测具有一个或多个预定特性的一个或多个预定类型的对象的一个或多个特征,其中所述一个或多个特征被确定为对应于一个或多个目标,因为所述一个或多个特征具有所述一个或多个预定特性,并且其中所述全球定位系统位置中的一个或多个是所述一个或多个目标的;确定所述一个或多个特征的地面实况位置;基于所述地面实况位置校正所述一个或多个全球定位系统位置;基于校正的一个或多个全球定位系统位置来计算lidar到车辆变换;基于所述对准处理的结果,确定是否满足一个或多个对准条件;以及响应于所述lidar到车辆变换不满足所述一个或多个对准条件,重新校准所述lidar到车辆变换中的至少一者或重新校准所述lidar传感器。
5.在其他特征中,自主驾驶模块被配置为在执行特征提取的同时检测以下中的至少一者:(i)第一预定类型的第一对象、(ii)第二预定类型的第二对象或(ii)第三预定类型的第三对象。第一预定类型是交通标志。第二预定类型是灯杆。第三预定类型是建筑物。
6.在其他特征中,自主驾驶模块被配置为在执行特征提取的同时检测第三对象的边缘或平面表面。
7.在其他特征中,自主驾驶模块被配置为在执行对准过程的同时以离线模式操作。
8.在其他特征中,自主驾驶模块被配置为在执行对准过程的同时以在线模式操作。
9.在其他特征中,所述自主驾驶模块被配置为在执行特征提取时:将来自所述lidar传感器的数据转换到车辆坐标系,然后转换到世界坐标系;以及聚合所得到的世界坐标系数据以提供数据点。
10.在其他特征中,所述自主驾驶模块被配置为在确定地面实况位置时:基于车辆速度、加速操纵器的类型和全球定位系统信号强度,将权重分配给数据点以指示数据点中的置信水平;去除数据点中的具有小于预定权重的权重值的数据点;以及确定与数据点中的
剩余数据点相对应的特征的模型以生成地面实况数据。
11.在其他特征中,模型是平面或线。
12.在其他特征中,地面实况数据包括模型、本征向量和平均向量。
13.在其他特征中,地面实况数据使用主成分分析来确定。
14.在其他特征中,lidar到车辆对准系统在车辆处实现。存储器存储惯性测量数据。所述自主驾驶模块被配置为在所述对准过程期间:基于所述惯性测量数据,确定所述车辆的取向;并且基于地面实况数据校正取向。
15.在其他特征中,所述自主驾驶模块被配置为基于先前确定的校正的全球定位系统位置来执行插值以校正所述全球定位系统位置中的一个或多个。
16.在其他特征中,所述自主驾驶模块被配置为:使用用于交通标志或灯杆的地面实况模型来校正所述一个或多个全球定位系统位置;将所述交通标志或所述灯杆的lidar点投射到平面或线;计算多个时间戳的平均全球定位系统偏移;应用所述平均全球定位系统偏移以提供所述全球定位系统位置中的经校正的一个或多个全球定位系统位置;以及基于全球定位系统位置中的校正的一个或多个全球定位系统位置来更新车辆到世界的变换。
17.在其他特征中,所述自主驾驶模块被配置为:使用地面实况点匹配来校正一个或多个全球定位系统位置和惯性测量数据,包括运行迭代最近点算法以找到当前数据和地面实况数据之间的变换,计算多个时间戳的平均全球定位系统偏移和车辆取向偏移,以及应用所述平均全球定位系统偏移和所述车辆取向偏移以生成所述全球定位系统位置中的所述校正的一个或多个全球定位系统位置以及校正的车辆取向;以及基于全球定位系统位置中的校正的一个或多个全球定位系统位置以及校正的惯性测量数据来更新车辆到世界的变换。
18.在其他特征中,提供了一种lidar到车辆对准过程,并且该过程包括:获得基于lidar传感器的输出而提供的数据点;对所述数据点执行特征提取以检测具有一个或多个预定特性的一个或多个预定类型的对象的一个或多个特征,其中所述一个或多个特征被确定为对应于一个或多个目标,因为所述一个或多个特征具有所述一个或多个预定特性;确定所述一个或多个特征的地面实况位置;基于所述地面实况位置校正所述一个或多个目标的一个或多个全球定位系统位置;基于所述校正的一个或多个全球定位系统位置来计算lidar到车辆变换;基于所述对准处理的结果,确定是否满足一个或多个对准条件;以及响应于所述lidar到车辆变换不满足所述一个或多个对准条件,重新校准所述lidar到车辆变换中的至少一者或重新校准所述lidar传感器。
19.在其他特征中,所述lidar到车辆对准过程在确定地面实况位置时还包括:基于车辆速度、加速操纵器的类型和全球定位系统信号强度,向数据点分配权重以指示数据点中的置信水平;去除数据点中的具有小于预定权重的权重值的数据点;以及使用主成分分析确定与数据点中的剩余数据点相对应的特征的模型,以生成地面实况数据,其中模型是平面或线,其中地面实况数据包括模型、本征向量和平均向量。
20.在其他特征中,所述lidar到车辆对准过程还包括:基于惯性测量数据,确定车辆的取向;并且基于地面实况数据校正取向。
21.在其他特征中,通过基于先前确定的校正的全球定位系统位置实施内插来校正所述一个或多个全球定位系统位置。
22.在其他特征中,所述lidar到车辆对准过程还包括:使用用于交通标志或灯杆的地面实况模型来校正所述一个或多个全球定位系统位置;将用于所述交通标志或所述灯杆的lidar点投射到平面或线;计算多个时间戳的平均全球定位系统偏移;应用所述平均全球定位系统偏移以提供所述经校正的一个或多个全球定位系统位置;以及基于校正的一个或多个全球定位系统位置更新车辆到世界的变换。
23.在其他特征中,所述lidar到车辆对准过程还包括:使用地面实况点匹配校正一个或多个全球定位系统位置和惯性测量数据,包括运行迭代最近点算法以找到当前数据和地面实况数据之间的变换,计算多个时间戳的平均全球定位系统偏移和车辆取向偏移,以及应用所述平均全球定位系统偏移和所述车辆取向偏移以生成所述经校正的一个或多个全球定位系统位置和经校正的车辆取向;以及基于校正的一个或多个全球定位系统位置和校正的惯性测量数据来更新车辆到世界的变换。
24.本发明还包括如下方案:方案1. 一种lidar到车辆对准系统,其包括:存储器,其被配置为存储基于lidar传感器的输出以及全球定位系统位置而提供的数据点;以及被配置成执行对准过程的自主驾驶模块,所述对准过程包括:获得所述数据点,对所述数据点执行特征提取以检测具有一个或多个预定特性的一个或多个预定类型的对象的一个或多个特征,其中,因为所述一个或多个特征具有所述一个或多个预定特性,所以所述一个或多个特征被确定为对应于一个或多个目标,以及其中所述全球定位系统位置中的一个或多个全球定位系统位置是一个或多个目标的,确定所述一个或多个特征的地面实况位置,基于所述地面实况位置来校正所述全球定位系统位置中的所述一个或多个全球定位系统位置,基于所述全球定位系统位置中的校正的一个或多个全球定位系统位置来计算lidar到车辆变换,基于所述对准过程的结果,确定是否满足一个或多个对准条件,以及响应于所述lidar到车辆变换不满足所述一个或多个对准条件,重新校准所述lidar到车辆变换中的至少一者或重新校准所述lidar传感器。
25.方案2. 根据方案1所述的lidar到车辆对准系统,其中:所述自主驾驶模块被配置为在执行特征提取时检测(i)第一预定类型的第一对象、(ii)第二预定类型的第二对象或(iii)第三预定类型的第三对象中的至少一者;以及所述第一预定类型是交通标志;第二预定类型是灯杆;以及所述第三预定类型是建筑物。
26.方案3. 根据方案2所述的lidar到车辆对准系统,其中所述自主驾驶模块被配置成在执行特征提取时检测所述第三对象的边缘或平面表面。
27.方案4. 根据方案1所述的lidar到车辆对准系统,其中所述自主驾驶模块被配置
成在执行所述对准过程时在离线模式中操作。
28.方案5. 根据方案1所述的lidar到车辆对准系统,其中所述自主驾驶模块被配置成在执行所述对准过程时在在线模式中操作。
29.方案6. 根据方案1所述的lidar到车辆对准系统,其中所述自主驾驶模块被配置成在执行特征提取时:将来自所述lidar传感器的数据转换到车辆坐标系,并且然后转换到世界坐标系;以及聚合所得到的世界坐标系数据以提供所述数据点。
30.方案7. 根据方案1所述的lidar到车辆对准系统,其中所述自主驾驶模块被配置成在确定所述地面实况位置时:基于车辆速度、加速操纵器的类型和全球定位系统信号强度,向所述数据点分配权重以指示所述数据点的置信水平;去除所述数据点中的具有小于预定权重的权重值的数据点;以及确定对应于所述数据点中的剩余数据点的特征的模型以生成所述地面实况数据。
31.方案8. 根据方案7所述的lidar到车辆对准系统,其中所述模型是平面或线。
32.方案9. 根据方案7所述的lidar到车辆对准系统,其中所述地面实况数据包括所述模型、本征向量和平均向量。
33.方案10. 根据方案7所述的lidar到车辆对准系统,其中使用主成分分析来确定所述地面实况数据。
34.方案11. 根据方案1所述的lidar到车辆对准系统,其中:所述lidar到车辆对准系统实施在车辆处;所述存储器存储惯性测量数据;以及所述自主驾驶模块被配置为,在所述对准过程期间,基于所述惯性测量数据,确定所述车辆的取向,以及基于所述地面实况数据来校正所述取向。
35.方案12. 根据方案1所述的lidar到车辆对准系统,其中所述自主驾驶模块经配置成执行内插以基于先前确定的经校正的全球定位系统位置来校正所述全球定位系统位置中的一个或多个全球定位系统位置。
36.方案13. 根据方案1所述的lidar到车辆对准系统,其中所述自主驾驶模块经配置成:使用用于交通标志或灯杆的地面实况模型来校正所述一个或多个全球定位系统位置;将所述交通标志或所述灯杆的lidar点投射到平面或线上;计算多个时间戳的平均全球定位系统偏移;应用所述平均全球定位系统偏移来提供所述全球定位系统位置中的经校正的一个或多个全球定位系统位置;以及基于所述全球定位系统位置中的经校正的一个或多个全球定位系统位置来更新车辆到世界的变换。
37.方案14. 根据方案1所述的lidar到车辆对准系统,其中所述自主驾驶模块经配置
成:使用地面实况点匹配来校正所述一个或多个全球定位系统位置和惯性测量数据,包括运行迭代最近点算法以找到当前数据和所述地面实况数据之间的变换,计算多个时间戳的平均全球定位系统偏移和车辆取向偏移,以及应用所述平均全球定位系统偏移和所述车辆取向偏移以生成所述全球定位系统位置中的经校正的一个或多个全球定位系统位置以及经校正的车辆取向;以及基于所述全球定位系统位置中的经校正的一个或多个全球定位系统位置以及经校正的惯性测量数据来更新车辆到世界的变换。
38.方案15. 一种lidar到车辆对准过程,其包括:获得基于lidar传感器的输出而提供的数据点;对所述数据点执行特征提取以检测具有一个或多个预定特性的一个或多个预定类型的对象的一个或多个特征,其中,由于所述一个或多个特征具有所述一个或多个预定特性,因此所述一个或多个特征被确定为对应于一个或多个目标;确定所述一个或多个特征的地面实况位置;基于所述地面实况位置校正所述一个或多个目标的一个或多个全球定位系统位置;基于经校正的一个或多个全球定位系统位置来计算lidar到车辆变换;基于所述对准过程的结果,确定是否满足一个或多个对准条件;以及响应于所述lidar到车辆变换不满足所述一个或多个对准条件,重新校准所述lidar到车辆变换中的至少一者或重新校准所述lidar传感器。
39.方案16. 根据方案15所述的lidar到车辆对准过程,其进一步包括在确定所述地面实况位置时:基于车辆速度、加速操纵器的类型和全球定位系统信号强度,向所述数据点分配权重以指示所述数据点中的置信水平;去除所述数据点中的具有小于预定权重的权重值的数据点;以及使用主成分分析确定对应于所述数据点中的剩余数据点的特征的模型以生成所述地面实况数据,其中所述模型是平面或线,其中所述地面实况数据包括所述模型、本征向量和平均向量。
40.方案17. 根据方案15所述的lidar到车辆对准过程,其进一步包括:基于惯性测量数据,确定车辆的取向;以及基于所述地面实况数据来校正所述取向。
41.方案18. 根据方案15所述的lidar到车辆对准过程,其中基于先前确定的经校正的全球定位系统位置通过实施内插来校正所述一个或多个全球定位系统位置。
42.方案19. 根据方案15所述的lidar到车辆对准过程,其进一步包括:使用用于交通标志或灯杆的地面实况模型来校正所述一个或多个全球定位系统位置;将所述交通标志或所述灯杆的lidar点投射到平面或线上;计算多个时间戳的平均全球定位系统偏移;
应用所述平均全球定位系统偏移来提供经校正的一个或多个全球定位系统位置;以及基于所述经校正的一个或多个全球定位系统位置来更新车辆到世界的变换。
43.方案20. 根据方案15所述的lidar到车辆对准过程,其进一步包括:使用地面实况点匹配来校正所述一个或多个全球定位系统位置和惯性测量数据,包括运行迭代最近点算法以找到当前数据和所述地面实况数据之间的变换,计算多个时间戳的平均全球定位系统偏移和车辆取向偏移,以及应用所述平均全球定位系统偏移和所述车辆取向偏移以生成所述经校正的一个或多个全球定位系统位置以及经校正的车辆取向;以及基于所述经校正的一个或多个全球定位系统位置以及所述经校正的惯性测量数据来更新车辆到世界的变换。
44.根据具体实施方式、权利要求书和附图,本公开的其他应用领域将变得显而易见。具体实施方式和具体示例仅旨在用于说明的目的,而不旨在限制本公开的范围。
附图说明
45.通过具体实施方式和附图,本公开将变得更充分地被理解,在附图中:图1是根据本公开的包括传感器对准和融合模块以及测绘和定位模块的示例车辆系统的功能框图;图2是根据本公开的包括执行全球定位系统(gps)、lidar和车辆定位校正的自主驾驶模块的示例对准系统的功能框图;图3示出了根据本公开的包括gps、lidar和车辆定位校正的示例对准方法;图4示出了根据本公开的在离线模式下操作时实现的图3的对准方法的示例部分;图5示出了根据本公开的在具有或不具有基于云的网络支持的情况下在在线模式下操作时实现的图3的对准方法的示例部分;图6示出了根据本公开的示例特征数据提取方法;图7示出了根据本公开的示例地面实况数据生成方法;图8示出了根据本公开的示例gps和惯性测量校正以及lidar与车辆对准方法;图9示出了根据本公开的使用地面实况模型的示例gps校正方法;和图10示出了根据本公开的使用地面实况点匹配的示例gps和惯性测量校正方法。
46.在附图中,可以重复使用附图标记来标识相似和/或相同的元件。
具体实施方式
47.自主驾驶模块可以执行传感器对准和融合操作、感知和定位操作、以及路径规划和车辆控制操作。可以基于从诸如lidar传感器、radar传感器、相机和惯性测量传感器(或惯性测量单元)的各种传感器收集的数据以及从全球定位系统(gps)收集的数据来执行所述操作。传感器对准和融合可包括每个传感器的坐标系与参考坐标系(诸如车辆坐标系)的对准。融合可以指收集和组合来自各种传感器的数据。
48.感知指的是对车辆周围环境的监测以及对周围环境中的各种特征和/或对象的检
测和识别。这可以包括确定特征和对象的各个方面。如本文使用的术语“特征”指的是可以可靠地用于确定对象的位置的一个或多个检测点。这与检测到的其他数据点不同,其他数据点不提供关于对象(例如,树的叶子或分支上的点)的位置的可靠信息。所确定的方面可以包括对象距离、位置、大小、形状、取向、轨迹等。这可以包括确定所检测的对象的类型,例如,对象是否是交通标志、车辆、杆、行人、地面等。还可以检测车道标记信息。特征可以指建筑物的表面、边缘或角。定位指的是确定的关于主车辆的信息,诸如位置、速度、航向等。路径规划和车辆控制(例如,制动、转向和加速)基于所收集的感知和定位信息来执行。
49.车辆可包括多个lidar传感器。包括lidar到车辆对准和lidar到lidar对准的lidar传感器对准影响所确定的感知和定位信息的精度,所确定的感知和定位信息包括特征和对象信息,诸如上述的。gps测量用于车辆定位、测绘和lidar对准。gps信号可能被降级并且导致环境的模糊图像,特别是当相应的车辆靠近大型(或高)建筑物、桥下或隧道内时,在这些地方gps信号可能被阻挡。这被称为gps信号上的多径效应。高精度gps(例如:实时实时的动态gps)也可能经历这个相同的问题。实时的动态gps使用基于载波的定位。该退化可导致例如静止对象看起来好像该对象正在移动。例如,交通标志可能看起来在移动,而实际上它是静止的。不准确的gps数据导致负面地影响基于gps和惯性测量估计的车辆位置和取向的聚合lidar数据的准确度和质量。
50.在本文阐述的示例包括使用lidar、惯性和gps测量来估计lidar视轴对准和校正主车辆位置。这包括校正gps数据和车辆取向。示例包括迭代地实现过程以生成精确的车辆位置并提供精确的lidar视轴对准的协作框架。迭代过程在执行lidar校准的同时校正gps数据。基于与多个特征相关联的lidar数据来校正gps和惯性测量信号数据。明确的和/或选择的道路元素的数据(例如,交通标志和灯杆)被用于确定地面实况。“地面实况”指的是已知正确的点和/或信息,其然后可以用作参考,基于该参考生成信息和/或做出决定。主成分分析(pca)用于表征特征。校正后的位置信息用于校准车辆与lidar的对准。来自主车辆和/或其他车辆的过去行驶历史的特征数据被用于改进算法性能。
51.图1示出了车辆102的示例车辆系统100,其包括传感器对准和融合模块104以及测绘和定位模块113。由模块104和113执行的操作将在下面参考图1至图10进一步描述。
52.车辆系统100可以包括自主驾驶模块105、车身控制模块(bcm)107、远程信息处理模块106、推进控制模块108、动力转向系统109、制动系统111、导航系统112、信息娱乐系统114、空调系统116以及其他车辆系统和模块118。自主驾驶模块105包括传感器对准和融合模块104以及测绘和定位模块113,并且还可以包括对准确认模块115、感知模块117和路径规划模块121。传感器对准和融合模块104以及测绘和定位模块113可以彼此通信和/或被实现为单个模块。测绘和定位模块113可以包括gps校正模块,如图2中所示。下面进一步描述这些模块的操作。
53.模块和系统104-108、112-115、121和118可以经由控制器局域网(can)总线、以太网、本地互连网络(lin)总线、另一总线或通信网络和/或无线地彼此通信。项119可以指和/或包括can总线、以太网网络、lin总线和/或其他总线和/或通信网络。该通信可以包括其他系统,诸如系统109、111、116。电源122可被包括并且为自主驾驶模块105和其他系统、模块、设备和/或部件供电。电源122可包括附件电源模块、一个或多个电池、发电机和/或其他电源。
54.远程信息处理模块106可包括收发器130和远程信息处理控制模块132。推进控制模块108可控制推进系统136的操作,推进系统136可包括发动机系统138和/或一个或多个电动马达140。发动机系统138可包括内燃机141、起动机马达142(或起动机)、燃料系统144、点火系统146和节气门系统148。
55.自主驾驶模块105可基于来自传感器160的数据控制所述模块和系统106、108、109、111、112、114、116、118以及其他设备和系统。其他设备和系统可以包括窗和门致动器162、内部灯164、外部灯166、行李箱马达和锁168、座椅位置马达170、座椅温度控制系统172和车辆后视镜马达174。传感器160可包括温度传感器、压力传感器、流率传感器、位置传感器等。传感器160可包括lidar传感器180、radar传感器182、相机184、惯性测量传感器186、gps系统190和/或其他环境和特征检测传感器。gps系统190可以被实现为导航系统112的一部分。lidar传感器180、惯性测量传感器186和gps系统190可以提供下面提到的lidar数据点、惯性测量数据和gps数据。
56.自主驾驶模块105可包括存储器192,其可存储传感器数据、历史数据、对准信息等。存储器192可包括专用缓冲器,这将在下文中提及。
57.图2示出了示例对准系统200,其包括执行全球定位系统(gps)、lidar和车辆定位校正的自主驾驶模块。系统200可包括第一(或主)车辆(例如,图1的车辆102)和/或其他车辆、分布式通信系统202和后台(back office)204。主车辆包括自主驾驶模块206,其可以代替图1的自主驾驶模块105、车辆传感器160、远程信息处理模块106和致动器210和/或与图1的自主驾驶模块105、车辆传感器160、远程信息处理模块106和致动器210类似地操作。致动器210可包括马达、驱动器、阀、开关等。
58.后台204可以是为车辆提供包括数据收集和处理服务的服务的中心局(central office)。后台204可以包括收发器212和具有控制模块216和存储器218的服务器214。此外或作为替代,车辆可与除服务器之外的其他基于云的网络设备通信。
59.自主驾驶模块206可取代图1的自主驾驶模块105,且可包括传感器对准及融合模块104、测绘及定位模块113、对准确认模块115、感知模块117及路径规划模块121。
60.传感器对准和融合模块104可以基于传感器160例如,传感器180、182、184、186、190)的输出执行传感器对准和融合操作,如下面进一步描述的。测绘和定位模块113执行下面进一步描述的操作。gps校正模块220可以被包括在模块104、113中的一者中。对准确认模块115确定lidar传感器和/或其他传感器是否对准,这意味着由lidar传感器和/或其他传感器为相同的一个或多个特征和/或对象提供的信息的差异在彼此的预定范围内。对准确认模块115可以确定lidar传感器的六个自由度的差值,所述自由度包括滚动、俯仰、偏航、x、y和z的差值,并且基于该信息来确定lidar传感器是否对准。x坐标可以指横向水平方向。y坐标可以指前后或纵向方向,并且z方向可以指竖直方向。x、y、z坐标可以不同地切换和/或定义。如果没有对准,则可以重新校准一个或多个lidar传感器。在一个实施例中,当lidar传感器中的一者被确定为未对准时,重新校准未对准的lidar传感器。在另一实施例中,当确定lidar传感器中的一者未对准时,重新校准包括未对准的lidar传感器的两个或更多个lidar传感器。在另一实施例中,未对准的lidar传感器被隔离并且不再使用,并且生成指示信号,该指示信号指示需要对lidar传感器进行维修。可以丢弃来自未对准传感器的数据。在未对准的lidar传感器的重新校准和/或维修之后,可以收集附加数据。
61.测绘和定位模块113以及传感器对准和融合模块104提供gps位置和lidar对准的准确结果,使得提供给感知模块117的数据对于感知操作是准确的。在验证之后,感知模块117可以基于收集的、校正的和聚合的传感器数据执行感知操作,以确定相应主车辆周围的环境的方面(例如,图1的车辆102)。这可以包括生成如上所述的感知信息。这可包括特征和对象的检测和识别(如果尚未执行),以及确定特征和对象相对于主车辆的位置、距离和轨迹。路径规划模块121可基于感知和定位模块113的输出来确定车辆的路径。路径规划模块121可以基于所确定的路径来控制车辆的操作,包括经由致动器210控制动力转向系统、推进控制模块和制动系统的操作。
62.自主驾驶模块206可在离线模式或在线模式下操作。离线模式是指当后台204收集数据并为自主驾驶模块206执行数据处理时。这可包括,例如,从车辆收集gps数据并执行gps定位校正和lidar对准以用于数据注释,并将校正gps数据和数据注释提供回自主驾驶模块206。自主驾驶模块206的神经网络可基于数据注释来训练。可以在数据注释之前进行gps位置校正。虽然图2中未示出,但是服务器214的控制模块216可以包括模块104、113和/或115中的一者或多者,和/或执行与模块104、113和/或115中的一者或多者类似的操作。
63.在离线模式期间,服务器214处理先前在延长的时间段上收集的数据。在该在线模式期间,该自主驾驶模块206执行该gps定位校正及/或该lidar对准。这可以在有或没有基于云的网络设备(诸如服务器214)的帮助的情况下实现。在该在线模式期间,该自主驾驶模块206使用收集的和/或历史数据执行实时的gps定位和lidar对准。这可以包括从其他车辆和/或基础设施设备收集的数据。基于云的网络设备可以提供历史数据、历史结果和/或执行其他操作以辅助实时的gps定位和lidar对准。实时的gps定位指的是提供主车辆的当前位置的gps信息。针对一个或多个lidar传感器的当前状态生成lidar对准信息。
64.图3示出了包括gps、lidar和车辆定位校正的对准方法。图3的操作,如同图4至图5的操作一样,可以由图1至图2模块的104、113、220中的一者或多者执行。
65.执行该对准方法以动态地校准lidar到车辆的视轴对准并且校正gps和惯性测量定位结果。该方法适用于lidar动态校准以及gps和惯性测量的校正。pca和平面拟合被用于确定例如交通标志位置的地面实况。执行多特征融合以确定诸如交通标志和灯杆之类的对象的地面实况位置数据。还可以执行用于点配准(point registration)的地面实况数据。当lidar传感器没有扫描主车辆的特定范围内的交通标志时,使用插值来校正gps测量。当搜索最佳变换时,地面实况点可以被加权以提高算法性能。地面实况数据被保存在车辆存储器和/或基于云的网络存储器中,并且在主车辆和/或其他车辆的即将到来的行程期间被应用。
66.该方法可以开始于300,其包括从传感器(诸如图1的传感器160)收集数据。所收集的gps数据包括经度、纬度和姿态数据。针对滚动、俯仰、偏航率、加速度和取向确定经由惯性测量传感器186进行惯性测量,并估计角度。在302和304处,执行特征提取。在302处,针对第一特征类型(例如,交通标志、灯杆等)执行特征检测和表征。在304处,针对第二特征类型(例如,建筑物边缘、拐角、平面表面等)执行其他特征检测和表征。
67.在306处,针对一个或多个特征和/或对象计算地面实况位置。不同的道路元素被监测,包括标志、建筑物和灯杆,其提供了充分的覆盖和稳健的系统。检测道路元素,诸如用于确定地面实况位置的交通标志。这可以包括使用来自lidar传感器的整个点云。利用交通
标志的先验知识,该交通标志具有平面平面、高强度反射率的特征以及是静止的(即,不移动),在306处实现的算法能够使用pca方法容易地表征标志数据以确定标志的地面实况位置。
68.在308处,使用一个或多个地面实况位置来校正gps位置。这可以包括执行插值以解决数据中缺失的lidar间隙,其中lidar数据对于某些时间段和/或时间戳是不可用的和/或不可使用的。这提高了定位精度。
69.在310处,使用经校正的gps位置来计算对准。在该操作期间,可以重新校准lidar与车辆的对准,以解决对准漂移。
70.在312处,可执行操作以确定对准是否可接受。这可以包括执行对准验证过程。对准验证过程可以包括执行多种方法。该方法包括地面拟合、目标检测和点云配准的集成。在一个实施例中,lidar传感器之间的滚动、俯仰和偏航差基于目标(例如,地面、交通标志、灯杆等)来确定。在相同或替代实施例中,基于lidar传感器的点云配准中的差异来确定lidar传感器的旋转和平移差异。
71.验证方法包括(i)用于确定lidar传感器之间在俯仰、滚动、偏航、x、y、z值方面的差异的第一个六参数向量的第一方法被确定,和/或(ii)用于确定俯仰、滚动、偏航、x、y、z值的第二个六参数向量的第二方法被确定。第一种方法是基于选择某些对象来确定滚动、俯仰和偏航。第二种方法是基于从lidar传感器的点云确定旋转和平移差异。如上所述,可以对这些方法的结果进行加权和合计,以提供作为结果的六参数向量,基于该六参数向量进行对准的确定。如果结果被接受,则该方法可以结束,并且gps位置信息以及lidar传感器的输出可以用于做出包括系统109、111、136等的控制的自主驾驶决定。另一变化是如果对准结果被接受,则不执行对准算法,而是连续运行gps校正算法以校正gps坐标。对准结果通常不随时间改变,除非发生长期劣化和/或事故,但是gps校正结果可以被更新,并且在车辆移动(即,车辆的位置改变)以来的任何时间都是有用的。如果结果不被接受,则(i)可以重新校准lidar到车辆变换,和/或(ii)可以重新校准和/或维修一个或多个lidar传感器中的至少一者。
72.在实施例中,对准验证在操作310之后执行,并且验证在310处执行的对准。在另一实施例中,至少在操作308和310之前执行对准验证。在该实施例中,执行图3的操作以执行gps校正并校正作为指示无效对准的验证过程的结果的对准。
73.以下参考图4至图5的方法进一步描述操作302、306、308和310。还关于图6的方法进一步描述了操作302。关于图7的方法进一步描述了操作306。操作308和310进一步参考图8至10的方法来描述。
74.图4示出了在离线模式下操作时实现的图3的对准方法的一部分。该方法可以在400开始,其包括将最新的lidar到车辆和车辆到世界的变换和/或下一算法的输出加载到车辆的存储器中(例如,图1的存储器192)。
75.在402处,使用上述两个变换将lidar点从lidar帧转换到世界帧。lidar坐标被转换成车辆坐标,然后被转换成世界坐标(例如,东、北、上(enu)坐标)。可以执行矩阵变换以转换为世界坐标。当执行车辆到世界的变换并且从聚合的lidar数据生成的结果图像模糊时,gps数据不准确。在414处校正gps位置,使得在校正之后,所得图像是清晰的。
76.在404处,连续地聚合数据的lidar点(称为lidar点)以用于下一批。作为示例,这
可以针对一批500个帧来完成。在406处,使用图6的特征提取方法从聚合的lidar点云提取特征数据。在408处,将特征数据保存到存储器中的专用缓冲器。
77.在410处,确定是否存在针对特征收集的数据。如果是,则可以执行操作404,否则执行操作412。在412处,使用图7的地面实况数据生成方法来计算数据的地面实况。
78.在414处,地面实况数据被用于位置校正,并且lidar到车辆变换被更新。这是基于gps和惯性测量校正并通过实施图8的lidar到车辆对准方法来完成的。在416处,保存更新位置数据和lidar到车辆对准信息。在418处,确定是否有更多数据要处理。如果是,则可以执行操作404,否则该方法可以结束。
79.在一个实施例中,在离线模式期间,在数据和/或其他数据被聚合并且地面实况被生成之后,数据被重新处理以被校正。
80.图5示出了在具有或不具有基于云的网络支持的在线模式下操作时实现的图3的对准方法的一部分。该方法可以在500开始,其包括将最新的lidar到车辆和车辆到世界的变换和/或下一算法的输出加载到车辆的存储器中(例如,图1的存储器192)。
81.在502处,读取lidar数据,并且使用上述两个变换将lidar点从lidar帧转换为世界帧。lidar坐标被转换成车辆坐标,然后被转换成世界坐标(或东、北、上(enu)坐标)。可以执行矩阵变换以转换为世界坐标。当执行车辆到世界的变换并且从聚合的lidar数据生成的结果图像模糊时,gps数据不准确。在510处校正gps位置,使得在校正之后,所得图像是清晰的。
82.在504处,来自存储器和/或基于云的网络设备的地面实况数据由例如图2的自主驾驶模块206加载(或获得)。在506处,使用图6的特征数据提取方法来确定是否存在潜在特征。如果是,则可以执行操作508,否则执行操作502。
83.在508处,确定潜在特征数据是否是地面实况数据的一部分。如果是,则执行操作510,否则执行操作512。
84.在510处,地面实况数据被用于校正位置并更新lidar到车辆变换。这是基于gps和惯性测量校正并通过实施图8的lidar到车辆对准方法来完成的。在512处,车辆变换数据被连续地聚合,并且地面实况使用图7的方法生成。
85.在514处,利用在512处生成的地面实况数据更新存储在存储器和/或基于云的网络设备中的地面实况数据。操作502可以在操作514之后执行。更新的地面实况数据(i)被保存用于下一组数据和下一个或随后的时间戳和/或时间段,并且(ii)不被用于当前的数据组和当前的时间戳和/或时间段。对于在线校正模式,在位置校正之前可能没有足够的时间来累积用于地面实况生成的数据,并且因此在对下一组数据的校正之后生成地面实况。
86.图6示出了示例特征数据提取方法。该方法可以在600开始,其包括应用空间滤波器以找到静态点。作为示例,静态点可以位于z大于5米并且点与车辆的距离大于20米的位置处。
87.空间过滤器使用空间中的三维(3d)区域来拾取该区域内的点。例如,空间滤波器可以被定义为具有范围x, y, z:,其中为预定值(或阈值)。如果点的(x,y,z)满足位于区域内的预定条件,则通过空间滤波器选择该点。
88.在602处,使用强度滤波器和形状滤波器来检测第一对象(例如,交通标志)。交通标志具有预定的特征,诸如是平面的并且具有特定的几何形状。强度过滤器可以包括被定义为选择强度值在强度范围(例如,0-255的范围)内的点的强度范围。作为示例,强度过滤器可以选择具有大于200的强度值的点。强度值与该点所在的特征和/或对象的材料的反射率成比例。例如,强度滤波器可以被定义为 ,其中i是强度,而是预定阈值。形状滤波器可以包括检测具有预定形状的对象。在604处,使用强度滤波器和形状滤波器来检测第二对象(例如,灯杆)。灯杆具有预定的特征,诸如是长的和圆柱形的。
89.在606处,使用边缘检测算法来检测第一特征(例如,建筑物的边缘)。边缘检测算法可以是存储在图1的存储器192或基于云的网络设备中存储的点云库中的方法。在608处,使用平面检测算法来检测第二特征(例如,建筑物的平面)。平面检测算法可以是存储在图1的存储器192或基于云的网络设备中存储的点云库中的方法。
90.在610处,特征数据和特征类型(例如,交通标志、灯杆、建筑物的边缘或建筑物的平面)连同先前确定的车辆位置和取向一起保存。该方法可以在操作610之后结束。
91.图7示出了示例地面实况数据生成方法。该方法可以在700开始,其包括加载特征数据。
92.在702处,基于参数向特征分配权重。例如,基于车辆速度、正在执行的加速操纵器的类型、gps信号强度,将权重分配给交通标志lidar点以指示这些点的置信水平。如果交通标志的位置不是逐帧移动,但是主车辆位置已经改变,则存在问题,并且将这些点的加权值设置为低。然而,如果交通标志确实以预期的方式在位置上逐帧移动,则将较高的权重值给予指示点中较高置信水平的点。
93.在704处,确定特征数据是否是第一类型(例如,交通标志)。如果是,则执行操作706,否则执行操作710。
94.在706处,滤除低权重点(例如,分配了小于预定权重值的权重值的点)。在708处,在移除低加权点之后执行主成分分析(pca)或平面拟合以确定特征的模型。该模型可以用等式1的形式表示,其中和。a和b是平面中的垂直本征向量,并且c是垂直于所述特征的平面并由pca计算的第三本征向量。m是剩余点的平均(或平均)向量。
95.在710处,确定特征数据是否是第二类型(例如,灯杆)。如果是,则执行操作712,否则执行操作716。
96.在712处,滤除低加权点。在714处,将剩余的点拟合到如等式2所表示的3d线模型,其中t是参数,e1是对应于来自pca的最大本征值的本征向量,并且m是平均向量。本征向量e2和e3很小。第一本征向量e1在灯杆的纵向方向上延伸(例如,对于竖直延伸的杆在z方向上)。
97.在716处,将所生成的模型、剩余点的数据和对应的权重保存在例如图1的存储器192中。
98.图8示出了示例gps和惯性测量校正以及lidar与车辆对准方法。该方法可以在800开始,其包括读取lidar数据点并获得gps和惯性测量数据。
99.在802处,将lidar数据点投射到世界坐标。在804处,聚合投射的lidar数据点。
100.在806处,确定在地面实况数据范围中是否存在投射的lidar数据点。如果是,则执行操作808,否则执行操作804。
101.在808处,使用图9至图10的方法中的一者或多者来校正gps和惯性测量数据并且更新车辆到世界的变换。在810处,使用校正的gps和lidar数据来计算lidar到车辆变换。在812处,将lidar到车辆变换保存到图1的存储器192。
102.在814处,确定是否存在更多lidar数据点。如果是,则执行操作804,否则该方法可以在操作814之后结束。
103.图9示出了使用地面实况模型的示例gps校正方法。该方法可以开始于900,其包括加载lidar数据点以及gps和惯性测量数据。
104.在902处,为第一对象(例如,交通标志)或第二对象(例如,灯杆)加载地面实况数据。
105.在904处,确定是否存在属于一个或多个目标的lidar点。所述一个或多个目标可以指例如一个或多个当前检测到的静态对象,诸如交通标志和/或灯杆。如果是,则执行操作906,否则执行操作900。
106.在906处,属于目标的lidar点被投射到平面和/或线。这可以使用下面的等式3-5来完成,其中x_
lidar
是具有x、y和z分量的lidar点,x'_
lidar
是投射点,center是平均向量,norm是第三本征向量e3,而norm
t
是norm的转置。这包括去除center、投射至平面以及加回center。
107.在908处,为每个时间戳计算平均gps偏移,并将其保存到图1的存储器192的专用缓冲器。确定原始点和投射点之间的差以提供gps偏移。
108.在910处,通过将经校正的偏移与经校正的偏移曲线(基于经校正的偏移生成)上的相邻偏移进行比较来确定经校正的偏移是否合理。如果经校正的偏移是异常值(例如,距经校正的偏移曲线大于预定距离),则不使用经校正的偏移。如果经校正的偏移在经校正的偏移曲线上或在经校正的偏移曲线的预定距离内,则使用它。然后,可以基于所使用的校正偏移来更新经校正的偏移曲线。如果使用经校正的偏移,则执行操作912,否则执行操作914。
109.在912处,应用经校正的偏移并计算正确的gps位置。在914处,确定两个相邻的经校正gps位置的时间戳。邻近的经校正gps位置指的是在时间上最接近于待校正的gps位置的经校正gps位置。
110.在916处,确定当前经校正gps位置的时间戳与两个相邻经校正gps位置的时间戳之间的时间差是否大于预定阈值。如果否,则执行操作918,否则执行操作920。
111.在918处,执行内插(例如,线性内插)以计算目标的校正的gps位置。如果执行操作912,则可以将在912确定的经校正的gps位置的平均值与在918确定的经校正的gps位置求平均。在920处,可以将经校正的gps位置和其他对应信息(诸如时间戳和相邻的经校正的gps位置)存储在存储器192中。
112.图9的方法可以针对多于一个检测到的对象(或目标)来执行。可以基于对象的地面实况模型进行校正。如果能够依赖多个对象,则可以对每个对象执行该过程。可以为每个对象提供校正值。可确定特定时间戳的经校正偏移的平均值并将其用于校正gps位置。
113.图10示出了使用地面实况点匹配的示例gps和惯性测量校正方法。可以执行图10的方法来代替执行图9的方法,或者可以除了图9的方法之外并且与图9的方法并行地执行图10的方法。该方法可以开始于1000,其包括加载lidar数据点以及gps和惯性测量数据。
114.在1002处,加载地面实况数据。这可以包括当执行图7的方法时确定的地面实况数据。
115.在1004处,确定是否存在属于一个或多个目标的lidar点。如果是,则执行操作1006,否则执行操作1000。
116.在1006处,滤除不对应于一个或多个目标的其他lidar点。
117.在1008处,执行lidar点云配准(例如,迭代最近点(icp)算法和/或广义迭代最近点(gicp))算法以找到当前数据和地面实况数据之间的变换。权重可以用在icp和/或gicp优化函数中。
118.icp是一种用于最小化两个点云之间差异的算法。icp可以包括计算两个扫描之间的对应性和计算变换,该变换最小化对应点之间的距离。广义icp类似于icp,并且可以包括将概率模型附加到icp的最小化操作。icp算法可以通过在(i)给定变换,为m中的每个点找到s中的最近点,和(ii)给定对应性,通过求解最小二乘问题找到最佳刚性变换之间交替,以迭代方式执行刚性配准。点集配准是对齐两个点集的过程。
119.在1010处,为每个时间戳计算平均gps偏移和车辆取向偏移,并将其保存到图1的存储器192中的专用缓冲器。
120.在1012处,通过将平均gps偏移与一个或多个相邻偏移和取向值进行比较来确定平均gps偏移是否合理。如果是,则执行操作1014,否则执行操作1016。
121.在1014处,应用平均gps偏移,并且计算校正的gps位置和校正的车辆取向。
122.在1016处,确定两个相邻的经校正gps位置的时间戳,如在图9的914处类似地执行的。
123.在1018处,确定要校正的gps位置的时间戳与两个相邻的经校正gps位置的时间戳之间的时间差是否大于预定阈值。如果否,则执行操作1020,否则执行操作1022。
124.在1020处,内插(例如,线性插值)以计算校正的gps位置和校正的车辆取向。如果执行操作1014,则(i)可将在1014处确定的校正的gps位置的平均值与在1020处确定的校正的gps位置平均,以及(ii)可将在1014处确定的校正的车辆取向的平均值与在1020处确定的校正的车辆取向进行平均。
125.在1022处,校正的gps位置、校正的车辆取向和其他对应信息,诸如时间戳和邻近的校正的gps位置信息,可存储在存储器192中。
126.上述操作旨在作为说明性示例。取决于应用,操作可以顺序地、同步地、同时地、连
续地、在重叠的时间段期间或以不同的顺序执行。而且,根据实现方式和/或事件的顺序,可以不执行或跳过任何操作。
127.上述示例包括使用更新的位置和取向来更新lidar到车辆的对准,以提高lidar到车辆的对准精度。使用lidar数据和特定的检测特征(例如,交通标志、灯杆等)校正gps数据。与一般的点配准方法相反,这确实提供了一种对初始猜测、超参数和动态对象而言稳健的系统。示例包括使用强度和空间滤波器、聚类和pca的特征和/或对象检测和表征。提供了灵活的特征融合架构以计算特征和/或对象(例如,车道标记、灯杆、道路表面、建筑物表面和拐角)的地面实况位置,以提高整个系统的准确性和稳健性。使用地面实况信息利用插值来校正gps位置,以提供对噪声数据和丢失帧而言稳健的系统。结果,提供了精确的lidar视轴对准和精确的gps定位和测绘,这改进了自主特征覆盖和性能。
128.本文所提到的特征数据可包括在主车辆处经由车辆到车辆通信和/或车辆到基础设施通信从其他车辆接收的特征数据。在上述示例中,历史特征数据可用于主车辆的相同当前行驶路线。历史特征数据可以机载存储和/或从远程服务器(例如,后台、中心局和/或基于云的网络中的服务器)接收。
129.前面的描述本质上仅仅是说明性的,并且决不旨在限制本公开、其应用或使用。本公开的广泛教导可以以多种形式实施。因此,虽然本公开包括特定示例,但是本公开的真实范围不应如此限制,因为在研究附图、说明书和所附权利要求书之后,其他修改将变得显而易见。应当理解,在不改变本公开的原理的情况下,方法中的一个或多个步骤可以以不同的顺序(或同时)执行。此外,尽管以上将每个实施例描述为具有某些特征,但是关于本公开的任何实施例描述的那些特征中的任何一个或多个可以在任何其他实施例的特征中实现和/或与任何其他实施例的特征组合,即使没有明确地描述该组合。换句话说,所描述的实施例不是互斥的,并且一个或多个实施例彼此之间的置换保持在本公开的范围内。
130.元件之间(例如,模块、电路元件、半导体层等之间)的空间和功能关系使用各种术语来描述,所述术语包括“连接”、“接合”、“联接”、“邻近”、“紧挨着”、“在顶部”、“在上方”、“在下方”和“设置”。除非明确地描述为“直接”,否则当在以上公开中描述第一和第二元件之间的关系时,该关系可以是直接关系,其中在第一和第二元件之间不存在其他中间元件,但是也可以是间接关系,其中在第一和第二元件之间存在一个或多个中间元件(空间上或功能上)。如本文所使用的,短语a、b和c中的至少一者应当被解释为表示使用非排他性逻辑or(或)的逻辑(a or b or c),而不应当被解释为表示“a中的至少一者、b中的至少一者和c中的至少一者”。
131.在附图中,箭头的方向,如箭头所指示的,通常表示与图示有关的信息(诸如数据或指令)的流动。例如,当元素a和元素b交换各种信息,但是从元素a发送到元素b的信息与图示相关时,箭头可以从元素a指向元素b。该单向箭头并不意味着没有其他信息从元素b发送到元素a。此外,对于从元素a发送到元素b的信息,元素b可以向元素a发送对该信息的请求或对该信息的接收确认。
132.在本技术中,包括下面的定义,术语“模块”或术语“控制器”可以用术语“电路”代替。术语“模块”可以指以下各项、是以下各项的一部分或包括以下各项:专用集成电路(asic);数字、模拟或混合模拟/数字分立电路;数字、模拟或混合模拟/数字集成电路;组合逻辑电路;现场可编程门阵列(fpga);执行代码的处理器电路(共享、专用或组);存储器电
路(共享、专用或组),其存储由所述处理器电路执行的代码;提供所述功能的其他合适的硬件组件;、或上述的一些或全部的组合,诸如在片上系统中。
133.该模块可以包括一个或多个接口电路。在一些示例中,接口电路可以包括连接到局域网(lan)、因特网、广域网(wan)或其组合的有线或无线接口。本公开的任何给定模块的功能性可以分布在经由接口电路连接的多个模块中。例如,多个模块可以允许负载平衡。在另一示例中,服务器(也称为远程或云)模块可以代表客户端模块完成一些功能。
134.如上所述,术语“代码”可以包括软件、固件和/或微代码,并且可以指程序、例程、函数、类、数据结构和/或对象。术语“共享处理器电路”包括执行来自多个模块的一些或所有代码的单个处理器电路。术语“组处理器电路”包括与附加处理器电路结合执行来自一个或多个模块的一些或全部代码的处理器电路。对多个处理器电路的引用包括分立管芯上的多个处理器电路、单个管芯上的多个处理器电路、单个处理器电路的多个核、单个处理器电路的多个线程、或上述的组合。术语“共享存储器电路”包括存储来自多个模块的一些或全部代码的单个存储器电路。术语“组存储器电路”包括与附加存储器结合存储来自一个或多个模块的一些或全部代码的存储器电路。
135.术语“存储器电路”是术语“计算机可读介质”的子集。如本文使用的术语“计算机可读介质”不包括通过介质(诸如在载波上)传播的瞬时电或电磁信号;因此,术语“计算机可读介质”可以被认为是有形和非暂时的。非暂时性有形计算机可读介质的非限制性示例是非易失性存储器电路(诸如闪存存储器电路、可擦除可编程只读存储器电路或掩模只读存储器电路)、易失性存储器电路(诸如静态随机存取存储器电路或动态随机存取存储器电路)、磁存储介质(诸如模拟或数字磁带或硬盘驱动器),以及光存储介质(诸如cd、dvd或蓝光盘)。
136.在本技术中描述的装置和方法可以部分地或完全地由通过配置通用计算机以执行在计算机程序中实施的一个或多个特定功能而创建的专用计算机来实现。上述功能块、流程图组件和其他元件用作软件规范,其可以通过熟练技术人员或程序员的例程工作被转换成计算机程序。
137.所述计算机程序包括存储在至少一个非暂时性有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括或依赖于存储的数据。计算机程序可以包括与专用计算机的硬件交互的基本输入/输出系统(bios)、与专用计算机的特定设备交互的设备驱动器、一个或多个操作系统、用户应用、后台服务、后台应用等。
138.所述计算机程序可以包括:(i)要解析的描述性文本,诸如html(超文本标记语言),xml(可扩展标记语言)或json(javascript对象表示法)(ii)汇编代码,(iii)由编译器从源代码生成的目标代码,(iv)由解释器执行的源代码,(v)用于由即时编译器编译和执行的源代码等。仅作为示例,源代码可以使用来自包括c、c++、c#,objective-c、swift、haskell、go、sql、r、lisp、java
®
、fortran、perl、pascal、curl、ocaml、javascript
®
、html5(超文本标记语言第5版)、ada、asp(动态服务器页面)、php(php:超文本预处理器)、scala、eiffel、smalltalk、erlang、ruby、flash
®
、visualbasic
®
、lua、matlab、simulink和python
®
的语言的语法编写。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1