用于识别无人驾驶汽车导航路径的中心的方法和设备与流程

文档序号:17433307发布日期:2019-04-17 03:47阅读:163来源:国知局
用于识别无人驾驶汽车导航路径的中心的方法和设备与流程

本发明总体涉及无人驾驶汽车,特别涉及用于识别无人驾驶汽车导航路径的中心的方法和设备。



背景技术:

无人驾驶汽车(无人车或自动驾驶汽车)是能够在没有人力输入的情况下感测外部环境和导航的车辆。无人驾驶汽车使用各种技术来检测外部环境或周围事物。这些技术的例子可以包括但不限于雷达、激光、全球定位系统(gps)、里程计以及计算机视觉。为了实现无人驾驶汽车的平稳导航,无人驾驶汽车的控制应当足够稳健以使其能够在不碰撞路径边界的情况下进行导航。

传统系统提供了一种通过监测车辆传感器信息以及经由后方检测装置检测到的车辆后方的道路信息来将车辆保持在道路上所期望的位置的方法。所期望的车辆位置信息与预测的未来车辆位置信息进行比较。基于预测的未来位置信息与所期望的车辆位置信息的偏差,生成转向命令。另一种传统系统公开了车辆的车道保持系统,其中通过设置驾驶员可以驾驶车辆的安全区域来实现还系统。车道保持系统基于某些参数确定车辆的目标路径。

然而,传统系统具有各种缺点。其中一个缺点是:为车辆导航绘制了一条最短的路径,但是这条路径可能不通过道路的中心。而且,道路的某些路段的最短路径可能与道路的边界非常接近。这可能会影响无人驾驶汽车的安全性。



技术实现要素:

在一个实施例中,公开了一种用于识别无人驾驶汽车导航路径的中心的方法。所述方法包括通过导航设备接收连接目的地点和无人驾驶汽车位置点的路径的导航地图。所述方法还包括通过导航设备基于导航地图识别沿路径的边界的多个障碍点。所述方法包括通过导航设备基于多个障碍点确定路径上的多个中间点(halfwaypoint)。中间点位于连接两个连续识别出的障碍点的直线上。所述方法还包括通过导航设备丢弃多个中间点中的至少一个中间点以提取路径上的中间点的最终集合。所述方法包括通过导航设备从目的地点开始到无人驾驶汽车位置点按顺序排列最终集合中的中间点。

在另一实施例中,公开了一种用于识别无人驾驶汽车导航路径的中心的导航设备。导航设备包括处理器和以可通信方式耦合到处理器并且具有存储在其上的处理器指令的存储器,执行处理器指令时使得处理器接收连接目的地点和无人驾驶汽车位置点的路径的导航地图。处理器指令还使得处理器基于导航地图识别沿路径的边界的多个障碍点。处理器指令使得处理器基于多个障碍点确定路径上的多个中间点。中间点位于连接两个连续识别出的障碍点的直线上。处理器指令还使得处理器丢弃多个中间点中的至少一个中间点以提取路径上的中间点的最终集合。处理器指令使得处理器从目的地点开始到无人驾驶汽车位置点按顺序排列最终集合中的中间点。

在又一个实施例中,公开了一种非暂时性计算机可读存储介质。所述非暂时性计算机可读存储介质上存储有指令,所述指令使得包括一个或多个处理器的导航设备执行包括接收连接目的地点和无人驾驶汽车位置点的路径的导航地图的步骤。所述步骤还包括基于导航地图识别沿路径的边界的多个障碍点。所述步骤还包括基于多个障碍点确定路径上的多个中间点。中间点位于连接两个连续识别出的障碍点的直线上。所述步骤还包括丢弃多个中间点中的至少一个中间点以提取路径上的中间点的最终集合。所述步骤还包括从目的地点开始到无人驾驶汽车位置点按顺序排列最终集合中的中间点。

应当理解的是,前面的一般性描述和下面的详细描述仅仅是示例性和解释性的,并不限制所要求保护的本发明。

附图说明

并入本发明并构成本发明的一部分的附图示出了示例性实施例,并且与说明书一起用于解释所公开的原理。

图1示出了可以实施各种实施例的环境。

图2示出了根据一个实施例的导航设备内的各种组件的框图。

图3示出了根据一个实施例的用于识别无人驾驶汽车导航路径的中心的方法的流程图。

