发明内容
本申请提供了一种无人驾驶车辆的红绿灯查询方法、装置、存储介质及设备,用于解决根据虚拟车道线查询到的红绿灯的顺序不固定,影响了无人驾驶车辆的通行的问题。所述技术方案如下:
一方面,提供了一种无人驾驶车辆的红绿灯查询方法,所述方法包括:
获取无人驾驶车辆当前所在的虚拟车道线的车道标识;
获取预设的绑定信息,所述绑定信息中的键为虚拟车道线的车道标识,值中包含红绿灯集,所述红绿灯集中包含一个红绿灯的红绿灯标识或已按照优先级排序好的至少两个红绿灯的红绿灯标识;
在所述绑定信息中查找与所述车道标识对应的红绿灯集;
将所述红绿灯集作为查询结果。
在一种可能的实现方式中,所述方法还包括:
获取各条虚拟车道线的车道信息和各个红绿灯的红绿灯信息;
根据所述车道信息和所述红绿灯信息筛选与每条虚拟车道线相匹配的红绿灯;
当一条虚拟车道匹配到一个红绿灯时,在所述绑定信息中创建一条键值对,所述键值对中的键为所述虚拟车道的车道标识,所述键值对中的值中包含红绿灯集,且所述红绿灯集中包含所述红绿灯的红绿灯标识;
当一条虚拟车道匹配到至少两个红绿灯时,确定所述至少两个红绿灯的优先级,按照优先级从高到低的顺序对所述至少两个红绿灯进行排序,在所述绑定信息中创建一条键值对,所述键值对中的键为所述虚拟车道的车道标识,所述键值对中的值中包含红绿灯集,且所述红绿灯集中包含已排序的至少两个红绿灯标识。
在一种可能的实现方式中,所述根据所述车道信息和所述红绿灯信息筛选与每条虚拟车道线相匹配的红绿灯,包括:
当所述车道信息中包括所述虚拟车道线的端点位置信息,所述红绿灯信息中包括所述红绿灯的红绿灯位置信息时,根据所述端点位置信息和所述红绿灯位置信息计算所述红绿灯与所述虚拟车道线的端口之间的距离值,将距离值小于第一阈值的红绿灯作为与所述虚拟车道相匹配的红绿灯;和/或,
当所述车道信息中包括所述虚拟车道线的通行方向信息,所述红绿灯信息中包括所述红绿灯的朝向信息时,根据所述通行方向信息和所述朝向信息计算所述红绿灯的朝向与所述虚拟车道线的通行方向之间的夹角角度,将夹角角度小于第二阈值的红绿灯作为与所述虚拟车道线相匹配的红绿灯;和/或,
当所述车道信息中包括所述虚拟车道线的第一转向信息,所述红绿灯信息中包括所述红绿灯的第二转向信息时,筛选与所述第一转向信息的类型相同的第二转向信息,将所述第二转向信息对应的红绿灯作为与所述虚拟车道线相匹配的红绿灯。
在一种可能的实现方式中,所述虚拟车道线的通行方向与所述红绿灯的朝向是基于同一基准方向确定的。
在一种可能的实现方式中,所述确定所述至少两个红绿灯的优先级,包括:
获取所述至少两个红绿灯的类型,所述类型包括机动车道类、非机动车道类和人行横道类;按照所述机动车道类的优先级高于所述非机动车道类的优先级,所述非机动车道类的优先级高于所述人行横道类的优先级的规则,确定所述至少两个红绿灯的优先级;
计算所述红绿灯的朝向与所述虚拟车道线的通行方向之间的夹角角度,按照所述夹角角度的大小与所述优先级的高低呈负相关关系的规则,确定所述至少两个红绿灯的优先级;
计算所述红绿灯的中心点到所述虚拟车道线的垂直投影距离,按照所述垂直投影距离的大小与所述优先级的高低呈负相关关系的规则,确定所述至少两个红绿灯的优先级。
在一种可能的实现方式中,所述确定所述至少两个红绿灯的优先级,包括:
获取所述至少两个红绿灯的类型和每个类型的第一权重,所述类型包括机动车道类、非机动车道类和人行横道类;
计算所述红绿灯的朝向与所述虚拟车道线的通行方向之间的夹角角度,获取所述夹角角度对应的第二权重;
计算所述红绿灯的中心点到所述虚拟车道线的垂直投影距离,获取所述垂直投影距离对应的第三权重;
根据所述类型、所述第一权重、所述夹角角度、所述第二权重、所述垂直投影距离和所述第三权重计算加权和,按照加权和的大小与优先级的高低呈正相关关系的规则,确定所述至少两个红绿灯的优先级。
在一种可能的实现方式中,所述方法还包括:
当筛选出的红绿灯为黑灯时,对所述红绿灯进行剔除。
一方面,提供了一种无人驾驶车辆的红绿灯查询装置,所述装置包括:
获取模块,用于获取无人驾驶车辆当前所在的虚拟车道线的车道标识;
所述获取模块,还用于获取预设的绑定信息,所述绑定信息中的键为虚拟车道线的车道标识,值中包含红绿灯集,所述红绿灯集中包含一个红绿灯的红绿灯标识或已按照优先级排序好的至少两个红绿灯的红绿灯标识;
查找模块,用于在所述绑定信息中查找与所述车道标识对应的红绿灯集;
确定模块,用于将所述红绿灯集作为查询结果。
一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的无人驾驶车辆的红绿灯查询方法。
一方面,提供了一种感知设备,所述感知设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的无人驾驶车辆的红绿灯查询方法。
本申请提供的技术方案的有益效果至少包括:
由于绑定信息中的键为虚拟车道线的车道标识,值中包含红绿灯集,且红绿灯集中包含一个红绿灯的红绿灯标识或已按照优先级排序好的至少两个红绿灯的红绿灯标识,所以,在获取到无人驾驶车辆当前所在的虚拟车道线的车道标识和绑定信息后,可以在绑定信息中查找与车道标识对应的红绿灯集,再直接将红绿灯集作为查询结果,使得红绿灯相机可以直接根据红绿灯集中红绿灯标识的排列顺序进行红绿灯检测,从而避免对无人驾驶车辆的通行的影响。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图2,其示出了本申请一个实施例提供的无人驾驶车辆的红绿灯查询方法的方法流程图,该无人驾驶车辆的红绿灯查询方法可以应用于感知设备中。该无人驾驶车辆的红绿灯查询方法,可以包括:
步骤201,获取无人驾驶车辆当前所在的虚拟车道线的车道标识。
无人驾驶车辆是一种通过电脑系统实现无人驾驶的车辆。本实施例中的无人驾驶车辆是用于配送物品的车辆,这里所说的物品可以包括但不限于快递和外卖。
一条车道通常由两条边线划定,可以预先根据一条车道的两条边线生成一条虚拟车道线,并指示无人驾驶车辆沿着虚拟车道线行驶。由于本实施例中的无人驾驶车辆是低速行驶的车辆,所以,大多数情况下可以根据非机动车道生成虚拟车道线,当然,在特殊情况下,也可以根据靠右侧的机动车道生成虚拟车道线。
车道标识是用于唯一标识一条虚拟车道线的标识。
当无人驾驶车辆在行驶时,无人驾驶车辆中的感知设备可以识别出其当前所在的虚拟车道线,并获取该虚拟车道线的车道标识。
步骤202,获取预设的绑定信息,绑定信息中的键为虚拟车道线的车道标识,值中包含红绿灯集,红绿灯集中包含一个红绿灯的红绿灯标识或已按照优先级排序好的至少两个红绿灯的红绿灯标识。
现有技术中,绑定信息的键(key)为红绿灯的红绿灯标识,值(value)中包含至少一条虚拟车道线的车道标识。由于这种存储方式不利于根据虚拟车道线查找红绿灯,所以,本实施例中对绑定信息的存储方式进行了改进,使得绑定信息中的键为虚拟车道线的车道标识,值中包含红绿灯集,且每个红绿灯集中包含一个红绿灯的红绿灯标识或已按照优先级排序好的至少两个红绿灯的红绿灯标识。
当红绿灯集中包含一个红绿灯标识时,无需对该红绿灯标识进行排序;当红绿灯集中包含至少两个红绿灯标识时,该至少两个红绿灯标识已按照优先级进行排序。其中,优先级的高低与红绿灯标识的排序顺序呈正相关关系,即优先级越高,红绿灯标识的排序位置越靠前,优先级越低,红绿灯标识的排序位置越靠后。
请参考图3,图3中的LANEID字段表示车道标识,LIGHTS字段表示红绿灯集。图3中,车道标识为97561的虚拟车道线与红绿灯标识为97092和97096的红绿灯绑定,且97092的优先级高于97096的优先级。
步骤203,在绑定信息中查找与车道标识对应的红绿灯集。
步骤204,将红绿灯集作为查询结果。
其中,查询结果中可能包含一个红绿灯标识,也可能包含已按照优先级排序好的至少两个红绿灯标识。
综上所述,本申请实施例提供的无人驾驶车辆的红绿灯查询方法,由于绑定信息中的键为虚拟车道线的车道标识,值中包含红绿灯集,且红绿灯集中包含一个红绿灯的红绿灯标识或已按照优先级排序好的至少两个红绿灯的红绿灯标识,所以,在获取到无人驾驶车辆当前所在的虚拟车道线的车道标识和绑定信息后,可以在绑定信息中查找与车道标识对应的红绿灯集,再直接将红绿灯集作为查询结果,使得红绿灯相机可以直接根据红绿灯集中红绿灯标识的排列顺序进行红绿灯检测,从而避免对无人驾驶车辆的通行的影响。
在查询红绿灯之前,需要生成绑定信息,下面对绑定信息的生成流程进行说明,请参考图4,该绑定信息的生成方法可以包括以下步骤:
步骤401,获取各条虚拟车道线的车道信息和各个红绿灯的红绿灯信息。
车道信息中至少包含车道标识、端点位置信息、通行方向信息和第一转向信息。其中,端点位置信息用于表示虚拟车道线的端点位置,通行方向信息用于表示虚拟车道线的通行方向,第一转向信息用于表示虚拟车道线的转向类型。
红绿灯信息中至少包含红绿灯的红绿灯标识、红绿灯位置信息、朝向信息和第二转向信息。其中,红绿灯位置信息用于表示红绿灯的位置。朝向信息用于表示红绿灯的朝向,第二转向信息用于表示红绿灯所控制的转向类型。
车道信息和红绿灯信息都记录在高精度矢量地图中,感知设备可以直接从高精度矢量地图中读取到车道信息和红绿灯信息。
步骤402,根据车道信息和红绿灯信息筛选与每条虚拟车道线相匹配的红绿灯。
本实施例中,感知设备可以通过多种筛选方式筛选与虚拟车道线相匹配的红绿灯,下面对其中的三种筛选方式进行举例说明。
在第一种筛选方式中,当车道信息中包括虚拟车道线的端点位置信息,红绿灯信息中包括红绿灯的红绿灯位置信息时,根据端点位置信息和红绿灯位置信息计算红绿灯与虚拟车道线的端口之间的距离值,将距离值小于第一阈值的红绿灯作为与虚拟车道相匹配的红绿灯。
其中,第一阈值可以根据实际需求进行设置。以第一阈值为150米为例,则感知设备可以筛选出与虚拟车道线的端点距离小于150米的红绿灯。
在第二种筛选方式中,当车道信息中包括虚拟车道线的通行方向信息,红绿灯信息中包括红绿灯的朝向信息时,根据通行方向信息和朝向信息计算红绿灯的朝向与虚拟车道线的通行方向之间的夹角角度,将夹角角度小于第二阈值的红绿灯作为与虚拟车道线相匹配的红绿灯。
本实施例中,虚拟车道线的通行方向与红绿灯的朝向是基于同一基准方向确定的。比如,基准方向为正北方向。
红绿灯的朝向与虚拟车道线的通行方向之间形成的夹角可以参考图5中的θ。其中,第二阈值可以根据实际需求设置,只要满足可视条件即可。以第二阈值为60°为例,则感知设备可以筛选出θ<60°的红绿灯。
在第三种筛选方式中,当车道信息中包括虚拟车道线的第一转向信息,红绿灯信息中包括红绿灯的第二转向信息时,筛选与第一转向信息的类型相同的第二转向信息,将第二转向信息对应的红绿灯作为与虚拟车道线相匹配的红绿灯。
需要说明的是,感知设备还可以结合上述至少两种筛选方式来筛选红绿灯。以结合三种筛选方式为例,则最终选取的是与虚拟车道线的端点距离小于150米、θ<60°且与虚拟车道线的转向类型相同的红绿灯。
步骤403,当一条虚拟车道匹配到一个红绿灯时,在绑定信息中创建一条键值对,该键值对中的键为虚拟车道的车道标识,该键值对中的值中包含红绿灯集,且红绿灯集中包含红绿灯的红绿灯标识。
对于一条虚拟车道线,若只匹配到一个红绿灯,则感知设备可以将该虚拟车道线的车道标识作为键、将只包含一个红绿灯标识的红绿灯集作为值,在绑定信息中创建一个键值对。
仍然以图3为例,假设车道标识为98032的虚拟车道线匹配到的红绿标识为97098,则绑定信息中的键为98032,值为97098。
步骤404,当一条虚拟车道匹配到至少两个红绿灯时,确定至少两个红绿灯的优先级,按照优先级从高到低的顺序对至少两个红绿灯进行排序,在绑定信息中创建一条键值对,该键值对中的键为虚拟车道的车道标识,该键值对中的值中包含红绿灯集,且红绿灯集中包含已排序的至少两个红绿灯标识。
对于一条虚拟车道线,若匹配到至少两个红绿灯,则感知设备可以将该虚拟车道线的车道标识作为键、将包含排序后的至少两个红绿灯标识的红绿灯集作为值,在绑定信息中创建一个键值对。
在一种实现方式中,确定至少两个红绿灯的优先级,可以包括:
(1)获取至少两个红绿灯的类型,该类型包括机动车道类、非机动车道类和人行横道类;按照机动车道类的优先级高于非机动车道类的优先级,非机动车道类的优先级高于人行横道类的优先级的规则,确定至少两个红绿灯的优先级。
考虑到人行横道的红绿灯的安装位置较低,且容易被其他物体遮挡,这就导致对这种红绿灯的识别难度可能会较大,所以,设置人行横道的红绿灯的优先级最低;机动车道的红绿灯的安装位置较高且无遮挡,对机动车道的红绿灯的识别难度较低,所以,设置机动车道的红绿灯的优先级最高,非机动车道的红绿灯的优先级在两者之间。
(2)计算红绿灯的朝向与虚拟车道线的通行方向之间的夹角角度,按照夹角角度的大小与优先级的高低呈负相关关系的规则,确定至少两个红绿灯的优先级。
考虑到夹角角度会影响可视化,所以,设置夹角角度的大小与优先级的高低呈负相关关系的规则,即,夹角角度越小,优先级越高;夹角角度越大,优先级越低。
(3)计算红绿灯的中心点到虚拟车道线的垂直投影距离,按照垂直投影距离的大小与优先级的高低呈负相关关系的规则,确定至少两个红绿灯的优先级。
感知设备需要按照上述三种规则的排列顺序来确定红绿灯的优先级。简单来说,先按照类型对所有红绿灯进行分类并排序,使得所有机动车道的红绿灯排在非机动车道的红绿灯之前,所有非机动车道的红绿灯排在人行横道的红绿灯之前。若某个分类中包含至少两个红绿灯,再按照夹角角度对至少两个红绿灯进行排序,使得夹角角度小的红绿灯排在前面,夹角角度大的红绿灯排在后面。若存在夹角角度相等的至少两个红绿灯,再按照垂直投影距离对至少两个红绿灯进行排序,使得垂直投影距离小的红绿灯排在前面,垂直投影距离大的红绿灯排在后面。
在第二种实现方式中,确定至少两个红绿灯的优先级,可以包括:获取至少两个红绿灯的类型和每个类型的第一权重,类型包括机动车道类、非机动车道类和人行横道类;计算红绿灯的朝向与虚拟车道线的通行方向之间的夹角角度,获取夹角角度对应的第二权重;计算红绿灯的中心点到虚拟车道线的垂直投影距离,获取垂直投影距离对应的第三权重;根据类型、第一权重、夹角角度、第二权重、垂直投影距离和第三权重计算加权和,按照加权和的大小与优先级的高低呈正相关关系的规则,确定至少两个红绿灯的优先级。
感知设备可以计算类型、夹角角度和垂直投影距离的加权和,再按照加权和确定红绿灯的优先级。其中,加权和越大,红绿灯的优先级越高;加权和越小,红绿灯的优先级越低。
考虑到红绿灯可能是黑灯,所以,当筛选出的红绿灯为黑灯时,感知设备还可以对红绿灯进行剔除。其中,剔除的时机可以在排序之前,也可以在排序时,还可以在排序之后,本实施例中不作限定。
请参考图6,其示出了本申请一个实施例提供的无人驾驶车辆的红绿灯查询装置的结构框图,该无人驾驶车辆的红绿灯查询装置可以应用于感知设备中。该无人驾驶车辆的红绿灯查询装置,可以包括:
获取模块610,用于获取无人驾驶车辆当前所在的虚拟车道线的车道标识;
获取模块610,还用于获取预设的绑定信息,绑定信息中的键为虚拟车道线的车道标识,值中包含红绿灯集,红绿灯集中包含一个红绿灯的红绿灯标识或已按照优先级排序好的至少两个红绿灯的红绿灯标识;
查找模块620,用于在绑定信息中查找与车道标识对应的红绿灯集;
确定模块630,用于将红绿灯集作为查询结果。
在一个可选的实施例中,获取模块610,还用于获取各条虚拟车道线的车道信息和各个红绿灯的红绿灯信息;
请参考图7,该装置还包括筛选模块640,用于根据车道信息和红绿灯信息筛选与每条虚拟车道线相匹配的红绿灯;
绑定模块650,用于当一条虚拟车道匹配到一个红绿灯时,在绑定信息中创建一条键值对,键值对中的键为虚拟车道的车道标识,键值对中的值中包含红绿灯集,且红绿灯集中包含红绿灯的红绿灯标识;当一条虚拟车道匹配到至少两个红绿灯时,确定至少两个红绿灯的优先级,按照优先级从高到低的顺序对至少两个红绿灯进行排序,在绑定信息中创建一条键值对,键值对中的键为虚拟车道的车道标识,键值对中的值中包含红绿灯集,且红绿灯集中包含已排序的至少两个红绿灯标识。
在一个可选的实施例中,筛选模块640,还用于:
当车道信息中包括虚拟车道线的端点位置信息,红绿灯信息中包括红绿灯的红绿灯位置信息时,根据端点位置信息和红绿灯位置信息计算红绿灯与虚拟车道线的端口之间的距离值,将距离值小于第一阈值的红绿灯作为与虚拟车道相匹配的红绿灯;和/或,
当车道信息中包括虚拟车道线的通行方向信息,红绿灯信息中包括红绿灯的朝向信息时,根据通行方向信息和朝向信息计算红绿灯的朝向与虚拟车道线的通行方向之间的夹角角度,将夹角角度小于第二阈值的红绿灯作为与虚拟车道线相匹配的红绿灯;和/或,
当车道信息中包括虚拟车道线的第一转向信息,红绿灯信息中包括红绿灯的第二转向信息时,筛选与第一转向信息的类型相同的第二转向信息,将第二转向信息对应的红绿灯作为与虚拟车道线相匹配的红绿灯。
在一个可选的实施例中,虚拟车道线的通行方向与红绿灯的朝向是基于同一基准方向确定的。
在一个可选的实施例中,绑定模块650,还用于:
获取至少两个红绿灯的类型,类型包括机动车道类、非机动车道类和人行横道类;按照机动车道类的优先级高于非机动车道类的优先级,非机动车道类的优先级高于人行横道类的优先级的规则,确定至少两个红绿灯的优先级;
计算红绿灯的朝向与虚拟车道线的通行方向之间的夹角角度,按照夹角角度的大小与优先级的高低呈负相关关系的规则,确定至少两个红绿灯的优先级;
计算红绿灯的中心点到虚拟车道线的垂直投影距离,按照垂直投影距离的大小与优先级的高低呈负相关关系的规则,确定至少两个红绿灯的优先级。
在一个可选的实施例中,绑定模块650,还用于:
获取至少两个红绿灯的类型和每个类型的第一权重,类型包括机动车道类、非机动车道类和人行横道类;
计算红绿灯的朝向与虚拟车道线的通行方向之间的夹角角度,获取夹角角度对应的第二权重;
计算红绿灯的中心点到虚拟车道线的垂直投影距离,获取垂直投影距离对应的第三权重;
根据类型、第一权重、夹角角度、第二权重、垂直投影距离和第三权重计算加权和,按照加权和的大小与优先级的高低呈正相关关系的规则,确定至少两个红绿灯的优先级。
在一个可选的实施例中,筛选模块640,还用于:
当筛选出的红绿灯为黑灯时,对红绿灯进行剔除。
综上所述,本申请实施例提供的无人驾驶车辆的红绿灯查询装置,由于绑定信息中的键为虚拟车道线的车道标识,值中包含红绿灯集,且红绿灯集中包含一个红绿灯的红绿灯标识或已按照优先级排序好的至少两个红绿灯的红绿灯标识,所以,在获取到无人驾驶车辆当前所在的虚拟车道线的车道标识和绑定信息后,可以在绑定信息中查找与车道标识对应的红绿灯集,再直接将红绿灯集作为查询结果,使得红绿灯相机可以直接根据红绿灯集中红绿灯标识的排列顺序进行红绿灯检测,从而避免对无人驾驶车辆的通行的影响。
本申请一个实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的无人驾驶车辆的红绿灯查询方法。
本申请一个实施例提供了一种感知设备,所述感知设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的无人驾驶车辆的红绿灯查询方法。
需要说明的是:上述实施例提供的无人驾驶车辆的红绿灯查询装置在进行无人驾驶车辆的红绿灯查询时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将无人驾驶车辆的红绿灯查询装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的无人驾驶车辆的红绿灯查询装置与无人驾驶车辆的红绿灯查询方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。