图4示出了根据一个实施例的基于导航地图识别沿着路径的边界的障碍点的方法的流程图。

图5示出了根据一个实施例的使用表示导航地图的像素地图来识别沿着路径的边界的障碍点的机制。

图6示出了根据一个实施例的基于彼此的接近度来丢弃多个中间点中的一个或多个的方法的流程图。

图7示出了根据另一实施例的基于与路径边界之一的接近度来丢弃多个中间点中的一个或多个的方法的流程图。

图8示出了根据一个示例性实施例的多个中间点的识别以及随后丢弃多个中间点中的一个或多个。

图9示出了根据一个实施例的用于按顺序排列最终集合中的中间点的方法的流程图。

图10示出了根据一个示例性实施例的从目的地点开始到无人驾驶汽车位置点按顺序排列中间点。

图11示出了用于实现各种实施例的示例性计算机系统的框图。

具体实施方式

参考附图描述示例性实施例。在任何方便的地方,全部附图中使用相同的附图标记来表示相同或相似的部分。尽管在此描述了公开的原理的示例和特征,但是在不脱离所公开的实施例的精神和范围的情况下可以进行修正、改编和其他实施。下面的详细描述仅被认为是示例性的,真正的范围和精神由权利要求指示。

以下列出了其他说明性实施例。在一个实施例中,图1示出了可以实施各种实施例的示例性环境100。环境100包括正在路径104上穿行的车辆102。车辆102可以是无人驾驶的、自动的或半自动的车辆,并且车辆102的示例可以包括但不限于汽车、公共汽车、卡车、面包车或双轮车。路径104可以是铺砌的道路、未铺砌的道路或崎岖不平的路线。从图1中显而易见,路径104的边界并非完美的线性,而是不一致的。另外,路径104的边界106a和边界106b之间的沿着路径104从一点到另一点的距离具有显著的变化。结果,自动驾驶汽车102不能精确地确定路径104上的可导航部分。当物理障碍物(自然的或人造的)标记边界106a或106b时,可能导致车辆102碰撞到边界106a或106b中的一个。或者,在没有这种物理障碍的情况下,车辆102可能脱离路径104。图2示出的导航设备200通过识别沿着路径104长度方向直到目的地点的中间点来防止车辆102的这种事故和由其引发的故障。此后,车辆102沿着这些中间点进行导航以到达目的地点。将结合图2做进一步详细解释。

现在参考图2,图2是示出根据一个实施例的导航设备200内的各种组件的框图。导航设备200可以被实现为各种便携式计算设备,诸如智能电话、专用手持设备、平板电脑或平板手机。可选地,导航设备200可以被实现为分布式系统,使得导航设备200的少许部件位于便携式设备中,而其他部件可以位于可远程布置或位于车辆内的服务器中。

导航设备200包括处理器202和通信耦合到处理器202的存储器204。存储器204具有存储在其上的处理器指令,其在执行时使处理器202识别无人驾驶汽车导航路径的中心。存储器204包括存储在其上的指令,其在执行时使处理器202生成无失真图像。存储器204可以是非易失性存储器或易失性存储器。非易失性存储器的示例可以包括但不限于闪存、只读存储器(rom)、可编程rom(prom)、可擦除可编程只读存储器(eprom)以及带电可擦可编程只读存储器(eeprom)。易失性存储器的示例可以包括但不限于动态随机存取存储器(dram)和静态随机存取存储器(sram)。

导航设备200可以进一步包括通信耦合到处理器202的传感器206。传感器206的示例可以包括但不限于光探测和测距(lidar)、全球定位系统(gps)、激光、里程计以及计算机视觉。在一个实施例中,传感器206可以位于无人驾驶汽车内部,但位于导航设备200外部。在这种情况下,传感器206捕获与无人驾驶汽车周围的外部条件和环境相关的信息,并与导航设备200共享以用于进一步分析。

为了识别路径的中心,存储器204包括车辆初始定位模块208、中间点收集模块210、距离估计模块212、重新排列模块214以及路径生成模块216。

车辆初始定位模块208接收连接目的地点和无人驾驶汽车位置点的路径的导航地图。导航地图可以是lidar静态地图,所述静态地图包括来自无人驾驶汽车周围的障碍物反射的点云数据。换句话说,点云捕捉无人驾驶汽车周围的360度视图。基于导航地图,车辆初始定位模块208初始化其上的无人驾驶汽车的位置。将结合图3做进一步详细解释。

从无人驾驶汽车的初始化位置开始,中间点收集模块210沿着路径的边界识别多个障碍点。中间点收集模块210还基于多个障碍点确定路径上的多个中间点。中间点位于连接两个连续的所识别的障碍点的直线之间。将结合图3、图4、图5以及图8做进一步详细解释。

之后,距离估计模块212确定每个新的中间点与先前所识别的中间点的距离。距离估计模块212然后执行检查以确定该距离是否小于预先定义距离阈值。另外,距离估计模块212确定每个中间点与路径的边界的距离。距离估计模块212然后执行检查以确定该距离是否小于预先定义接近度阈值。距离估计模块212与重新排列模块214共享每个中间点的距离和预定义阈值的比较结果,重新排列模块214丢弃多个中间点中的一个或多个以提取中间点的最终集合。因此,基于与其他中间点的接近度或者与路径的边界中的一个边界的接近度而丢弃所述多个中间点中的一个或多个中的每一个。将结合图6、图7以及图8做进一步详细解释。重新排列模块214还从目的地点开始到无人驾驶汽车位置点按顺序排列最终集合中的中间点。将结合图9和图10做进一步详细解释。

一旦最终集合中的中间点已经按顺序排列,路径生成模块216通过对这些中间点应用曲线拟合机制以生成用于无人驾驶汽车从无人驾驶汽车位置点到目的地点的穿过或导航的最终路径。将结合图3做进一步详细解释。

现在参考图3,图3示出了根据一个实施例的用于识别无人驾驶汽车导航路径的中心的方法的流程图。在步骤302,导航设备200接收连接目的地点和无人驾驶汽车位置点的路径的导航地图。无人驾驶汽车位置点可以是无人驾驶汽车的当前位置,并且随着无人驾驶汽车继续沿路径移动可继续改变。导航地图可以是lidar静态地图,所述静态地图包括来自无人驾驶汽车周围的障碍物反射的点云数据(pointclouddata)。换句话说,点云捕捉无人驾驶汽车周围的360度视图。lidar静态地图还初始化无人驾驶汽车的位置。

在步骤304,基于导航地图,导航设备200识别沿着路径的边界的多个障碍点。可以使用与导航地图相关联的像素地图来识别多个障碍点。可以通过在预定义方向(例如,水平方向)扫描像素地图来识别给定障碍点。为了识别沿着一条边界的连续的障碍点,可以改变扫描的方向,使得在与预定义方向垂直的方向,即垂直方向上扫描像素地图。因此,每当扫描线接触路径的任一边界时,识别障碍点。在扫描线接触其中一条边界之后,扫描线的方向改变90度,并且当扫描线接触路径的相同或其他边界时识别连续的障碍点。换句话说,在路径的相同或交替的边界上识别两个连续的障碍点。对于本领域技术人员将容易理解的是,执行从无人驾驶位置点开始以及从第一次迭代之后可用的随后识别的中间点到目的地点的多次迭代以识别多个障碍点。将结合图4做进一步详细解释。

基于多个障碍点,导航设备200在步骤306处确定路径上的多个中间点。中间点位于连接两个连续识别的障碍点的直线之间。由于在路径的交替边界上确定了两个连续识别的障碍点,因此中间点可以大致位于边界上的至少两个障碍点之间的中间位置。将结合图8做进一步详细解释。

一旦识别了多个中间点,导航设备200丢弃多个中间点的一个或多个以提取路径上的中间点的最终集合。中间点可能因为它与先前识别的中间点非常接近而被丢弃。将结合图6做进一步详细解释。另外,中间点也可能因为其接近路径的边界之一而被丢弃。将结合图7做进一步详细解释。丢弃一个或多个中间点确保识别出最佳个数量的精确中间点并且此后用于绘制出无人驾驶汽车的导航路径。

在步骤310,导航设备200从目的地点开始到无人驾驶汽车位置点按顺序排列最终集合中的中间点。为此,最终集合中的每个中间点首先绘制在与导航地图尺寸相匹配的静态图上。分析静态图形以按顺序排列中间点。将结合图9和图10做进一步详细解释。在最终集合中的中间点按顺序排列之后,导航设备200在步骤312对这些中间点应用曲线拟合机制。之后,在步骤314,导航设备200生成用于无人驾驶汽车从无人驾驶汽车位置点到目的地点的遍历或导航的最终路径。

现在参考图4,图4示出了根据一个实施例的基于导航地图用于识别沿路径的边界的障碍点的方法流程图。一旦导航设备200接收到导航地图,则创建与导航地图相关联的像素地图以识别障碍点。在步骤402,从无人驾驶汽车位置点(即无人驾驶汽车的当前位置)开始在预定义方向上扫描像素地图。基于无人驾驶汽车的方位和位置,可以在水平方向上开始扫描。第一扫描操作可以朝路径的边界中的一条边界发起,并且同时向路径的另一条边界发起第二扫描操作。因此,预定义方向可以是朝向开始的路径的两个边界的水平方向。在一个实施例中,像素地图可以被分段扫描,使得在给定的时间仅扫描像素地图的一部分,所述部分包括九个像素。将在图5的示例性实施例中做进一步详细解释。

响应于扫描,在步骤404处,在像素地图中具有预定义权重的像素被识别为路径的一条边界上的障碍点。预定义权重,例如,可以与像素的特定颜色相关联。在一个实施例中,不同的权重可以被分配给不同的色调,并且基于路径的地形和与路径相关的现有的环境或其他外部条件,特定的权重可以被选择用来识别为障碍点。在一个实施例中,在路径的边界上将被识别为障碍点的像素的颜色与相邻像素相比可以是较暗的色调。将在图5的示例性实施例中做进一步详细解释。

一旦识别到障碍点,就在步骤406中在与预定义方向垂直的方向上扫描像素地图。由于在水平方向上扫描时识别出障碍点,因此在垂直方向上执行像素地图的连续扫描。对于本领域技术人员来说容易理解的是,可以同时执行多个这样的扫描操作,使得在任何给定时间沿着路径的一条边界的长度方向识别多个障碍点。将结合图8的示例性实施例做进一步详细解释。

之后,在步骤408,在像素地图中具有预定义权重的像素被识别为连续的障碍点,使得其与步骤404识别的障碍点是连续的。由于该迭代的第一扫描方向是水平的,并且第二和每个交替(即2、4、6等)扫描方向是垂直的,所以可以在路径的相对边界上识别两个连续的障碍点。

现在参考图5,图5示出了根据一个实施例的用于使用表示导航地图的像素地图来识别沿路径的边界的障碍点的机制。像素地图被分成部分扫描,使得在给定的时间仅扫描像素地图的部分502。像素地图的部分502包括由导航设备200在给定时间扫描的九个像素的网格。基于对部分502的扫描,导航设备200可以将具有预定义权重的像素中的一个识别为路径边界上的障碍点,并相应地改变扫描像素地图的方向或路线。在一个实施例中,当从起始点(其可以是无人驾驶汽车的当前位置、障碍点或先前找到的中间点)开始的虚拟水平或垂直线遇到不同权重的像素时,该点被认为是障碍点。

举例来说,当扫描部分504时,出现在虚线的路线上;当导航设备200遇到具有预定义权重的编号为‘5’的像素时,导航设备200基于先前的扫描方向改变扫描的路线或方向。因此,如果先前的扫描方向是水平的,则后续的扫描方向将是垂直的,反之亦然。以类似的方式,对于部分506、508、510以及512,导航设备200在遇到像素编号为‘5’的像素之后可以改变扫描像素地图的方向或路线,如图5所示。

现在参考图6,图6示出了根据一个实施例的用于基于彼此的接近度来丢弃多个中间点中的一个或多个的方法流程图。路径上的中间点是通过定位连接两个连续识别的障碍点的直线的中心确定的。这在图8的示例性实施例中被描绘。每次确定新的中间点时,在步骤602确定新的中间点与多个先前识别的中间点中的每一个的距离。多个先前识别的中间点可以包括已经确定用于分开执行所有扫描操作的所有中间点,以识别路径边界上的障碍点。在一个实施例中,与新的中间点进行比较的先前识别出的中间点的数量可以被限制为预定义数量。这可以使得能够优化或减少将距离与先前识别出的中间点进行比较所需的计算次数。

在步骤604,执行检查以确定新的中间点与多个先前识别出的中间点中的一个或多个的距离是否小于预定义距离阈值。当新的中间点与多个先前识别出的中间点中的一个或多个的距离小于预定义距离阈值时,在步骤606丢弃新的中间点或与新的中间点进行比较的先前识别出的中间点中的一个。换句话说,当两个中间点非常接近时,这些中间点中的一个被丢弃。在一个实施例中,丢弃两个中间点中比较靠近路径边界之一的一个。

重新参考步骤604,当新的中间点与多个先前识别出的中间点中的每一个的距离大于预定义距离阈值时,在步骤608中将新的中间点加到中间点的最终集合中。此后,确定连续的中间点,并且对于连续的中间点重复上述步骤。在示例性实施例中,使用下面给出的等式1来确定是否应该丢弃中间点:

其中,

x1和y1是新的中间点的坐标,

x2和y2是先前识别的中间点的坐标,

d是预定义阈值。

当满足上述等式时,评估新的中间点和先前识别的点中的一个,以便确定两个中间点中的哪一个在路径中更加居中。换句话说,两个中间点中的哪一个离路径的边界更远。与路径边界的距离在四个方向上被测量,即北、南、东、西。丢弃两个中间点中更靠近路径的一个或多个边界的一个,并且保留另一个中间点并将其添加到中间点的最终集合中。举例来说,发现新的中间点更靠近路径的边界中的一个,因此被丢弃。

在一个实施例中,可以独立于与一个或多个先前识别出的中间点的距离来测量中间点到道路边界之一的接近度。将结合图7进行详细解释。

现在参考图7,图7示出了根据一个实施例的基于与路径边界之一的接近度来丢弃多个中间点中的一个或多个的方法流程图。在已经确定了多个中间点之后,在步骤702中确定中间点与路径的一个或多个边界的距离。在步骤704,执行检查以确定中间点与路径边界之一的距离是否小于预定义接近度阈值。预定义接近度阈值可以基于历史上确定的距离路径边界的安全驾驶距离来确定。在一个实施例中,当确定处于同一水平线上的两个障碍点之间的中间点时,在两个垂直方向上,即向上和向下,测量与一个或多个边界的距离。类似地,当确定处于同一垂直线上的两个障碍点之间的中间点时,则在两个水平方向,即左侧和右侧,测量中间点与一个或多个边界的距离。

重新参考步骤704,当中间点的距离小于预定义接近度阈值时,在步骤706中从多个中间点丢弃该中间点。然而,当距离大于或等于预定义接近度阈值时,在步骤708中将该中间点加到中间点的最终集合中。对于本领域技术人员容易理解的是,对于多个中间点中的每个中间点重复上述步骤。基于图6和图7所讨论方法的中间点的丢弃将结合图8的示例性实施例进行描述。

现在参考图8,图8示出了根据一个示例性实施例为路径802确定多个中间点以及随后丢弃多个中间点中的一个或多个。无人驾驶汽车804在路径802上穿行,路径802具有两个边界,即边界806a和边界806b。无人驾驶汽804在路径802上进行导航时要到达目的地点830。基于沿边界806a和806b识别出的多个障碍点确定了多个中间点。在由射线808描绘的第一扫描操作期间识别出的障碍点的示例包括障碍点810、障碍点812、障碍点814、障碍点816以及障碍点818。在水平方向上扫描时识别障碍点816,而在垂直方向上扫描时识别连续的障碍点818。如图8中所描述的,中间点被识别为连接这些连续障碍点中的每一个的直线的中心。

在第一扫描操作的同时,还执行由射线820表示的第二扫描操作以识别障碍点。以类似于上面讨论的方式,通过射线820在边界806a和806b上识别障碍点。再次参考图6,当确定新的中间点时,将新的中间点的距离与每个先前识别出的中间点进行比较。当距离低于预定义距离阈值时,这些中间点中更靠近边界806a和806b之一的一个被丢弃。举例来说,在822和824中,其中要丢弃的中间点用“\”标记。

再次参考图7,每个中间点与边界806a和806b的距离也被确定,并与预定义接近度阈值进行比较。丢弃那些距离小于预定义接近度阈值的中间点。在826和828中描述了其中的两个中间点。类似地,如图6和图7所示,丢弃满足丢弃中间点标准的其他中间点以获得用于进一步分析的中间点的最终集合。

现在参考图9,图9示出了根据一个实施例的用于按顺序排列最终集合中的中间点的方法流程图。一旦获得中间点的最终集合,在步骤902,将最终集合中的每个中间点连同目的地点和无人驾驶汽车位置点一起绘制在静态图上。静态图与导航地图的尺寸相匹配,确保包含所绘制的中间点的静态图可以精确地叠加在导航地图上。之后,在步骤904,执行模式搜索以从目的地点开始扫描静态图上的每个像素。模式搜索可以是框式搜索(boxsearch)或圆形(circlesearch)搜索之一。

基于模式搜索的执行,在步骤906,按顺序识别最终集合中的中间点。当模式搜索的框式或圆形扫描线触及并穿过中间点时,识别一个中间点。结合识别,在步骤908,依次提取最终集合中的每个中间点。换句话说,提取的中间点从与静态图关联的容器中移除。容器可以是一维阵列,不按顺序存储与最终集合中的中间点相关联的信息。在提取之后,在步骤910,将每个中间点以识别的顺序存储在一维阵列中。当模式搜索的框式或圆形扫描线触及并穿过无人驾驶汽车位置点时,在步骤912,结束模式搜索。结合图10的示例性实施例进一步详细解释这一点。

现在参考图10,图10示出了根据示例性实施例从目的地点到无人驾驶汽车位置点按顺序排列中间点。最终集合的中间点包括中间点‘p1'、‘p2'、‘p3'、‘p4'、‘p5'、‘p6'以及‘p7'。这些中间点中的每一个连同目的地点‘d’和无人驾驶汽车位置点‘o’被绘制在静态图1002上。关于所绘制的中间点、目的地点‘d’以及无人驾驶汽车位置点‘o’的信息不按顺序存储在一维阵列1004中。之后,执行框式搜索1006,以从目的地点‘d’开始,在静态图1002上扫描每个像素。

框式搜索1006使得能够识别按顺序在静态图1002上绘制的中间点p1至p7。当框式搜索1006向前移动并在静态图1002上识别下一个中间点时,框式搜索的大小增加。当框式搜索1006的扫描线触及并穿过中间点时,从静态图1002中提取中间点并存储在一维阵列1008中。然后将中间点从静态图1002中移除,以使其不出现在连续的框式搜索1006中。首先提取目的地点'd',然后是中间点'p1'、'p2'、'p3'、'p4'、'p5'、'p6'和'p7'以及无人驾驶车辆位置点'o'。因此,绘制在静态图1002上的所有这些点被提取并按照提取顺序存储在图10所示的一维阵列1008中。一旦无人驾驶汽车位置点'o'从静态图1002中被提取并存储在一维阵列1008中,则框式搜索1006结束。之后,通过对存储在一维阵列1008中的中间点应用曲线拟合机制,以生成用于无人驾驶汽车遍历或导航的从无人驾驶汽车位置点'o'到目的地点'd'的最终路径。

现在参考图11,图11示出了用于实现各种实施例的示例性计算机系统的框图。计算机系统1102可以包括中央处理单元(“cpu”或“处理器”),其包括用于执行程序组件的至少一个数据处理器,程序组件用于执行用户生成的或系统生成的请求。用户可以包括人,使用诸如包括在本发明中的设备的人,或者这样的设备本身。处理器1104可以包括诸如集成系统(总线)控制器、存储器管理控制单元、浮点单元、图形处理单元、数字信号处理单元等的专用处理单元。处理器1104可以包括微处理器,例如amd速龙(athlon)、毒龙(duron)或皓龙(opteron)微处理器,arm应用处理器,嵌入式或安全处理器,ibmpowerpc,intelcore、安腾(itanium)、至强(xeon)、赛扬(celeron)处理器或其他处理器产品线等。处理器1104可以通过主机、分布式处理器、多核、并行、网格或其他架构实现。一些实施例可以利用诸如专用集成电路(asic)、数字信号处理器(dsp)、现场可编程门阵列(fpga)等的嵌入式技术。

处理器1104可以被设置为经由i/o接口1106与一个或多个输入/输出(i/o)设备通信。i/o接口1106可以采用诸如但不限于音频、模拟、数字、单声道、rca、立体声、ieee-1394、串行总线、通用串行总线(usb)、红外、ps/2、bnc、同轴、组件、复合、数字视频接口(dvi)、高清多媒体接口(hdmi)、rf天线、s-video、vga、ieee802.n/b/g/n/x、蓝牙和蜂窝(例如,码分多址(cdma)、高速分组接入(hspa+)、全球移动通信系统(gsm)、长期演进(lte)、wimax等)等通信协议/方法。

使用i/o接口1106,计算机系统1102可以与一个或多个i/o设备进行通信。例如,输入设备1108可以是天线、键盘、鼠标、操纵杆、(红外)遥控器、照相机、读卡器、传真机、软件狗、生物特征读取设备、麦克风、触摸屏、触摸板、轨迹球、传感器(例如,加速计、光传感器、gps、陀螺仪、接近传感器等)、触控笔、扫描仪、存储设备、收发器、视频设备/视频源、头戴式显示器等。输出设备1110可以是打印机、传真机、视频显示器(例如,阴极射线管(crt)、液晶显示器(lcd)、发光二极管(led)、等离子体等)、音频扬声器等。在一些实施例中,收发器1112可以与处理器1104连接。收发器1112可以促进各种类型的无线传输或接收。例如,收发器1112可以包括可操作地连接到收发器芯片(例如,德州仪器(instruments)wilink博通公司(例如德州仪器(texasinstruments)wilinkwl1283、博通(broadcom)bcm4550iub8收发器、英飞凌科技(infineontechnologies)x-gold618-pmb9800收发器等)的天线,提供ieee802.11a/b/g/n、蓝牙、fm、全球定位系统(gps)、2g/3ghsdpa/hsupa通信等。

在一些实施例中,处理器1104可以设置为经由网络接口1116与通信网络1114通信。网络接口1116可以与通信网络1114通信。网络接口1116可以采用连接协议,包括但不限于直接连接、以太网(例如,双绞线50/500/5000baset)、传输控制协议/网际协议(tcp/ip)、令牌环、ieee802.11a/b/g/n/x等。通信网络1114可以包括但不限于直接互连、局域网(lan)、广域网(wan)、无线网络(例如使用无线应用协议)、因特网等。使用网络接口1116和通信网络1114,计算机系统1102可以与设备1118、1120以及1122进行通信。这些设备可以包括但不限于个人计算机、服务器、传真机、打印机、扫描仪、各种移动设备(诸如蜂窝电话)、智能电话(例如苹果智能手机、黑莓智能手机、安卓手机等)、平板电脑、电子书阅读器(亚马逊电子书阅读器、平板电脑等)、手提电脑、笔记本电脑、游戏机(微软游戏机、任天堂游戏机、索尼游戏机等)等。在一些实施例中,计算机系统1102本身可包含这些设备中的一个或多个。

在一些实施例中,处理器1104可以被设置为经由存储接口1124与一个或多个存储器设备(例如,ram1126、rom1128等)进行通信。所述存储接口可采用诸如串行高级技术连接(sata)、集成驱动电子设备(ide)、ieee-1394、通用串行总线(usb)、光纤通道、小型计算机系统接口(scsi)等的连接协议,存储接口1124可以连接到包括但不限于存储器驱动器、可移动磁盘驱动器等的存储器1130。存储器驱动器还可以包括磁鼓、磁盘驱动器、磁光驱动器、光盘驱动器、独立磁盘冗余阵列(raid)、固态存储设备、固态驱动器等。

存储器1130可以存储程序或数据库组件的集合,包括但不限于操作系统1132、用户接口应用1134、网页浏览器1136、邮件服务器1138、邮件客户端1140、用户/应用数据1142(例如,本发明中讨论的任何数据变量或数据记录)等。操作系统1132可以促进计算机系统1102的资源管理和操作。操作系统1132的示例包括但不限于苹果macosx平台、unix平台、类unix系统套件((例如,伯克利软件套件(bsd)、freebsd、netbsd、openbsd等)、linux套件(例如,等)、os/2平台、微软平台(xp、vista/7/8等)、苹果平台、谷歌安卓平台、黑莓os平台等。用户界面1134可以通过文本或图形设施来促进程序组件的显示、执行、交互、操纵或操作。例如,用户界面可以在可操作地连接到计算机系统1102的显示系统上提供诸如光标、图标、复选框、菜单、滚动器、窗口、小部件等的计算机交互界面元素。可以采用图形用户界面(gui),包括但不限于苹果操作系统的平台、平台、微软平台(例如,平台、平台等)、unixx-windows、网页界面库(例如平台、编程语言、编程语言、编程语言、html平台等)等。

在一些实施例中,计算机系统1102可以实现网页浏览器1136存储的程序组件。网页浏览器1136可以是超文本浏览应用程序,诸如微软ie浏览器、谷歌浏览器、网页浏览器、苹果网页浏览器等。可以使用https(安全超文本传输协议)、安全套接字层(ssl)、传输层安全性(tls)等提供安全的网页浏览。网页浏览器可以利用诸如ajax、dhtml、平台、编程语言、编程语言、应用程序编程接口(apis)等工具。在一些实施例中,计算机系统1102可以实现邮件服务器1138存储的程序组件。邮件服务器1138可以是诸如微软邮件服务器的因特网邮件服务器。邮件服务器1138可以利用诸如asp、activex、ansic++/c#、微软编程语言、cgi脚本、编程语言、编程语言、编程语言、编程语言、编程语言、网页对象等工具。邮件服务器1138可以利用诸如因特网消息访问协议(imap)、消息应用程序编程接口(mapi)、微软exchange、邮局协议(pop)、简单邮件传输协议(smtp)等通信协议。在一些实施例中,计算机系统1102可以实现邮件客户端1140存储的程序组件。邮件客户端1140可以是邮件查看应用程序,诸如苹果邮件客户端、微软邮件客户端、微软邮件客户端、mozilla邮件客户端等。

在一些实施例中,计算机系统1102可以存储用户/应用数据1142,如本发明中所描述的数据、变量、记录等。这样的数据库可以实现为容错、关系、可扩展、安全的数据库,如数据库或数据库。可替代地,这样的数据库可以使用诸如数组、散列、链表、结构、结构化文本文件(例如xml)、表格的标准化数据结构实现,或者作为面向对象的数据库(例如,使用对象数据库、对象数据库、对象数据库等)。这样的数据库可以被合并或分布,有时在本发明中上面讨论的各种计算机系统中。应该理解的是,任何计算机或数据库部件的结构和操作可以按照任意的有效组合形式进行组合、合并或分配。

应该认识到,为了清楚,上面的描述已经参考不同的功能单元和处理器描述了本发明的实施例。然而,将容易理解的是,可以在不偏离本发明的前提下可以在不同的功能元件、处理器或域之间对功能进行任何适当分配。例如,说明为由不同的处理器或控制器执行的功能可以由相同的处理器或控制器执行。因此,对特定功能单元的引用仅被视为对用于提供所描述的功能的合适手段的引用,而不是指示严格的逻辑或物理结构或组织。

本发明的各种实施例提供了用于识别无人驾驶汽车导航路径的中心的方法和设备。所述设备和方法使得能够精确地检测路径的中心,从而避免无人驾驶汽车在穿行路径时与边界发生碰撞。在所述方法中,检测多个中间点,并且随后基于彼此或与路径的边界的接近度而丢弃一个或多个中间点。从而使得路径中心的检测精度显著提高。

说明书描述了用于识别无人驾驶汽车导航路径的中心的方法和设备。阐述所示步骤以解释所示的示例性实施例,并且应当预料到,正在进行的技术发展将改变执行特定功能的方式。本文给出的示例是为了说明而不是限制。此外,为了便于描述,功能构建块的边界在此被任意地定义。只要规定的功能及其关系适当地执行,就可以定义可选的边界。基于本文所包含的教导,对于相关领域的技术人员来说,替代方案(包括本文所述的那些的同等物、扩展、变化、偏差等)将是容易理解的。这些替代方案落入所公开实施例的范围和精神内。

此外,一个或多个计算机可读存储介质可以用于实现与本发明一致的实施例。计算机可读存储介质是指可以存储处理器可读的信息或数据的任何类型的物理存储器。因此,计算机可读存储介质可以存储用于由一个或多个处理器执行的指令,包括用于使处理器执行与本文描述的实施例一致的步骤或阶段的指令。术语“计算机可读介质”应理解为包括有形物品,并排除载波和瞬态信号,即是非瞬态的。示例包括随机存取存储器(ram)、只读存储器(rom)、易失性存储器、非易失性存储器、硬盘驱动器、cdroms、dvd、闪存驱动器、磁盘以及任何其他已知的物理存储介质。

所述公开和示例旨在被认为仅是示例性的,所公开的实施例的真实范围和精神由权利要求示出。

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