发明内容
本发明实施例提供一种道路可行驶区域推理方法及装置,采用本发明实施例有利于在道路可行驶区域感知结果异常时可获取准确的道路可行驶区域,进而提高自动驾驶系统的安全性、系统可用性及用户体验。
第一方面,本发明实施例提供一种道路可行驶区域推理方法,包括:
获取感知可行驶区域;对感知可行驶区域进行校验,以得到第一区域和第二区域,其中,第一区域为校验可靠的可行驶区域,第二区域为校验不可靠的可行驶区域;若第一区域未覆盖感兴趣区域ROI,则根据可行驶区域感知记忆信息对第二区域进行推理,以得到第三区域和第四区域,第三区域为感知记忆区域与第二区域重叠的区域,第四区域为第二区域中感知记忆区域未覆盖的区域;若第一区域和第三区域未覆盖ROI,则根据可行驶位置点对第四区域进行推理,以得到第五区域;第五区域为第四区域中的可行驶区域;将第一区域,第三区域和第五区域确定为道路可行驶区域。
通过对感知可行驶区域进行校验和推理,可得到准确的道路可行驶区域,在根据准确的道路可行驶区域进行路线规划时可避免与障碍物和周围车辆发生碰撞,进而提高自动驾驶系统的安全性、系统可用性及用户体验。
在一个可行的实施例中,对感知可行驶区域进行校验,以得到第一区域和第二区域,包括:
判断感知可行驶区域的双侧道路边界是否存在;若确定感知可行驶区域的双侧道路边界存在,则对感知可行驶区域进行区域划分,以得到多个子区域;判断子区域I满足条件1-条件4中的每一项;若子区域I满足条件1-条件4中的每一项,则确定子区域I为校验可靠的子区域;若子区域I不满足条件1-条件4中的任一项,则确定子区域I为校验不可靠的区域;其中,子区域I为多个子区域中的任一个,第一区域为多个子区域中校验可靠的子区域构成的区域,第二区域为多个子区域中校验不可靠的子区域构成的区域。
在一个可行的实施例中,条件1-条件4分别为:
条件1:子区域I的宽度满足以下条件:
kminW≤wi≤kmaxW
其中,wi为子区域I的宽度,W根据可行驶区域经验宽度和可行驶区域记忆宽度确定;
条件2:子区域I的边界与其相邻子区域的边界的夹角不大于第一预设角度;
条件3:子区域I的边界与在当前时刻之前经校验的感知记忆区域的边界之间的距离不大于预设宽度;
条件4:子区域I中的可行驶位置点的比例大于预设比例。
在对感知可行驶区域进行校验时,不仅考虑到感知记忆区域,还考虑到道路常识信息,比如对边界完整性、宽度、相邻区域边界夹角进行检测,提高了最终达到的道路可行驶区域的准确性,在根据准确的道路可行驶区域进行路线规划时可避免与障碍物和周围车辆发生碰撞,进而提高自动驾驶系统的安全性、系统可用性及用户体验。
在一个可行的实施例中,感知记忆信息包括多个历史时刻的感知记忆栅格地图及每个感知记忆栅格地图中每个栅格的可行驶能力值,根据感知记忆信息对第二区域进行推理,以得到第三区域和第四区域,包括:
将多个历史时刻的感知记忆栅格地图分别从其历史时刻自车的车辆坐标系下转换到世界坐标系下,以得到多个世界栅格地图;获取推理区域,推理区域为多个世界栅格地图与第二区域重叠的区域;将推理区域从世界坐标系下转换到当前时刻自车的车辆坐标系下,以得到第一推理栅格地图;根据感知记忆栅格地图中栅格的可行驶能力值计算第一推理栅格地图内每个栅格的可行驶能力值;根据第一推理栅格地图内每个栅格的可行驶能力值确定第三区域和第四区域;第三区域为第一推理栅格地图中可行驶能力值大于第一阈值的栅格组成的区域;第四区域为第一推理栅格地图中可行驶能力值不大于第一阈值的栅格组成的区域。
通过感知记忆栅格地图对第二区域进行推理得到第二区域中的可行驶区域,实现了在感知可行驶区域异常时可以继续进行可行驶区域的推理,减小了自动驾驶系统的对感知可行驶区域的依赖性,增加了自动驾驶系统对实时感知的可行驶区域的容错能力,提高了自动驾驶系统的可靠性和安全性。
在一个可行的实施例中,将多个历史时刻的感知记忆栅格地图分别从其历史时刻自车的车辆坐标系下转换到世界坐标系下,以得到多个世界栅格地图,包括:
根据第一转换公式将多个历史时刻的感知记忆栅格地图分别从其历史时刻自车的车辆坐标系下转换到世界坐标系下,以得到多个世界栅格地图;
其中,第一转换公式为:
其中,(x
vt0,y
vt0)为历史时刻t0感知记忆栅格地图内的任一可行驶位置点P在自车的车辆坐标系下的坐标,(x
wt0,y
wt0)为可行驶位置点P在世界坐标系下的坐标,
为第一转换矩阵,
第一转换矩阵
(x
t0,y
t0)为历史时刻t0自车在世界标系下的坐标,θ
t0为历史时刻t0自车的车头朝向角度。
在一个可行的实施例中,将推理区域从世界坐标系下转换到当前时刻自车的车辆坐标系下,以得到第一推理栅格地图,包括:
根据第二转换公式将推理区域从世界坐标系下转换到当前时刻自车的车辆坐标系下,以得到第一推理栅格地图;
其中,第二转换公式为:
(x
wp,y
wp)为推理区域内任一可行驶位置点P’在世界坐标系下的坐标,(x
vp,y
vp)为可行驶位置点P’当前时刻在自车的车辆坐标系下的坐标,
为第二转换矩阵;
第二转换矩阵
(x
0,y
0)为当前时刻自车在世界坐标系下的坐标,θ
0为当前时刻自车的车头朝向角度。
在一个可行的实施例中,根据感知记忆栅格地图中每个栅格的可行驶能力值计算第一推理栅格地图内每个栅格的可行驶能力值,包括:
对第一推理栅格地图中第p列第q行栅格对应的多个历史时刻的可行驶能力值进行加权求和,以得到第一推理栅格地图中每个栅格的可行驶能力值;多个历史时刻的可行驶能力值为第p列第q行栅格在多个历史时刻的感知记忆栅格地图中对应的栅格的可行驶能力值;
其中,第一推理栅格地图中第p列第q行栅格的可行驶能力值为:
为在历史时刻t’的感知记忆栅格地图中对应的栅格的可行驶能力值,k′
t′为
的权重。
通过计算得到每个栅格的可行驶能力值,进而能够以栅格为基本单元确定可行驶区域,提高了可行驶区域的准确性,进而提高了自动驾驶系统的可靠性和安全性。
在一个可行的实施例中,根据可行驶位置点对第四区域进行推理,以得到第五区域,包括:
从可行驶位置点中获取待推理位置点,待推理位置点为位于第四区域与ROI重叠的区域中的可行驶位置点;将待推理位置点的坐标从世界坐标系下转换到自车的车辆坐标系下,以得到待推理可行驶区域,待推理可行驶区域为在自车的车辆坐标系下的待推理位置点构成的区域;对待推理可行驶区域进行栅格划分,以得到第二推理栅格地图;根据第二推理栅格地图中每个栅格内的可行驶位置点信息计算每个栅格的可行驶能力值;根据每个栅格的可行驶能力值确定第五区域,第五区域为在第二推理栅格地图内可行驶能力值大于第二阈值的栅格所组成的区域。
在可行驶区域感知信息或结果短期异常或长期异常时,可通过可行驶位置点对第四区域进行推理,并根据推理得到的可行驶区域进行行驶路线决策规划,避免了自动驾驶系统的实效,增加了自动驾驶系统的使用范围,减少了自动驾驶系统对实时感知的可行驶区域信息的依赖性,进而增加了自动驾驶系统对实时感知的可行驶区域信息的容错能力。
在一个可行的实施例中,将待推理位置点的坐标从世界坐标系下转换到自车的车辆坐标系下,以得到待推理可行驶区域,包括:
根据第三转换公式将待推理位置点的坐标进行转换,以得到待推理可行驶区域;
其中,第三转换公式为:
其中,(x
dw,y
dw)为待推理位置点中任一待推理位置点D在世界坐标系下的坐标,(x
dv,y
dv)为待推理位置点D在自车的车辆坐标系下的坐标,
为第二转换矩阵,
第二转换矩阵
(x
0,y
0)为当前时刻自车在世界坐标系下的坐标,θ
0为当前时刻自车的车头朝向角度。
在一个可行的实施例中,根据第二推理栅格地图中每个栅格内的可行驶位置点信息计算每个栅格的可行驶能力值,包括:
根据第二推理栅格地图中的第i列第j行栅格内的可行驶位置点信息计算得到不同时刻的可行驶能力值;对不同时刻的可行驶能力值进行加权求和,以得到第i列第j行栅格的可行驶能力值:
其中,第i列第j行栅格的可行驶能力值为
为t时刻的可行驶能力值,k
t为
的权重,
为第i列第j行栅格内t时刻获取的同向行驶的周围车辆可行驶位置点的数量,
为第i列第j行栅格内t时刻获取的逆向行驶的周围车辆可行驶位置点的数量,
为第i列第j行栅格内t时刻获取的自车行驶安全位置点的数量,
为第i列第j行栅格内t时刻获取的自车行驶危险位置点的数量,
为第j行栅格内t时刻获取的同向行驶的周围车辆可行驶位置点的数量,
为第j行栅格内t时刻获取的逆向行驶的周围车辆可行驶位置点的数量,
为第j行栅格内t时刻获取的自车行驶安全位置点的数量,
为第j行栅格内t时刻获取的自车行驶危险位置点的数量。
通过计算得到每个栅格的可行驶能力值,进而能够以栅格为基本单元确定可行驶区域,提高了可行驶区域的准确性,进而提高了自动驾驶系统的可靠性和安全性。
在一个可行的实施例中,在确定行驶安全位置点和行驶危险位置点的可行驶能力之后,增加行驶安全位置点的可行驶能力值,减小行驶危险位置点的可行驶能力值,可提高确定的可行驶区域的准确性,进而自动驾驶系统具备“越开越好”的特性。
在一个可行的实施例中,可行驶位置点包括自车可行驶位置点,根据可行驶位置点对第四区域进行推理之前,该方法还包括:
获取自车可行驶位置点,自车可行驶位置点包括行驶安全位置点和行驶风险位置点;其中,获取自车可行驶位置点,包括:判断自车在其当前位置的驾驶模式是否为手动驾驶模式;若自车在其当前位置的驾驶模式为手动驾驶模式,则确定自车的当前位置点为行驶安全位置点;若自车在其当前位置的驾驶模式为自动驾驶模式,则判断自车在其当前位置是否有碰撞风险或异常行驶行车行为;若确定自车在其当前位置没有碰撞风险且没有异常行车行为,则确定自车的当前位置点为行驶安全位置点;若确定自车在其当前位置有碰撞风险或异常行车行为,则确定自车的当前位置点为行驶危险位置点。
通过自车的可行驶位置点,使得在感知可行驶区域短暂异常或长期异常时,可根据自车的可行驶位置点推理得到可行驶区域,进而基于该可行驶区域进行行驶路线规划,避免了自动驾驶系统失效,提升了自动驾驶系统的应用范围及系统的可靠性。
在一个可行的实施例中,判断自车在其当前位置是否有碰撞风险,包括:
获取自车与车辆E的行驶方向夹角θ;车辆E为自车的周围车辆;若夹角θ大于第二预设角度,则采用相交模式风险判别方法确定自车在其当前位置是否有碰撞风险;若夹角θ不大于第二预设角度,则采用追尾模式风险判别方法确定自车在其当前位置是否有碰撞风险。
在一个可行的实施例中,采用相交模式风险判别方法确定自车在当前位置是否有碰撞风险,包括:
获取车辆E在自车的车辆坐标系下的相对速度和相对位置坐标及自车在行驶方向的绝对速度;根据相对速度、相对位置坐标及绝对速度获取第一时间和第二时间,其中,第一时间为自车从当前位置行驶至潜在碰撞点所需的时间,第二时间为车辆E从其当前位置行驶至潜在碰撞点所需的时间;若第一时间和第二时间满足公式1和公式2,则确定自车在其当前位置有碰撞风险;若第一时间和第二时间不满足公式1或公式2,则确定自车在其当前位置没有碰撞风险;其中,公式1为:|TTX
1-TTX
2|<α,公式2为:
TTX
1为第一时间,TTX
2为第二时间,α为预设阈值,R
0为风险阈值。
在一个可行的实施例中,采用追尾模式风险判别方法确定自车在当前位置是否有碰撞风险,包括:
获取车辆E在自车的车辆坐标系下的横向相对速度ΔVEx和相对位置坐标(xEv,yEv)及自车在行驶方向的绝对速度Vs;
根据横向相对速度ΔV
Ex、相对位置坐标(x
Ev,y
Ev)和绝对速度V
s获取第三时间TTC和第四时间TTW,其中,
若相对位置纵坐标满足公式3,且第三时间和第四时间满足公式4,则确定自车在其当前位置有碰撞风险;若相对位置纵坐标不满足公式3,或第三时间和第四时间满足公式4,则确定自车在其当前位置没有碰撞风险;
其中,公式3为:|y
Ev|<ψ,公式4为:
a和b为常数,R
0为风险阈值,ψ为横向间距阈值,|y
Ev|为自车与车辆E的横向间距。
在一个可行的实施例中,判断自车在其当前位置是否有异常行车行为,包括:
判断自车在其当前位置是否有紧急制动行为或紧急转向行为;若自车在其当前位置有紧急制动行为或紧急转向行为,则确定自车的当前位置为行驶危险位置点;若自车在其当前位置没有紧急制动行为且没有紧急转向行为,则确定自车的当前位置为行驶安全位置点。
在一个可行的实施例中,判断自车在其当前位置是否有紧急制动行为,包括:
获取自车在其当前位置的纵向加速度;若纵向加速度小于预设加速度,则确定自车在其当前位置有紧急制动行为;若纵向加速度不小于预设加速度,则确定自车在其当前位置没有紧急制动行为。
在一个可行的实施例中,判断自车在其当前位置是否有紧急转向行为,包括:
获取自车在其当前位置方向盘的转角速率;若方向盘的转角速率大于预设速率,则确定自车在其当前位置有紧急转向行为;若方向盘的转角速率不大于预设加速度,则确定自车在其当前位置没有紧急转向行为。
在一个可行的实施例中,获取自车可行驶位置点之后,该方法还包括:
若自车在其当前位置沿着道路方向1行驶,则确定自车可行驶位置点为道路方向1上的可行驶位置点,并将道路方向1上的可行驶位置点保存至道路方向1侧的路侧单元中,其中,道路方向1上的可行驶位置点包括道路方向1上的行驶安全位置和道路方向1上的行驶风险位置;
若自车在其当前位置沿着道路方向2行驶,则确定自车可行驶位置点为道路方向2上的可行驶位置点,并将道路方向2上的可行驶位置点保存至道路方向2侧的路侧单元中,其中,道路方向2上的可行驶位置点包括道路方向1上的行驶安全位置和道路方向2上的行驶风险位置;其中,道路方向1和道路方向2为同一道路上相反的方向。
通过将自车的可行驶位置点保存到路侧单元中,使得其他车辆在行驶到该路段时,可直接从路侧单元中获取可行驶位置点,使得在感知可行驶区域短暂异常或长期异常时,其他车的自动驾驶系统可根据从路侧单元获取的可行驶位置点推理得到可行驶区域,进而基于该可行驶区域进行行驶路线规划,避免了自动驾驶系统失效,提升了自动驾驶系统的应用范围及系统的可靠性。
在一个可行的实施例中,该方法还包括:
获取周围车辆的可行驶位置点信息。
通过周围车辆的可行驶位置点,使得在感知可行驶区域短暂异常或长期异常时,可根据周围车辆的可行驶位置点推理得到可行驶区域,进而基于该可行驶区域进行行驶路线规划,避免了自动驾驶系统失效,提升了自动驾驶系统的应用范围及系统的可靠性。
在一个可行的实施例中,周围车辆的可行驶位置点信息包括同向可行驶位置点坐标和逆向可行驶位置点坐标,获取周围车辆的可行驶位置点信息,包括:
获取周围车辆中任一车辆A的行驶信息及自车的行驶信息,其中,车辆A的行驶信息包括相对位置坐标和纵向相对速度,自车的行驶信息包括绝对位置坐标、在行驶方向的绝对速度及车头朝向角度;
根据自车的绝对位置坐标、车头朝向角度及车辆A的相对位置坐标获取车辆A的可行驶位置点坐标;
根据车辆A的纵向相对速度和自车绝对速度确定车辆A的可行驶位置点的类型;车辆A的可行驶位置点坐标的类型包括逆向可行驶位置点坐标或同向可行驶位置点坐标;
其中,相对位置坐标为在车辆坐标系下的坐标,车辆A的可行驶位置点坐标为在世界坐标系下的坐标。
在一个可行的实施例中,根据自车的绝对位置坐标、车头朝向角度及车辆A的相对位置坐标获取车辆A的可行驶位置点坐标,包括:
通过第四转换公式对自车的绝对位置坐标、车头朝向角度及车辆A的相对位置坐标进行计算,以得到车辆A的绝对位置点坐标;
其中,第四转换公式为:
(x
Av,y
Av)为车辆A的相对位置坐标,(x
Aw,y
Aw)为车辆A的可行驶位置点坐标;
第三转换矩阵
(x
0,y
0)为当前时刻自车的绝对位置坐标,θ
0为当前时刻自车的车头朝向角度。
在一个可行的实施例中,根据车辆A的纵向相对速度和绝对速度确定车辆A的可行驶位置点坐标的类型,包括:
根据车辆A的纵向相对速度和绝对速度获取车辆A的纵向绝对速度;
若车辆A的纵向绝对速度大于预设速度阈值,则确定车辆A的可行驶位置点坐标为同向可行驶位置点坐标;若车辆A的纵向绝对速度小于预设速度阈值,则确定车辆A的可行驶位置点坐标为逆向可行驶位置点坐标。
在一个可行的实施例中,该方法还包括:
若车辆A沿着道路方向1行驶,则确定车辆A的可行驶位置点坐标为道路方向1上的坐标,并将车辆A的可行驶位置点坐标保存至道路方向1侧的路侧单元中;
若车辆A沿着道路方向2行驶,则确定车道A的可行驶位置点为道路方向2上的坐标,并将车辆A的可行驶位置点坐标保存至道路方向2侧的路侧单元中;其中,道路方向1和道路方向2为同一道路上相反的两个方向。通过将周围车辆的可行驶位置点保存到路侧单元中,使得其他车辆在行驶到该路段时,在该车辆周围没有车辆是也可直接从路侧单元中获取周围车辆的可行驶位置点,使得在感知可行驶区域短暂异常或长期异常时,其他车的自动驾驶系统可根据周围车辆的可行驶位置点推理得到可行驶区域,进而基于该可行驶区域进行行驶路线规划,避免了自动驾驶系统失效,提升了自动驾驶系统的应用范围及系统的可靠性。
在一个可行的实施例中,获取周围车辆的可行驶位置点信息,包括:
从自车当前道路行驶方向侧的路侧单元或从云端信息平台中获取周围车辆的可行驶位置点信息。
在一个可行的实施例中,该方法还包括:
若第一区域覆盖ROI,则将第一区域确定为道路可行驶区域。
在一个可行的实施例中,该方法还包括:
若第一区域和第三区域覆盖所述ROI,则将第一区域和第三区域确定为道路可行驶区域。
第二方面,本发明实施例提供一种道路可行驶区域推理装置,包括:
获取模块,用于获取感知可行驶区域;
校验模块,用于对感知可行驶区域进行校验,以得到第一区域和第二区域,其中,第一区域为校验可靠的可行驶区域,第二区域为校验不可靠的可行驶区域;
推理模块,用于若第一区域未覆盖感兴趣区域ROI,则根据可行驶区域感知记忆信息对第二区域进行推理,以得到第三区域和第四区域,第三区域为感知记忆区域与第二区域重叠的区域,第四区域为所述第二区域中感知记忆区域未覆盖的区域;若第一区域和第三区域未覆盖所述ROI,则根据可行驶位置点对第四区域进行推理,以得到第五区域;第五区域为第四区域中的可行驶区域;
确定模块,用于将第一区域,第三区域和第五区域确定为道路可行驶区域。
在一个可行的实施例中,校验模块具体用于:
判断感知可行驶区域的双侧道路边界是否存在;若确定感知可行驶区域的双侧道路边界存在,则对感知可行驶区域进行区域划分,以得到多个子区域;判断子区域I满足条件1-条件4中的每一项;若子区域I满足条件1-条件4中的每一项,则确定子区域I为校验可靠的子区域;若子区域I不满足条件1-条件4中的任一项,则确定子区域I为校验不可靠的区域;其中,子区域I为多个子区域中的任一个,第一区域为多个子区域中校验可靠的子区域构成的区域,第二区域为多个子区域中校验不可靠的子区域构成的区域。
在一个可行的实施例中,条件1-条件4分别为:
条件1:子区域I的宽度满足以下条件:
kminW≤wi≤kmaxW
其中,wi为子区域I的宽度,W根据可行驶区域经验宽度和可行驶区域记忆宽度确定;
条件2:子区域I的边界与其相邻子区域的边界的夹角不大于第一预设角度;
条件3:子区域I的边界与在当前时刻之前经校验的感知记忆区域的边界之间的距离不大于预设宽度;
条件4:子区域I中的可行驶位置点的比例大于预设比例。
在一个可行的实施例中,感知记忆信息包括多个历史时刻的感知记忆栅格地图及每个感知记忆栅格地图中每个栅格的可行驶能力值,在根据感知记忆信息对第二区域进行推理,以得到第三区域和第四区域的方面,推理模块具体用于:
将多个历史时刻的感知记忆栅格地图分别从其历史时刻自车的车辆坐标系下转换到世界坐标系下,以得到多个世界栅格地图;获取推理区域,推理区域为多个世界栅格地图与第二区域重叠的区域;将推理区域从世界坐标系下转换到当前时刻自车的车辆坐标系下,以得到第一推理栅格地图;根据感知记忆栅格地图中栅格的可行驶能力值计算第一推理栅格地图内每个栅格的可行驶能力值;根据第一推理栅格地图内每个栅格的可行驶能力值确定第三区域和第四区域;第三区域为第一推理栅格地图中可行驶能力值大于第一阈值的栅格组成的区域;第四区域为第一推理栅格地图中可行驶能力值不大于第一阈值的栅格组成的区域。
在一个可行的实施例中,在将多个历史时刻的感知记忆栅格地图分别从其历史时刻自车的车辆坐标系下转换到世界坐标系下,以得到多个世界栅格地图的方面,推理模块具体用于:
根据第一转换公式将多个历史时刻的感知记忆栅格地图分别从其历史时刻自车的车辆坐标系下转换到世界坐标系下,以得到多个世界栅格地图;
其中,第一转换公式为:
其中,(x
vt0,y
vt0)为历史时刻t0感知记忆栅格地图内的任一可行驶位置点P在自车的车辆坐标系下的坐标,(x
wt0,y
wt0)为可行驶位置点P在世界坐标系下的坐标,
为第一转换矩阵,
第一转换矩阵
(x
t0,y
t0)为历史时刻t0自车在世界标系下的坐标,θ
t0为历史时刻t0自车的车头朝向角度。
在一个可行的实施例中,在将推理区域从世界坐标系下转换到当前时刻自车的车辆坐标系下,以得到第一推理栅格地图的方面,所述推理模块具体用于:
根据第二转换公式将推理区域从世界坐标系下转换到当前时刻自车的车辆坐标系下,以得到第一推理栅格地图;
其中,第二转换公式为:
(x
wp,y
wp)为推理区域内任一可行驶位置点P’在世界坐标系下的坐标,(x
vp,y
vp)为可行驶位置点P’当前时刻在自车的车辆坐标系下的坐标,
为第二转换矩阵;
第二转换矩阵
(x
0,y
0)为当前时刻自车在世界坐标系下的坐标,θ
0为当前时刻自车的车头朝向角度。
在一个可行的实施例中,在根据感知记忆栅格地图中每个栅格的可行驶能力值计算第一推理栅格地图内每个栅格的可行驶能力值的方面,推理模块具体用于:
对第一推理栅格地图中第p列第q行栅格对应的多个历史时刻的可行驶能力值进行加权求和,以得到第一推理栅格地图中每个栅格的可行驶能力值;多个历史时刻的可行驶能力值为第p列第q行栅格在多个历史时刻的感知记忆栅格地图中对应的栅格的可行驶能力值;
其中,第一推理栅格地图中第p列第q行栅格的可行驶能力值为:
为在历史时刻t’的感知记忆栅格地图中对应的栅格的可行驶能力值,k′
t′为
的权重。
在一个可行的实施例中,在根据可行驶位置点对所述第四区域进行推理,以得到第五区域的方面,推理模块具体用于:
从可行驶位置点中获取待推理位置点,待推理位置点为位于第四区域与ROI重叠的区域中的可行驶位置点;将待推理位置点的坐标从世界坐标系下转换到自车的车辆坐标系下,以得到待推理可行驶区域,待推理可行驶区域为在自车的车辆坐标系下的待推理位置点构成的区域;对待推理可行驶区域进行栅格划分,以得到第二推理栅格地图;根据第二推理栅格地图中每个栅格内的可行驶位置点信息计算每个栅格的可行驶能力值;根据每个栅格的可行驶能力值确定第五区域,第五区域为在第二推理栅格地图内可行驶能力值大于第二阈值的栅格所组成的区域。
在一个可行的实施例中,在将待推理位置点的坐标从世界坐标系下转换到自车的车辆坐标系下,以得到待推理可行驶区域的方面,推理模块具体用于:
根据第三转换公式将待推理位置点的坐标进行转换,以得到待推理可行驶区域;
其中,第三转换公式为:
其中,(x
dw,y
dw)为待推理位置点中任一待推理位置点D在世界坐标系下的坐标,(x
dv,y
dv)为待推理位置点D在自车的车辆坐标系下的坐标,
为第二转换矩阵,
第二转换矩阵
(x
0,y
0)为当前时刻自车在世界坐标系下的坐标,θ
0为当前时刻自车的车头朝向角度。
在一个可行的实施例中,在根据第二推理栅格地图中每个栅格内的可行驶位置点信息计算每个栅格的可行驶能力值的方面,推理模块具体用于:
根据第二推理栅格地图中的第i列第i行栅格内的可行驶位置点信息计算得到不同时刻的可行驶能力值;对不同时刻的可行驶能力值进行加权求和,以得到第i列第i行栅格的可行驶能力值:
其中,第i列第j行栅格的可行驶能力值为
为t时刻的可行驶能力值,k
t为
的权重,
为第i列第j行栅格内t时刻获取的同向行驶的周围车辆可行驶位置点的数量,
为第i列第j行栅格内t时刻获取的逆向行驶的周围车辆可行驶位置点的数量,
为第i列第j行栅格内t时刻获取的自车行驶安全位置点的数量,
为第i列第j行栅格内t时刻获取的自车行驶危险位置点的数量,
为第j行栅格内t时刻获取的同向行驶的周围车辆可行驶位置点的数量,
为第j行栅格内t时刻获取的逆向行驶的周围车辆可行驶位置点的数量,
为第j行栅格内t时刻获取的自车行驶安全位置点的数量,
为第j行栅格内t时刻获取的自车行驶危险位置点的数量。
在一个可行的实施例中,可行驶位置点包括自车可行驶位置点,获取模块还用于:
在根据可行驶位置点对第四区域进行推理之前,获取自车可行驶位置点,自车可行驶位置点包括行驶安全位置点和行驶风险位置点;其中,获取自车可行驶位置点,包括:判断自车在其当前位置的驾驶模式是否为手动驾驶模式;若自车在其当前位置的驾驶模式为手动驾驶模式,则确定自车的当前位置点为行驶安全位置点;若自车在其当前位置的驾驶模式为自动驾驶模式,则判断自车在其当前位置是否有碰撞风险或异常行驶行车行为;若确定自车在其当前位置没有碰撞风险且没有异常行车行为,则确定自车的当前位置点为行驶安全位置点;若确定自车在其当前位置有碰撞风险或异常行车行为,则确定自车的当前位置点为行驶危险位置点。
在一个可行的实施例中,在判断自车在其当前位置是否有碰撞风险的方面,获取模块具体用于:
获取自车与车辆E的行驶方向夹角θ;车辆E为自车的周围车辆;若夹角θ大于第二预设角度,则采用相交模式风险判别方法确定自车在其当前位置是否有碰撞风险;若夹角θ不大于第二预设角度,则采用追尾模式风险判别方法确定自车在其当前位置是否有碰撞风险。
在一个可行的实施例中,在采用相交模式风险判别方法确定自车在当前位置是否有碰撞风险的方面,获取模块具体用于:
获取车辆E在自车的车辆坐标系下的相对速度和相对位置坐标及自车在行驶方向的绝对速度;根据相对速度、相对位置坐标及绝对速度获取第一时间和第二时间,其中,第一时间为自车从当前位置行驶至潜在碰撞点所需的时间,第二时间为车辆E从其当前位置行驶至潜在碰撞点所需的时间;若第一时间和第二时间满足公式1和公式2,则确定自车在其当前位置有碰撞风险;若第一时间和第二时间不满足公式1或公式2,则确定自车在其当前位置没有碰撞风险;其中,公式1为:|TTX
1-TTX
2|<α,公式2为:
TTX
1为第一时间,TTX
2为第二时间,α为预设阈值,R
0为风险阈值。
在一个可行的实施例中,在采用追尾模式风险判别方法确定自车在当前位置是否有碰撞风险的方面,获取模块具体用于:
获取车辆E在自车的车辆坐标系下的横向相对速度ΔVEx和相对位置坐标(xEv,yEv)及自车在行驶方向的绝对速度Vs;
根据横向相对速度ΔV
Ex、相对位置坐标(x
Ev,y
Ev)和绝对速度V
s获取第三时间TTC和第四时间TTW,其中,
若相对位置纵坐标满足公式3,且第三时间和第四时间满足公式4,则确定自车在其当前位置有碰撞风险;若相对位置纵坐标不满足公式3,或第三时间和第四时间满足公式4,则确定自车在其当前位置没有碰撞风险;
其中,公式3为:|y
Ev|<ψ,公式4为:
a和b为常数,R
0为风险阈值,ψ为横向间距阈值,|y
Ev|为自车与车辆E的横向间距。
在一个可行的实施例中,在判断自车在其当前位置是否有异常行车行为的方面,获取模块具体用于:
判断自车在其当前位置是否有紧急制动行为或紧急转向行为;若自车在其当前位置有紧急制动行为或紧急转向行为,则确定自车的当前位置为行驶危险位置点;若自车在其当前位置没有紧急制动行为且没有紧急转向行为,则确定自车的当前位置为行驶安全位置点。
在一个可行的实施例中,在判断自车在其当前位置是否有紧急制动行为的方面,获取模块具体用于:
获取自车在其当前位置的纵向加速度;若纵向加速度小于预设加速度,则确定自车在其当前位置有紧急制动行为;若纵向加速度不小于预设加速度,则确定自车在其当前位置没有紧急制动行为。
在一个可行的实施例中,在判断自车在其当前位置是否有紧急转向行为的方面,获取模块具体用于:
获取自车在其当前位置方向盘的转角速率;若方向盘的转角速率大于预设速率,则确定自车在其当前位置有紧急转向行为;若方向盘的转角速率不大于预设加速度,则确定自车在其当前位置没有紧急转向行为。
在一个可行的实施例中,道路可行驶区域推理装置还包括保存模块;
确定模块,还用于在获取模块获取自车可行驶位置点之后,若自车在其当前位置沿着道路方向1行驶,则确定自车可行驶位置点为道路方向1上的可行驶位置点,保存模块,用于将道路方向1上的可行驶位置点保存至道路方向1侧的路侧单元中,其中,道路方向1上的可行驶位置点包括道路方向1上的行驶安全位置和道路方向1上的行驶风险位置;
确定模块,还用于若自车在其当前位置沿着道路方向2行驶,则确定自车可行驶位置点为道路方向2上的可行驶位置点,保存模块,用于将道路方向2上的可行驶位置点保存至道路方向2侧的路侧单元中,其中,道路方向2上的可行驶位置点包括道路方向1上的行驶安全位置和道路方向2上的行驶风险位置;其中,道路方向1和道路方向2为同一道路上相反的方向。
在一个可行的实施例中,获取模块还用于:
获取周围车辆的可行驶位置点信息。
在一个可行的实施例中,周围车辆的可行驶位置点信息包括同向可行驶位置点坐标和逆向可行驶位置点坐标,在获取周围车辆的可行驶位置点信息的方面,获取模块还用于:
获取周围车辆中任一车辆A的行驶信息及自车的行驶信息,其中,车辆A的行驶信息包括相对位置坐标和纵向相对速度,自车的行驶信息包括绝对位置坐标、在行驶方向的绝对速度及车头朝向角度;根据自车的绝对位置坐标、车头朝向角度及车辆A的相对位置坐标获取车辆A的可行驶位置点坐标;根据车辆A的纵向相对速度和自车绝对速度确定车辆A的可行驶位置点的类型;车辆A的可行驶位置点坐标的类型包括逆向可行驶位置点坐标或同向可行驶位置点坐标;其中,相对位置坐标为在车辆坐标系下的坐标,车辆A的可行驶位置点坐标为在世界坐标系下的坐标。
在一个可行的实施例中,在根据自车的绝对位置坐标、车头朝向角度及车辆A的相对位置坐标获取车辆A的可行驶位置点坐标的方面,获取模块还用于:
通过第四转换公式对自车的绝对位置坐标、车头朝向角度及车辆A的相对位置坐标进行计算,以得到车辆A的绝对位置点坐标;
其中,第四转换公式为:
(x
Av,y
Av)为车辆A的相对位置坐标,(x
Aw,y
Aw)为车辆A的可行驶位置点坐标;
第三转换矩阵
(x
0,y
0)为当前时刻自车的绝对位置坐标,θ
0为当前时刻自车的车头朝向角度。
在一个可行的实施例中,在根据车辆A的纵向相对速度和绝对速度确定车辆A的可行驶位置点坐标的类型的方面,获取模块还用于:
根据车辆A的纵向相对速度和绝对速度获取车辆A的纵向绝对速度;
若车辆A的纵向绝对速度大于预设速度阈值,则确定车辆A的可行驶位置点坐标为同向可行驶位置点坐标;若车辆A的纵向绝对速度小于预设速度阈值,则确定车辆A的可行驶位置点坐标为逆向可行驶位置点坐标。
在一个可行的实施例中,确定模块,还用于若车辆A沿着道路方向1行驶,则确定车辆A的可行驶位置点坐标为道路方向1上的坐标,保存模块,还用于将车辆A的可行驶位置点坐标保存至道路方向1侧的路侧单元中;
确定模块,还用于若车辆A沿着道路方向2行驶,则确定车道A的可行驶位置点为道路方向2上的坐标,保存模块,用于将车辆A的可行驶位置点坐标保存至道路方向2侧的路侧单元中;其中,道路方向1和道路方向2为同一道路上相反的两个方向。
在一个可行的实施例中,在获取周围车辆的可行驶位置点信息的方面,获取模块具体用于:
从自车当前道路行驶方向侧的路侧单元或从云端信息平台中获取周围车辆的可行驶位置点信息。
在一个可行的实施例中,确定模块还用于:
若第一区域覆盖ROI,则将第一区域确定为道路可行驶区域。
在一个可行的实施例中,确定模块还用于:
若第一区域和第三区域覆盖ROI,则将第一区域和第三区域确定为道路可行驶区域。
第三方面,本发明实施例提供一种道路可行驶区域推理装置,包括:
用于存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的可执行程序代码时执行如第一方面所述方法中的部分或全部。
第四方面,本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序被具有处理能力的计算平台或者处理器执行时以实现如第一方面中所述方法的部分或全部步骤。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
具体实施方式
下面结合附图分别进行详细说明。
在此首先对本发明涉及的术语进行说明。
结构化道路:路面结构单一、边缘线清晰和道路几何特征明显的道路,比如高速公路、城市主干道等。
非结构化道路:路面结构复杂、没有车道线和清晰的道路边界、道路几何特征不明显的道路,比如居住小区道路、乡村道路、城市非主干道等。
可行驶能力栅格地图:是指把环境地图划分成一系列栅格,其中每一栅格给定一个可行驶能力值,以表征该栅格是否可行驶。
车辆坐标系:当车辆在水平路面上处于静止状态下,x轴平行于地面指向前方,z轴通过后轴中心垂直向上,y轴指向驾驶员座位的左侧,后轴中心为坐标系的原点O,如图1a所示。
世界坐标系:指相对于地面固定的坐标系。世界坐标系的定义方式有多种,例如可以将原点定义在车辆的初始位置,x轴沿目标的正方向,当车辆运动后,原点位置和x轴方向固定在地面不随车辆运动,或者,将原点定义在大地的某一位置,x轴向北。
图1b是本发明实施例提供的车辆100的功能框图。在一个实施例中,将车辆100配置为完全或部分地自动驾驶模式。例如,车辆100可以在处于自动驾驶模式中的同时控制自身,并且可通过人为操作来确定车辆及其周边环境的当前状态,确定周边环境中的至少一个其他车辆的可能行为,并确定该其他车辆执行可能行为的可能性相对应的置信水平,基于所确定的信息来控制车辆100。在车辆100处于自动驾驶模式中时,可以将车辆100置为在没有和人交互的情况下操作。
车辆100可包括各种子系统,例如行进系统102、传感器系统104、控制系统106、一个或多个外围设备108以及电源110、计算机系统112和用户接口116。可选地,车辆100可包括更多或更少的子系统,并且每个子系统可包括多个元件。另外,车辆100的每个子系统和元件可以通过有线或者无线互连。
行进系统102可包括为车辆100提供动力运动的组件。在一个实施例中,推进系统102可包括引擎118、能量源119、传动装置120和车轮/轮胎121。引擎118可以是内燃引擎、电动机、空气压缩引擎或其他类型的引擎组合,例如气油发动机和电动机组成的混动引擎,内燃引擎和空气压缩引擎组成的混动引擎。引擎118将能量源119转换成机械能量。
能量源119的示例包括汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和其他电力来源。能量源119也可以为车辆100的其他系统提供能量。
传动装置120可以将来自引擎118的机械动力传送到车轮121。传动装置120可包括变速箱、差速器和驱动轴。在一个实施例中,传动装置120还可以包括其他器件,比如离合器。其中,驱动轴可包括可耦合到一个或多个车轮121的一个或多个轴。
传感器系统104可包括感测关于车辆100周边的环境的信息的若干个传感器。例如,传感器系统104可包括定位系统122(定位系统可以是GPS系统,也可以是北斗系统或者其他定位系统)、惯性测量单元(inertial measurement unit,IMU)124、雷达126、激光测距仪128以及相机130。传感器系统104还可包括被监视车辆100的内部系统的传感器(例如,车内空气质量监测器、燃油量表、机油温度表等)。来自这些传感器中的一个或多个的传感器数据可用于检测对象及其相应特性(位置、形状、方向、速度等)。这种检测和识别是自主车辆100的安全操作的关键功能。
定位系统122可用于估计车辆100的地理位置。IMU 124用于基于惯性加速度来感测车辆100的位置和朝向变化。在一个实施例中,IMU 124可以是加速度计和陀螺仪的组合。
雷达126可利用无线电信号来感测车辆100的周边环境内的物体。在一些实施例中,除了感测物体以外,雷达126还可用于感测物体的速度和/或前进方向。
激光测距仪128可利用激光来感测车辆100所位于的环境中的物体。在一些实施例中,激光测距仪128可包括一个或多个激光源、激光扫描器以及一个或多个检测器,以及其他系统组件。
相机130可用于捕捉车辆100的周边环境的多个图像。相机130可以是静态相机或视频相机。
控制系统106为控制车辆100及其组件的操作。控制系统106可包括各种元件,其中包括转向系统132、油门134、制动单元136、传感器融合算法138、计算机视觉系统140、路线控制系统142以及障碍物避免系统144。
转向系统132可操作来调整车辆100的前进方向。例如在一个实施例中可以为方向盘系统。
油门134用于控制引擎118的操作速度并进而控制车辆100的速度。
制动单元136用于控制车辆100减速。制动单元136可使用摩擦力来减慢车轮121。在其他实施例中,制动单元136可将车轮121的动能转换为电流。制动单元136也可采取其他形式来减慢车轮121转速从而控制车辆100的速度。
计算机视觉系统140可以操作来处理和分析由相机130捕捉的图像以便识别车辆100周边环境中的物体和/或特征。所述物体和/或特征可包括交通信号、道路边界和障碍物。计算机视觉系统140可使用物体识别算法、运动中恢复结构(Structure from Motion,SFM)算法、视频跟踪和其他计算机视觉技术。在一些实施例中,计算机视觉系统140可以用于为环境绘制地图、跟踪物体、估计物体的速度等等。
路线控制系统142用于确定车辆100的行驶路线。在一些实施例中,路线控制系统142可结合来自传感器138、GPS 122和一个或多个预定地图的数据以为车辆100确定行驶路线。
障碍物避免系统144用于识别、评估和避免或者以其他方式越过车辆100的环境中的潜在障碍物。
当然,在一个实例中,控制系统106可以增加或替换地包括除了所示出和描述的那些以外的组件。或者也可以减少一部分上述示出的组件。
车辆100通过外围设备108与外部传感器、其他车辆、其他计算机系统或用户之间进行交互。外围设备108可包括无线通信系统146、车载电脑148、麦克风150和/或扬声器152。
在一些实施例中,外围设备108提供车辆100的用户与用户接口116交互的手段。例如,车载电脑148可向车辆100的用户提供信息。用户接口116还可操作车载电脑148来接收用户的输入。车载电脑148可以通过触摸屏进行操作。在其他情况中,外围设备108可提供用于车辆100与位于车内的其它设备通信的手段。例如,麦克风150可从车辆100的用户接收音频(例如,语音命令或其他音频输入)。类似地,扬声器152可向车辆100的用户输出音频。
无线通信系统146可以直接地或者经由通信网络来与一个或多个设备无线通信。例如,无线通信系统146可使用3G蜂窝通信,例如CDMA、EVD0、GSM/GPRS,或者4G蜂窝通信,例如LTE。或者5G蜂窝通信。无线通信系统146可利用WiFi与无线局域网(wireless localarea network,WLAN)通信。在一些实施例中,无线通信系统146可利用红外链路、蓝牙或ZigBee与设备直接通信。其他无线协议,例如各种车辆通信系统,例如,无线通信系统146可包括一个或多个专用短程通信(dedicated short range communications,DSRC)设备,这些设备可包括车辆和/或路边台站之间的公共和/或私有数据通信。
电源110可向车辆100的各种组件提供电力。在一个实施例中,电源110可以为可再充电锂离子或铅酸电池。这种电池的一个或多个电池组可被配置为电源为车辆100的各种组件提供电力。在一些实施例中,电源110和能量源119可一起实现,例如一些全电动车中那样。
车辆100的部分或所有功能受计算机系统112控制。计算机系统112可包括至少一个处理器113,处理器113执行存储在例如数据存储装置114这样的非暂态计算机可读介质中的指令115。计算机系统112还可以是采用分布式方式控制车辆100的个体组件或子系统的多个计算设备。
处理器113可以是任何常规的处理器,诸如商业可获得的CPU。替选地,该处理器可以是诸如ASIC或其它基于硬件的处理器的专用设备。尽管图1b功能性地图示了处理器、存储器、和在相同块中的计算机110的其它元件,但是本领域的普通技术人员应该理解该处理器、计算机、或存储器实际上可以包括可以或者可以不存储在相同的物理外壳内的多个处理器、计算机、或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机110的外壳内的其它存储介质。因此,对处理器或计算机的引用将被理解为包括对可以或者可以不并行操作的处理器或计算机或存储器的集合的引用。不同于使用单一的处理器来执行此处所描述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,所述处理器只执行与特定于组件的功能相关的计算。
在此处所描述的各个方面中,处理器可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它则由远程处理器执行,包括采取执行单一操纵的必要步骤。
在一些实施例中,数据存储装置114可包含指令115(例如,程序逻辑),指令115可被处理器113执行来执行车辆100的各种功能,包括以上描述的那些功能。数据存储装置114也可包含额外的指令,包括向推进系统102、传感器系统104、控制系统106和外围设备108中的一个或多个发送数据、从其接收数据、与其交互和/或对其进行控制的指令。
除了指令115以外,数据存储装置114还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在车辆100在自主、半自主和/或手动模式中操作期间被车辆100和计算机系统112使用。
处理器113通过传感系统104获取道路可行驶区域感知信息,并根据道路可行驶区域感知信息得到感知可行驶区域;对该感知可行驶区域进行校验,以得到第一区域和第二区域,其中,第一区域为校验可靠的可行驶区域,第二区域为校验不可靠的可行驶区域;若第一区域覆盖ROI时,则处理器113将第一区域确定为道路可行驶区域;若第一区域未覆盖ROI时,则处理器113从数据存储装置114中获取感知记忆信息,并根据感知记忆信息对第二区域进行推理操作,以得到第三区域和第四区域,第三区域为感知记忆区域与第二区域重叠的区域,第四区域为第二区域中感知记忆区域未覆盖的区域;若第一区域和第三区域覆盖ROI,则处理器113将第一区域和第三区域确定为道路可行驶区域;若第一区域和第三区域未覆盖ROI,则处理器113从数据存储装置114或者其他单元或者服务器获取可行驶位置点信息,并根据该可行驶位置点信息对第四区域进行推理,以得到第五区域,该第五区域为第四区域中的可行驶区域;处理器113将第一区域、第三区域和第五区域确定为道路可行驶区域;处理器113根据道路可行驶区域进行行驶路线规划决策,以得到规划行驶路线;处理器113将规划行驶路线发送至控制系统106,控制系统106的各功能模块根据规划行驶路线控制车辆100行驶。
用户接口116,用于向车辆100的用户提供信息或从其接收信息。可选地,用户接口116可包括在外围设备108的集合内的一个或多个输入/输出设备,例如无线通信系统146、车载电脑148、麦克风150和扬声器152。
计算机系统112可基于从各种子系统(例如,行进系统102、传感器系统104和控制系统106)以及从用户接口116接收的输入来控制车辆100的功能。例如,计算机系统112可利用来自控制系统106的输入以便控制转向单元132来避免由传感器系统104和障碍物避免系统144检测到的障碍物。在一些实施例中,计算机系统112可操作来对车辆100及其子系统的许多方面提供控制。
可选地,上述这些组件中的一个或多个可与车辆100分开安装或关联。例如,数据存储装置114可以部分或完全地与车辆100分开存在。上述组件可以按有线和/或无线方式来通信地耦合在一起。
可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图1b不应理解为对本发明实施例的限制。
在道路行进的自动驾驶汽车,如上面的车辆100,可以识别其周围环境内的物体以确定对当前速度的调整。所述物体可以是其它车辆、交通控制设备、或者其它类型的物体。在一些示例中,可以独立地考虑每个识别的物体,并且基于物体的各自的特性,诸如它的当前速度、加速度、与车辆的间距等,可以用来确定自动驾驶汽车所要调整的速度。
可选地,自动驾驶汽车车辆100或者与自动驾驶车辆100相关联的计算设备(如图1b的计算机系统112、计算机视觉系统140、数据存储装置114)可以基于所识别的物体的特性和周围环境的状态(例如,交通、雨、道路上的冰、等等)来预测所述识别的物体的行为。可选地,每一个所识别的物体都依赖于彼此的行为,因此还可以将所识别的所有物体全部一起考虑来预测单个识别的物体的行为。车辆100能够基于预测的所述识别的物体的行为来调整它的速度。换句话说,自动驾驶汽车能够基于所预测的物体的行为来确定车辆将需要调整到(例如,加速、减速、或者停止)什么稳定状态。在这个过程中,也可以考虑其它因素来确定车辆100的速度,诸如,车辆100在行驶的道路中的横向位置、道路的曲率、静态和动态物体的接近度等等。
除了提供调整自动驾驶汽车的速度的指令之外,计算设备还可以提供修改车辆100的转向角的指令,以使得自动驾驶汽车遵循给定的轨迹和/或维持与自动驾驶汽车附近的物体(例如,道路上的相邻车道中的轿车)的安全横向和纵向距离。
上述车辆100可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本发明实施例不做特别的限定。
场景示例2:自动驾驶系统
根据图2,计算机系统101包括处理器103,处理器103和系统总线105耦合。处理器103可以是一个或者多个处理器,其中每个处理器都可以包括一个或多个处理器核。显示适配器(video adapter)107,显示适配器可以驱动显示器109,显示器109和系统总线105耦合。系统总线105通过总线桥111和输入输出(I/O)总线113耦合。I/O接口115和I/O总线耦合。I/O接口115和多种I/O设备进行通信,比如输入设备117(如:键盘,鼠标,触摸屏等),多媒体盘(media tray)121,(例如,CD-ROM,多媒体接口等)。收发器123(可以发送和/或接受无线电通信信号),摄像头155(可以捕捉景田和动态数字视频图像)和外部USB接口125。其中,可选地,和I/O接口115相连接的接口可以是USB接口。
其中,处理器103可以是任何传统处理器,包括精简指令集计算(“RISC”)处理器、复杂指令集计算(“CISC”)处理器或上述的组合。可选地,处理器可以是诸如专用集成电路(“ASIC”)的专用装置。可选地,处理器103可以是神经网络处理器或者是神经网络处理器和上述传统处理器的组合。
可选地,在本文所述的各种实施例中,计算机系统101可位于远离自动驾驶车辆的地方,并且可与自动驾驶车辆0无线通信。在其它方面,本文所述的一些过程在设置在自动驾驶车辆内的处理器上执行,其它由远程处理器执行,包括采取执行单个操纵所需的动作。
计算机101可以通过网络接口129和软件部署服务器149通信。网络接口129是硬件网络接口,比如,网卡。网络127可以是外部网络,比如因特网,也可以是内部网络,比如以太网或者虚拟私人网络(VPN)。可选地,网络127还可是无线网络,比如WiFi网络,蜂窝网络等。
硬盘驱动接口和系统总线105耦合。硬件驱动接口和硬盘驱动器相连接。系统内存135和系统总线105耦合。运行在系统内存135的数据可以包括计算机101的操作系统137和应用程序143。
操作系统包括Shell 139和内核(kemel)141。Shell 139是介于使用者和操作系统之内核(kernel)间的一个接口。shell是操作系统最外面的一层。shell管理使用者与操作系统之间的交互:等待使用者的输入,向操作系统解释使用者的输入,并且处理各种各样的操作系统的输出结果。
内核141由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。直接与硬件交互,操作系统内核通常运行进程,并提供进程间的通信,提供CPU时间片管理、中断、内存管理、IO管理等等。
应用程序143包括控制汽车自动驾驶相关的程序,比如,管理自动驾驶的汽车和路上障碍物交互的程序,控制自动驾驶汽车路线或者速度的程序,控制自动驾驶汽车和路上其他自动驾驶汽车交互的程序。应用程序143也存在于软件部署服务器149的系统上。在一个实施例中,在需要执行应用程序147时,计算机系统101可以从软件部署服务器149下载应用程序143。
传感器153和摄像头155获取车道路可行驶区域感知信息,并通过I/O接口115、总线桥111、系统总线105及硬盘驱动器接口121将道路可行驶区域感知信息保存至硬盘驱动器131中,处理器103通过系统总线105及硬盘驱动器接口121从硬盘驱动器131中获取道路可行驶区域感知信息,并对道路可行驶区域感知信息执行应用程序143中的自动驾驶相关程序147,在执行自动驾驶相关程序147时,处理器103具体执行如下步骤;根据道路可行驶区域感知信息获取感知可行驶区域,并对该感知可行驶区域进行校验,以得到第一区域和第二区域,其中,第一区域为校验可靠的可行驶区域,第二区域为校验不可靠的可行驶区域;若第一区域覆盖ROI时,则处理器103将第一区域确定为道路可行驶区域;若第一区域未覆盖ROI时,则处理器103从硬盘驱动器133中获取感知记忆信息,并根据感知记忆信息对第二区域进行推理操作,以得到第三区域和第四区域,第三区域为感知记忆区域与第二区域重叠的区域,第四区域为第二区域中感知记忆区域未覆盖的区域;若第一区域和第三区域覆盖ROI,则处理器103将第一区域和第三区域确定为道路可行驶区域;若第一区域和第三区域未覆盖ROI,则处理器103从硬盘驱动器133或者其他单元或者服务器获取可行驶位置点信息,并根据该可行驶位置点信息对第四区域进行推理,以得到第五区域,该第五区域为第四区域中的可行驶区域;处理器113将第一区域、第三区域和第五区域确定为道路可行驶区域;处理器113根据道路可行驶区域进行行驶路线规划决策,以得到规划行驶路线;处理器113根据规划行驶路线控制车辆行驶。
传感器153和计算机系统101关联。传感器153用于探测计算机101周围的环境。举例来说,传感器153可以探测动物,汽车,障碍物和人行横道等,进一步传感器还可以探测上述动物,汽车,障碍物和人行横道等物体周围的环境,比如:动物周围的环境,例如,动物周围出现的其他动物,天气条件,周围环境的光亮度等。可选地,如果计算机101位于自动驾驶的汽车上,传感器可以是摄像头,红外线感应器,化学检测器,麦克风等。
比如通过速度传感器获取自车的绝对速度和周围车辆的相对速度、通过位置传感器获取自车的相对位置坐标等,通过角度传感器获取自车在行驶方向上车头的角度。
硬件的具体实现:
图3,是本发明实施例提供的一种芯片硬件结构图。
神经网络处理器NPU 50作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。NPU的核心部分为运算电路50,控制器504控制运算电路503提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路503内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器508accumulator中。
向量计算单元507可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元507可以用于神经网络中非卷积/非FC层的网络计算,如池化(Pooling),批归一化(Batch Normalization),局部响应归一化(Local Response Normalization)等。
在一些实现种,向量计算单元能507将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器506用于存放输入数据以及输出数据。
存储单元访问控制器505(Direct Memory Access Controller,DMAC)将外部存储器中的输入数据搬运到输入存储器501和/或统一存储器506、将外部存储器中的权重数据存入权重存储器502,以及将统一存储器506中的数据存入外部存储器。
总线接口单元(Bus Interface Unit,BIU)510,用于通过总线实现主CPU、DMAC和取指存储器509之间进行交互。
与控制器504连接的取指存储器(instruction fetch bufier)509,用于存储控制器504使用的指令;
控制器504,用于调用指存储器509中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random AccessMemory,简称DDR SDRAM)、高带宽存储器(High Bandwidth Memory,HBM)或其他可读可写的存储器。
图1b和图2中的程序算法可以由主CPU和NPU共同配合完成的。
云侧的实施例的描述示例:
示例1:
计算机系统112还可以从其它计算机系统接收信息或转移信息到其它计算机系统。或者,从车辆100的传感器系统104收集的传感器数据可以被转移到另一个计算机对此数据进行处理。如图4所示,来自计算机系统112的数据可以经由网络被传送到云侧的计算机720用于进一步的处理。网络以及中间节点可以包括各种配置和协议,包括因特网、万维网、内联网、虚拟专用网络、广域网、局域网、使用一个或多个公司的专有通信协议的专用网络、以太网、WiFi和HTTP、以及前述的各种组合。这种通信可以由能够传送数据到其它计算机和从其它计算机传送数据的任何设备,诸如调制解调器和无线接口。
在一个示例中,计算机720可以包括具有多个计算机的服务器,例如负载均衡服务器群,为了从计算机系统112接收、处理并传送数据的目的,其与网络的不同节点交换信息。该服务器可以被类似于计算机系统110配置,具有处理器730、存储器740、指令750、和数据760。
在一个示例中,服务器720中的数据可以包括车辆的上的通信装置发送的车辆的可行驶位置点坐标、车辆的车头的角度等信息。服务器720中的数据还可以包括历史栅格地图等数据。
示例2:
图5示出了根据示例实施例的自主驾驶车辆和云服务中心的示例。云服务中心可以经诸如无线通信网络的网络522,从其操作环境500内的自动驾驶辆510、512和514接收信息(诸如车辆传感器收集到数据或者其它信息)。
比如自车的可行驶位置点坐标、周围车辆的可行驶位置点坐标和可行驶区域感知区域信息等。
云服务中心根据接收到的数据,运行其存储的控制汽车自动驾驶相关的程序对自动驾驶车辆510、512和514进行控制。控制汽车自动驾驶相关的程序可以为,管理自动驾驶的汽车和路上障碍物交互的程序,控制自动驾驶汽车路线或者速度的程序,控制自动驾驶汽车和路上其他自动驾驶汽车交互的程序。
云服务中心获取道路可行驶区域感知信息,并根据道路可行驶区域感知信息得到感知可行驶区域;对该感知可行驶区域进行校验,以得到第一区域和第二区域,其中,第一区域为校验可靠的可行驶区域,第二区域为校验不可靠的可行驶区域;若第一区域覆盖ROI时,则将第一区域确定为道路可行驶区域;若第一区域未覆盖ROI时,则云服务中心获取感知记忆信息,并根据感知记忆信息对第二区域进行推理操作,以得到第三区域和第四区域,第三区域为感知记忆区域与第二区域重叠的区域,第四区域为第二区域中感知记忆区域未覆盖的区域;若第一区域和第三区域覆盖ROI,则云服务中心将第一区域和第三区域确定为道路可行驶区域;若第一区域和第三区域未覆盖ROI,则云服务中心获取可行驶位置点信息,并根据该可行驶位置点信息对第四区域进行推理,以得到第五区域,该第五区域为第四区域中的可行驶区域;云服务中心将第一区域、第三区域和第五区域确定为道路可行驶区域。云服务中心根据道路可行驶区域进行行驶路线规划决策,以得到规划行驶路线;云服务中心将规划行驶路线发送至车辆的控制系统,以使控制系统的各功能模块根据规划行驶路线控制车辆行驶。
网络522将地图的部分向外提供给自动驾驶车辆510、512或514。在其它示例中,可以在不同位置或中心之间划分操作。例如,多个云服务中心可以接收、证实、组合和/或发送信息报告。在一些示例中还可以在自动驾驶车辆之间发送信息报告和/传感器数据。其它配置也是可能的。
在一些示例中,中心向自动驾驶车辆发送对于关于环境内可能的驾驶情况所建议的解决方案(如,告知前方障碍物,并告知如何绕开它)。例如,云服务中心可以辅助车辆确定当面对环境内的特定障碍时如何行进。云服务中心向自动驾驶车辆发送指示该车辆应当在给定场景中如何行进的响应。例如,云服务中心基于收集到的传感器数据,可以确认道路前方具有临时停车标志的存在,并还该车道上基于“车道封闭”标志和施工车辆的传感器数据,确定该车道由于施上而被封闭。相应地,云服务中心发送用于自动驾驶车辆通过障碍的建议操作模式(例如:指示车辆变道另一条道路上)。云服务中心观察其操作环境内的视频流并且已确认自动驾驶车辆能安全并成功地穿过障碍时,对该自动驾驶车辆所使用操作步骤可以被添加到驾驶信息地图中。相应地,这一信息可以发送到该区域内可能遇到相同障碍的其它车辆,以便辅助其它车辆不仅识别出封闭的车道还知道如何通过。
参见图6,图6为本发明实施例提供的一种道路可行驶区域推理方法的应用场景示意图。如图6所示,该应用场景包括:车载装置601、路侧单元602和云端信息平台。
其中,云端信息平台603与路侧单元(road side unit,RSU)602之间的数据交互是通过远程通信实现的,比如4G、5G、光纤通信等;车辆装置601与云端信息平台603之间的数据交互是通过远程通信完成的,比如4G、5G等;车载装置601与路侧单元602信息交互通过短程通信实现的,如DSRC技术、针对车辆的长期演进(long term evolution for vehicle,LTE-V)技术等。
车载装置601获取道路可行驶区域感知信息,并根据道路可行驶区域感知信息得到感知可行驶区域;对该感知可行驶区域进行校验,以得到第一区域和第二区域,其中第一区域为校验可靠的可行驶区域,第二区域为校验不可靠的可行驶区域;若第一区域覆盖ROI时,则车载装置601将第一区域确定为道路可行驶区域;若第一区域未覆盖ROI时,则车载装置601从其存储器中获取可行驶区域感知记忆信息,并通过感知记忆区域对校验不可靠的可行驶区域进行推理操作,得到第三区域和第四区域,其中第三区域为感知记忆区域与第二区域重叠的区域,第四区域为第二区域中感知记忆区域未覆盖的区域;若第一区域和第三区域覆盖ROI,则车载装置601将第一区域和第三区域确定为道路可行驶区域;若第一区域和第三区域未覆盖ROI,则车载装置601从RSU 602或云端信息平台603中获取可行驶位置点信息,并根据可行驶位置点信息对第四区域进行推理,以得到第五区域,第五区域为第四区域中的可行驶区域,并将第一区域、第三区域及第五区域确定为道路可行驶区域。然后根据道路可行驶区域进行行驶路线规划决策,以得到规划行驶路线。
RSU602收集其所在路段行驶车辆产生的可行驶位置点信息,并将产生的可行驶位置点信息上传云端信息平台603,同时将该可行驶位置点信息发送至在当前路段上行驶的车辆。
云端信息平台603收集各个车辆产生的以及RSU602采集的可行驶位置点信息,并进行信息整合;结合车辆当前位置、用户当前行驶目的地及导航路线、用户常用驾驶路线等,更新附近路段可行驶位置点信息至车辆的车载装置;按不同道路方向更新可行驶位置点信息至对应道路的RSU602。
参见图7,图7为本发明实施例提供的一种道路可行驶区域推理方法的流程示意图。如图7所示,该方法包括:
S701、车载装置获取道路的可行驶区域感知信息,并根据可行驶区域感知信息确定感知可行驶区域。
其中,可行驶区域感知信息包括自车的环境传感器获取的相关信息,比如摄像头或激光雷达获取自车前方区域的信息,包括路面信息、障碍物信息、周围车辆的相关信息;通过车辆上的毫米波雷达获取障碍物和周围车辆的速度信息及相对位置,并根据障碍物和周围车辆的速度确定障碍物和周围车辆的加速度。
车载装置根据环境传感器获取的相关信息确定感知可行驶区域。该感知可行驶区域本质上是个栅格地图,栅格地图中每个栅格的可行驶能力值为用于表征该栅格可行驶的概率。
S702、车载装置对感知可行驶区域进行校验,以得到校验结果。其中,校验结果包括第一区域和第二区域。
其中,第一区域为校验可靠的可行驶区域,第二区域为校验不可靠的可行驶区域。
具体地,车载装置对感知可行驶区域进行校验,以得到校验结果,具体包括:
判断感知可行驶区域的双侧道路边界是否存在,若确定感知可行驶区域的一侧道路边界或者双侧道路边界不存在,则确定该感知可行驶区域为校验不可靠的可行驶区域;若确定感知可行驶区域的双侧道路边界均存在,则对感知可行驶区域进行区域划分,以得到多个子区域;判断该多个子区域中的每个子区域是否满足以下条件1-条件4;若子区域I满足条件1-条件4中的每一项,则确定子区域I为校验可靠的子区域;若子区域I不满足条件1-条件4中的任一项,则确定子区域I为校验不可靠的子区域;其中,子区域I为多个子区域中的任一个。
第一区域为多个子区域中校验可靠的子区域构成的区域,第二区域为多个子区域中校验可靠的子区域构成的区域。
其中,条件1:子区域I的宽度满足以下条件:
kminW≤wi≤kmaxW
W由可行驶区域经验宽度We和可行驶区域记忆宽度Wm共同确定的。
W=ξWe+(1-ξ)Wm
其中,可行驶区域经验宽度We的取值范围可根据道路施工规范和调研文献确定,可行驶区域记忆宽度Wm可根据当前时刻之前的一段时间的可行驶区域宽度值加权平均计算得到。
其中,可行驶区域记忆宽度
W
i为在时刻i时可行驶区域记忆宽度,μ
i为W
i的加权值;距离当前时刻越远的可行驶区域,其记忆宽度的加权值越大。
条件2:子区域I的边界与其相邻子区域的边界的夹角不大于第一预设角度。
具体地,若子区域I的左边界与其相邻子区域的左边界的夹角不大于第一预设角度且子区域I的右边界与其相邻子区域的右边界的夹角不大于第一预设角度,则确定子区域I的边界与其相邻子区域的边界的夹角是否不大于第一预设角度;若子区域I的左边界与其相邻子区域的左边界的夹角大于第一预设角度或子区域I的右边界与其相邻子区域的右边界的夹角大于第一预设角度,则确定子区域I的边界与其相邻子区域的边界的夹角大于第一预设角度。
在此需要说明的是,第一预设角度的大小取决于可行驶区域的结构化程度;可行驶区域的结构化程度越高,第一预设角度越小。
举例说明,如图8所示,区域I和区域II相邻,区域I的左边界和区域II的左边界的夹角为向量
与向量
的夹角,区域I的右边界和区域II的右边界的夹角为向量
与向量
的夹角。
条件3:子区域I的边界与在当前时刻之前经校验的感知记忆区域的边界之间的距离不大于预设宽度。
具体地,若子区域I的左边界与在当前时刻之前经校验的感知记忆区域的左边界的之间的距离不大于预设宽度且子区域I的右边界与在当前时刻之前经校验的感知记忆区域的右边界的距离不大于预设宽度,则确定子区域I的边界与在当前时刻之前经校验的感知记忆区域的边界的距离是否不大于预设宽度;若子区域I的左边界与在当前时刻之前经校验的感知记忆区域的左边界的距离大于预设宽度或子区域I的右边界与在当前时刻之前经校验的感知记忆区域的右边界的距离大于预设宽度,则确定子区域I的边界与在当前时刻之前经校验的感知记忆区域的边界的距离大于预设宽度。
条件4:子区域I中的可行驶位置点的比例大于预设比例。
其中,子区域I中的可行驶位置点的比例为:
为子区域I内可行驶位置点的数量,
为子区域I内不可行驶位置点的数量。
S703、车载装置判断第一区域是否覆盖ROI。
其中,感兴趣区域(region of interest,ROI)为后续行驶路线决策规划模块的感兴趣区域。
其中,若第一区域覆盖ROI,则执行步骤S707;若第一区域未覆盖ROI,则执行步骤S704。
S704、车载装置根据感知记忆信息对第二区域进行推理,以得到第三区域和第四区域。
具体地,感知记忆信息包括多个历史时刻的感知记忆栅格地图及每个感知记忆栅格地图中每个栅格的可行驶能力值,根据感知记忆信息对第二区域进行推理,以得到第三区域和第四区域,包括:
将多个历史时刻的感知记忆栅格地图分别从其历史时刻自车的车辆坐标系下转换到世界坐标系下,以得到多个世界栅格地图;获取推理区域,推理区域为多个世界栅格地图与第二区域重叠的区域;将推理区域从世界坐标系下转换到当前时刻自车的车辆坐标系下,以得到第一推理栅格地图;根据感知记忆栅格地图中栅格的可行驶能力值计算第一推理栅格地图内每个栅格的可行驶能力值;根据第一推理栅格地图内每个栅格的可行驶能力值确定第三区域和第四区域;第三区域为第一推理栅格地图中可行驶能力值大于第一阈值的栅格组成的区域;第四区域为第一推理栅格地图中可行驶能力值不大于第一阈值的栅格组成的区域。
在一个可行的实施例中,将多个历史时刻的感知记忆栅格地图分别从其历史时刻自车的车辆坐标系下转换到世界坐标系下,以得到多个世界栅格地图,包括:
根据第一转换公式将多个历史时刻的感知记忆栅格地图分别从其历史时刻自车的车辆坐标系下转换到世界坐标系下,以得到所述多个世界栅格地图;
其中,第一转换公式为:
其中,(x
vt0,y
vt0)为历史时刻t0感知记忆栅格地图内的任一可行驶位置点P在自车的车辆坐标系下的坐标,(x
wt0,y
wt0)为可行驶位置点P在世界坐标系下的坐标,
为第一转换矩阵,
第一转换矩阵
(x
t0,y
t0)为历史时刻t0自车在世界标系下的坐标,θ
t0为历史时刻t0自车的车头朝向角度。
在此需要说明的是,在不同的时刻,自车处于不同的位置,自车的车辆坐标系也是在变化的,因此在不同时刻的自车的车辆坐标系下,对于在世界坐标系下的同一位置点的坐标是不同的,进而需要将不同历史时刻的感知记忆栅格地图分别从其历史时刻自车的车辆坐标系下转换到世界坐标系下。
在一个可行的实施例中,将推理区域从世界坐标系下转换到当前时刻自车的车辆坐标系下,以得到第一推理栅格地图,包括:
根据第二转换公式将推理区域从世界坐标系下转换到当前时刻自车的车辆坐标系下,以得到第一推理栅格地图;
其中,第二转换公式为:
(x
wp,y
wp)为推理区域内任一可行驶位置点P’在世界坐标系下的坐标,(x
vp,y
vp)为可行驶位置点P’当前时刻在自车的车辆坐标系下的坐标,
为第二转换矩阵;
第二转换矩阵
(x
0,y
0)为当前时刻自车在世界坐标系下的坐标,θ
0为当前时刻自车的车头朝向角度。
进一步地,根据感知记忆栅格地图中每个栅格的可行驶能力值计算第一推理栅格地图内每个栅格的可行驶能力值,包括:
对第一推理栅格地图中第p列第q行栅格对应的多个历史时刻的可行驶能力值进行加权求和,以得到第一推理栅格地图中每个栅格的可行驶能力值;多个历史时刻的可行驶能力值为第p列第q行栅格在所述多个历史时刻的感知记忆栅格地图中对应的栅格的可行驶能力值;
其中,第一推理栅格地图中第p列第q行栅格的可行驶能力值为:
为在历史时刻t的感知记忆栅格地图中对应的栅格的可行驶能力值,k′
t′为
的权重。
在此需要说明的是,如图9所示,上面部分为n个历史时刻的感知记忆栅格地图,下面部分为n个历史时刻的感知记忆栅格地图与第二区域重叠的区域,即下面部分为第一推理栅格地图。n个历史时刻的感知记忆栅格地图中灰色栅格为下面部分中灰色栅格对应的栅格。
S705、车载装置判断第一区域和第三区域是否覆盖ROI。
其中,若第一区域和第三区域覆盖ROI,则执行步骤S707;若第一区域和第三区域未覆盖ROI,则执行步骤S706。
S706、车载装置根据可行驶位置点信息对第四区域进行推理,以得到第五区域。
在一个可行的实施例中,在根据可行驶位置点信息对第四区域进行推理之前,车载装置获取可行驶区域位置点信息,其中,可行驶位置点信息包括自车可行驶位置点信息和/或周围车辆可行驶位置点信息。
在此需要指出的是,可行驶位置点信息是以在世界坐标系下的坐标表示的。
在一个示例中,自车可行驶位置点信息具体可根据自车行驶信息得到,还可以从路侧单元和/或云端信息平台获取,周围车辆可行驶位置点信息可以根据周围车辆行驶信息得到的,也可以是从云端信息平台和/或从路侧单元获取的。自车可在根据自车行驶信息获取自车可行驶位置点信息后,将该可行驶位置点信息传输至路侧单元和/或云端信息平台;车载装置可根据周围车辆的行驶信息获取周围车辆的可行驶位置点信息,并将该周围车辆的可行驶位置点信息传输至路侧单元和/或云端信息平台;路侧单元将得到的周围车辆的可行驶位置点信息和自车可行驶位置点信息传输至云端信息平台。
在一个可行的实施例中,车载装置根据周车行驶信息获取周围车辆的可行驶位置点信息,包括:
车载装置获取周围车辆的行驶信息和自车的行驶信息,其中周围车辆的行驶信息包括相对位置坐标和纵向相对速度,自车的行驶信息包括自车绝对位置坐标、绝对速度和车头朝向角度,其中,相对位置坐标是周围车辆在车辆坐标系下的坐标,绝对位置坐标是在世界坐标系下的坐标;车载装置根据自车的绝对位置坐标、车头朝向角度和周围车辆的相对位置坐标获取周围车辆的可行驶位置点坐标,该可行驶位置点坐标是周围车辆在世界坐标系下的坐标;根据周围车辆的纵向相对速度和自车的绝对速度确定周围车辆的可行驶位置点坐标的类型,其中,可行驶位置点坐标的类型包括逆向可行驶位置点坐标和同向可行驶位置点坐标。
进一步地,车载装置根据自车的绝对位置坐标、车头朝向角度及车辆A的相对位置坐标获取车辆A的可行驶位置点坐标,包括:
通过第四转换公式对自车的绝对位置坐标、车头朝向角度及车辆A的相对位置坐标进行计算,以得到车辆A的绝对位置点坐标;
其中,第四转换公式为:
(x
Av,y
Av)为车辆A的相对位置坐标,(x
Aw,y
Aw)为车辆A的可行驶位置点坐标;
第三转换矩阵
(x
0,y
0)为当前时刻自车的绝对位置坐标,θ
0为当前时刻自车的车头朝向角度,车辆A为周围车辆中的任一辆。
在此需要说明的是,获取周围车辆的相对位置坐标和纵向相对速度时,将静止车辆排除在外;具体可采用以下方法:
假设自车在行驶方向上的绝对速度为V
s,则车辆A的绝对速度为
若车辆A的绝对速度V
0小于第一速度阈值V
T1,则确定车辆A为静止车辆;反之,确定车辆A为行驶中的车辆,其中,(ΔV
x,ΔV
y)为车辆A在车辆坐标系下的横向相对速度和纵向相对速度。
进一步地,车载装置根据自车的绝对速度和周围车辆的纵向相对速度确定周围车辆t0时刻的绝对位置坐标的类型,具体是车载装置根据周围车辆的纵向相对速度及自车的绝对速度确定周围车辆的行驶方向,在根据周围车辆的行驶方向确定周围车辆的绝对位置坐标的坐标类型;对于车辆A,若Vs+ΔVx>VT2,则确定车辆A的行驶方向与自车的行驶方向同向,进而确定车辆A的可行驶位置点坐标为同向可行驶位置点坐标,若Vs+ΔVx<-VT2,则确定车辆A的行驶方向与自车的行驶方向逆向,进而确定车辆A的可行驶位置点坐标为逆向可行驶位置点坐标,其中,VT2为第二速度阈值。
进一步地,车载装置将周围车辆的可行驶位置点坐标划分到道路方向1和道路方向2,道路方向1和道路方向2为同一道路上相反的两个方向。
具体地,如图10所示,对于周围车辆中的逆向可行驶位置点坐标,若自车沿着道路方向1行驶,则车载装置确定该逆向可行驶位置点坐标为道路方向2上的坐标,并将该逆向可行驶位置点坐标保存至道路方向2侧的路侧单元中;若自车不是沿着道路方向1行驶,则车载装置确定该逆向可行驶位置点坐标为道路方向1上的坐标,并将该逆向可行驶位置点坐标保存至道路方向1侧的路侧单元中;对于周围车辆中的同向可行驶位置点坐标,若自车沿着道路方向1行驶,则车载装置该同向可行驶位置点坐标为道路方向1上的坐标,并将该同向可行驶位置点坐标保存至道路方向1侧的路侧单元中;若自车不是沿着道路方向1行驶,则车载装置确定该同向可行驶位置点坐标为道路方向2上的坐标,并将该同向可行驶位置点坐标保存至道路方向2侧的路侧单元中。
在此需要说明的是,上述车载装置获取车辆A的可行驶位置点坐标的过程可以看成获取某一时刻的周围车辆的可行驶位置点坐标,车辆装置可以按照上述方法获取周围车辆在不同时刻的可行驶位置点坐标,即可行驶位置点信息。
在一个可行的实施例中,道路方向1侧的路侧单元将接收到的可行驶位置点坐标发送至云端信息平台中,道路方向2侧的路侧单元将接收到的可行驶位置点坐标发送至云端信息平台中。
在一个可行的实施例中,车载装置将周围车辆的可行驶位置点信息发送至云端信息平台。
在一个可行的实施例中,自车的可行驶位置点包括行驶安全位置点和行驶风险位置点,车载装置根据自车行驶信息获取自车的可行驶位置点信息,具体包括:
车载装置获取自车当前位置点坐标,并判断自车当前位置点是否为行驶安全位置点,其中,车载装置判断自车当前位置点是否为行驶安全位置点包括:判断自车在当前位置点的驾驶模式是否为手动驾驶模式,若确定自车在当前位置点的驾驶模式为手动驾驶模式,则确定自车的当前位置点为行驶安全位置点;若确定自车在当前位置点的驾驶模式为自动驾驶模式,则判断自车在当前位置点是否有行驶安全风险;若自车在当前位置有行车安全风险,则确定自车的当前位置点为行驶风险位置点;若自车在当前位置点没有行车安全风险,则确定自车的当前位置点为行驶安全位置点。
进一步地,行驶安全位置点包括道路方向1上的行驶安全位置点和道路方向2上的行驶安全位置点,行驶风险位置点包括道路方向1上的行驶风险位置点和道路方向2上的行驶风险位置点,若自车当前沿着道路方向1行驶,则确定自车的行驶安全位置点为在道路方向1上的行驶安全位置点,自车的行驶风险位置点为在道路方向1上的行驶风险位置点,并将自车的行驶安全位置点和行驶风险位置点保存至道路方向1侧的路侧单元中;若自车当前沿着道路方向2行驶,则确定自车的行驶安全位置点为在道路方向2上的行驶安全位置点,自车的行驶风险位置点为在道路方向2上的行驶风险位置点,并将自车的行驶安全位置点和行驶风险位置点保存至道路方向2侧的路侧单元中。
在一种可行的实施例中,车载装置确定自车在当前位置点是否有行驶安全风险,具体是确定自车在当前位置点是否有碰撞风险或是否有异常行车行为,若确定自车在当前位置点有碰撞风险或有异常行车行为,则确定自车在当前位置点有行车安全风险;若确定自车在当前位置点没有碰撞风险且没有异常行车行为,则确定自车在当前位置点没有行车安全风险。
在一个示例中,车载装置确定自车在当前位置点是否有碰撞风险具体包括:
车载装置获取自车行驶方向与车辆S的行驶方向构成的夹角θ,车辆S为周围车辆中与自车同向行驶的任一车辆;当夹角θ大于第二预设角度时,根据相交模式风险判别方法确定自车在当前位置是否有碰撞风险;当夹角θ小于第二预设角度时,根据追尾风险判别方法确定自车在当前位置是否有碰撞风险。
基于图11所示说明相交模式风险判别方法,车辆E在车辆坐标系下相对速度为(ΔVEx,ΔVEy),相对位置点B的坐标为(xEv,yEv),自车在行驶方向上的绝对速度为Vs,车辆E在车辆坐标系下的绝对速度为(Vox,Voy),其中,Vox=Vs+ΔVEx,Voy=ΔVEy,自车在车辆坐标系下的相对位置点记为A’,如图11所示,O点为自车与车辆E的潜在碰撞点。
自车行驶至潜在碰撞点O的时间为:
若|TTX
1-TTX
2|<α且
则车载装置确定自车在当前位置点有碰撞风险,其中,α为预设阈值,R
0为风险阈值。
可选地,预设阈值α可以为0.5s,风险阈值R0可以为0.5。
在一个可行的实施例中,车载装置根据追尾风险判别方法确定自车在当前位置是否有碰撞风险,包括:
若周围车辆中位于自车前的车辆与自车之间的横向间距ψ满足条件l且TTC及TTC满足条件2,则确定自车在当前位置有碰撞风险:
TTC为自车与位于其前面的周车的碰撞时间,
当车辆E在自车的前方时,
当车辆E在自车的后方时,
b和c为常数,ψ为横向间距阈值,|y
Ev|为自车与车辆E的横向间距。
在一个示例中,车载装置确定自车在当前位置点是否有异常行车行为,具体包括:
车载装置确定在当前位置自车点是否有紧急制动或者紧急转向等行为,若确定自车在当前位置点有紧急制动或紧急转向等行为,则确定自车在当前位置点有异常行车行为;若确定自车在当前位置没有紧急制动且没有紧急转向等行为,则确定自车在当前位置点没有异常行车行为。
进一步地,车载装置确定自车在当前位置点是否有紧急制动行为,具体包括:
车载装置获取自车在当前位置点的纵向加速度alon,若纵向加速度alon小于预设加速度aT,则确定自车在当前位置点有紧急制动行为;若纵向加速度alon不小于预设加速度aT,则确定自车在当前位置点没有紧急制动行为。
可选地,预设加速度aT可以为-6m/s2或其他值。
进一步地,车载装置确定自车在当前位置点是否有紧急转向行为,具体包括:
车载装置获取自车在当前位置点的方向盘转角速率
若方向盘转角速率
大于预设速率
则确定自车在当前位置点有紧急转向行为;若方向盘转角速率
不大于预设速率
则确定自车在当前位置点没有紧急转向行为。
在一个可行的实施例中,道路可行驶位置点信息可以由自车生成,也可以由他车生成,还可以是自车从其所在路段的路侧单元或云端信息平台获取的。
在一个可行的实施例中,车载装置可根据上述方法获取自车在不同时刻的位置点坐标,并确定自车在不同时刻的位置点中的行驶安全位置点和行驶风险位置点。
在一个可行的实施例中,车载装置根据可行驶位置点对第四区域进行推理,以得到第五区域,具体包括:
从可行驶位置点中获取待推理位置点,待推理位置点为位于第四区域与ROI重叠的区域中的可行驶位置点;将待推理位置点的坐标从世界坐标系下转换到自车的车辆坐标系下,以得到待推理可行驶区域,待推理可行驶区域为在自车的车辆坐标系下的待推理位置点构成的区域;对待推理可行驶区域进行栅格划分,以得到第二推理栅格地图;根据第二推理栅格地图中每个栅格内的可行驶位置点信息计算每个栅格的可行驶能力值;根据每个栅格的可行驶能力值确定第五区域,第五区域为在第二推理栅格地图内可行驶能力值大于第二阈值的栅格所组成的区域。
其中,可行驶位置点信息还可以数据结构[timestamp,(xw,yw,θw),Label]表示的,timestamp为获取该可行驶位置点的时刻,即时间戳;(xw,yw,θw)为该可行驶位置点在世界坐标系下的坐标及车头朝向的角度,Label用于表征该可行驶位置点的类型。Label包括四个类型,分别为direct,inverse,safe和danger。其中,direct表示该可行驶位置点为同向行驶周车的可行驶位置点,inverse表示该可行驶位置点为逆向行驶周车的可行驶位置点,safe表示该可行驶位置点为自车安全行驶位置点,danger表示该可行驶位置点为自车的行驶危险位置点。
具体地,车载装置将待推理位置点的坐标从世界坐标系下转换到自车的车辆坐标系下,以得到待推理可行驶区域,包括:
根据第三转换公式将待推理位置点的坐标进行转换,以得到待推理可行驶区域;
其中,第三转换公式为:
其中,(x
dw,y
dw)为待推理位置点中任一待推理位置点D在世界坐标系下的坐标,(x
dv,y
dv)为待推理位置点D在自车的车辆坐标系下的坐标,
为第二转换矩阵,
第二转换矩阵
(x
0,y
0)为当前时刻自车在世界坐标系下的坐标,θ
0为当前时刻自车的车头朝向角度。
在一个可行的实施例中,车载装置根据第二推理栅格地图中每个栅格内的可行驶位置点信息计算每个栅格的可行驶能力值,具体包括:
根据第二推理栅格地图中的第i列第j行栅格内的可行驶位置点信息计算得到不同时刻的可行驶能力值;对不同时刻的可行驶能力值进行加权求和,以得到第i列第j行栅格的可行驶能力值,。
其中,对于可行驶区域栅格地图中的第i列第j行栅格的可行驶能力值
为第i列第j行栅格中t时刻的可行驶能力值,k
t为
的权重。
在此需要说明的是,时间戳t越大,数据越新,则对应的权重越大,进而保证道路可行驶区域推理结果的实时性。
第i列第j行栅格中t时刻的可行驶能力值
可采用以下公式计算得到:
其中,
表示第i列第j行栅格内t时刻获取的同向行驶的周围车辆可行驶位置点的数量,
表示第i列第j行栅格内t时刻获取的逆向行驶的周围车辆可行驶位置点的数量,
表示第i列第j行栅格内t时刻获取的自车行驶安全位置点的数量,
表示第i列第j行栅格内t时刻获取的自车行驶危险位置点的数量,
表示第j行栅格内t时刻获取的同向行驶的周围车辆可行驶位置点的数量,
表示第j行栅格内t时刻获取的逆向行驶的周围车辆可行驶位置点的数量,
表示第j行栅格内t时刻获取的自车行驶安全位置点的数量,
表示第j行栅格内t时刻获取的自车行驶危险位置点的数量。
在一个可行的实施例中,在计算得到行驶安全位置点和行驶危险位置点的可行驶能力值后,增加行驶安全位置点的可行驶能力值,减小行驶危险位置点的可行驶能力值,有利于提高道路可行驶区域的准确性。
具体地,根据每个栅格的可行驶能力值确定第五区域,包括:
根据第二阈值μ及可行驶区域栅格地图中栅格的可行驶能力值将可行驶区域栅格地图分为可行驶区域、不可行驶区域或不确定区域,其中,可行驶区域为可行驶能力值大于μ的栅格构成的区域,不可行驶区域为栅格可行驶能力值小于-μ的栅格构成的区域,不确定区域为可行驶能力值不小于-μ且不大于μ的栅格组成的区域。
如图12的右图所示,黑色区域为可行驶区域,灰色区域为不可行驶区域,白色区域为不确定区域。
S707、车载装置根据道路可行驶区域进行路线决策规划,以得到规划行驶路线。
具体地,若第一区域覆盖ROI,则道路可行驶区域包括第一区域;若第一区域和第三区域覆盖ROI,则道路可行驶区域包括第一区域和第三区域;若车载装置执行步骤S706,则道路可行驶区域包括第一区域、第三区域和第五区域。
在另一个实施例中,云端信息平台按照上述步骤S702-S706中车载装置执行的相关内容得到自车的可行驶区域,然后将该可行驶区域传输至自车的车载装置,自车的车载装置根据道路可行驶区域进行路线决策规划,以得到规划行驶路线。
在一个可行的实施例中,车载装置对感知可行驶区域进行校验,确定感知可行驶区域均为校验可靠的可行驶区域;若该校验可靠的可行驶区域覆盖ROI,则车载装置根据该感知可靠的可行驶区域进行路线决策规划,以得到规划行驶路线;若该校验可靠的可行驶区域未覆盖ROI,则车载装置根据感知记忆区域对ROI中除了该校验可靠的可行驶区域之外的区域进行推理,具体推理过程可参见步骤S704的相关描述,在此不再叙述。
在一个可行的实施例中,若车载装置对感知可行驶区域进行校验,且确定感知可行驶区域均为校验不可靠的可行驶区域,则车载装置根据感知记忆区域对该校验不可靠的可行驶区域进行推理,具体推理过程可参见步骤S704的相关描述,在此不再叙述。
可以看出,在本申请实施例的方案中,获取感知可行驶区域;对感知可行驶区域进行校验,以得到第一区域和第二区域,其中,第一区域为校验可靠的可行驶区域,第二区域为校验不可靠的可行驶区域;若第一区域未覆盖感兴趣区域ROI,则根据可行驶区域感知记忆信息对第二区域进行推理,以得到第三区域和第四区域,第三区域为感知记忆区域与第二区域重叠的区域,第四区域为第二区域中感知记忆区域未覆盖的区域;若第一区域和第三区域未覆盖ROI,则根据可行驶位置点对第四区域进行推理,以得到第五区域;第五区域为第四区域中的可行驶区域;将第一区域,第三区域和第五区域确定为道路可行驶区域。根据同向行驶车流位置信息、逆向行驶车流位置信息、自动驾驶行驶安全道路位置、自动驾驶行驶风险道路位置、人类驾驶模式的行驶位置生成道路可行驶位置点,并借助车端-云端-路侧端数据共享模式使得全部车端可利用该数据推理可行驶区域。适用于结构化道路和非结构化道路、不依赖车辆自身运动状态、不要求本车周围实时存在其他车辆。自动驾驶系统因此可以在可行驶区域感知短暂异常和长时间异常时借助可行驶区域推理信息进行决策规划,避免自动驾驶系统失效,系统作用工况覆盖范围增加,系统可用性和用户体验得到提升。本发明可减少自动驾驶系统对实时感知的依赖,增加自动驾驶系统对实时感知的容错能力,在道路可行驶区域感知不确定的情况下,提高自动驾驶系统的可靠性和安全性。
在借助可行驶位置点进行推理时,时间戳较新的可行驶位置点数据权重较大,从而保证推理结果具有较好的实时性,避免道路结构的临时改变(如道路施工等)带来的不利影响。具体实施时考虑了人类驾驶员的历史行车位置和自动驾驶模式下安全行车道路位置(增加该位置可行驶能力值)以及自动驾驶模式下的风险行车道路位置(减少该位置可行驶能力值)。对于用户常用行车路线,使用本申请的自动驾驶系统具备“越开越好”的特性。
参见图13,图13为本发明实施例提供的一种道路可行驶区域推理装置的结构示意图。如图13所示,该道路可行驶区域推理装置1300包括:
获取模块1301,用于获取感知可行驶区域;
校验模块1302,用于对感知可行驶区域进行校验,以得到第一区域和第二区域,其中,第一区域为校验可靠的可行驶区域,第二区域为校验不可靠的可行驶区域;
推理模块1303,用于若第一区域未覆盖感兴趣区域ROI,则根据可行驶区域感知记忆信息对第二区域进行推理,以得到第三区域和第四区域,第三区域为感知记忆区域与第二区域重叠的区域,第四区域为所述第二区域中感知记忆区域未覆盖的区域;若第一区域和第三区域未覆盖所述ROI,则根据可行驶位置点对第四区域进行推理,以得到第五区域;第五区域为第四区域中的可行驶区域;
确定模块1304,用于将第一区域,第三区域和第五区域确定为道路可行驶区域。
在一个可行的实施例中,校验模块1302具体用于:
判断感知可行驶区域的双侧道路边界是否存在;若确定感知可行驶区域的双侧道路边界存在,则对感知可行驶区域进行区域划分,以得到多个子区域;判断子区域I满足条件1-条件4中的每一项;若子区域I满足条件1-条件4中的每一项,则确定子区域I为校验可靠的子区域;若子区域I不满足条件1-条件4中的任一项,则确定子区域I为校验不可靠的区域;其中,子区域I为多个子区域中的任一个,第一区域为多个子区域中校验可靠的子区域构成的区域,第二区域为多个子区域中校验不可靠的子区域构成的区域。
在一个可行的实施例中,条件1-条件4分别为:
条件1:子区域I的宽度满足以下条件:
kminW≤wi≤kmaxW
其中,wi为子区域I的宽度,W根据可行驶区域经验宽度和可行驶区域记忆宽度确定;
条件2:子区域I的边界与其相邻子区域的边界的夹角不大于第一预设角度;
条件3:子区域I的边界与在当前时刻之前经校验的感知记忆区域的边界之间的距离不大于预设宽度;
条件4:子区域I中的可行驶位置点的比例大于预设比例。
在一个可行的实施例中,感知记忆信息包括多个历史时刻的感知记忆栅格地图及每个感知记忆栅格地图中每个栅格的可行驶能力值,在根据感知记忆信息对第二区域进行推理,以得到第三区域和第四区域的方面,推理模块1303具体用于:
将多个历史时刻的感知记忆栅格地图分别从其历史时刻自车的车辆坐标系下转换到世界坐标系下,以得到多个世界栅格地图;获取推理区域,推理区域为多个世界栅格地图与第二区域重叠的区域;将推理区域从世界坐标系下转换到当前时刻自车的车辆坐标系下,以得到第一推理栅格地图;根据感知记忆栅格地图中栅格的可行驶能力值计算第一推理栅格地图内每个栅格的可行驶能力值;根据第一推理栅格地图内每个栅格的可行驶能力值确定第三区域和第四区域;第三区域为第一推理栅格地图中可行驶能力值大于第一阈值的栅格组成的区域;第四区域为第一推理栅格地图中可行驶能力值不大于第一阈值的栅格组成的区域。
在一个可行的实施例中,在将多个历史时刻的感知记忆栅格地图分别从其历史时刻自车的车辆坐标系下转换到世界坐标系下,以得到多个世界栅格地图的方面,推理模块1303具体用于:
根据第一转换公式将多个历史时刻的感知记忆栅格地图分别从其历史时刻自车的车辆坐标系下转换到世界坐标系下,以得到多个世界栅格地图;
其中,第一转换公式为:
其中,(x
vt0,y
vt0)为历史时刻t0感知记忆栅格地图内的任一可行驶位置点P在自车的车辆坐标系下的坐标,(x
wt0,y
wt0)为可行驶位置点P在世界坐标系下的坐标,
为第一转换矩阵,
第一转换矩阵
(x
t0,y
t0)为历史时刻t0自车在世界标系下的坐标,θ
t0为历史时刻t0自车的车头朝向角度。
在一个可行的实施例中,在将推理区域从世界坐标系下转换到当前时刻自车的车辆坐标系下,以得到第一推理栅格地图的方面,所述推理模块1303具体用于:
根据第二转换公式将推理区域从世界坐标系下转换到当前时刻自车的车辆坐标系下,以得到第一推理栅格地图;
其中,第二转换公式为:
(x
wp,y
wp)为推理区域内任一可行驶位置点P’在世界坐标系下的坐标,(x
vp,y
vp)为可行驶位置点P’当前时刻在自车的车辆坐标系下的坐标,
为第二转换矩阵;
第二转换矩阵
(x
0,y
0)为当前时刻自车在世界坐标系下的坐标,θ
0为当前时刻自车的车头朝向角度。
在一个可行的实施例中,在根据感知记忆栅格地图中每个栅格的可行驶能力值计算第一推理栅格地图内每个栅格的可行驶能力值的方面,推理模块1303具体用于:
对第一推理栅格地图中第p列第q行栅格对应的多个历史时刻的可行驶能力值进行加权求和,以得到第一推理栅格地图中每个栅格的可行驶能力值;多个历史时刻的可行驶能力值为第p列第q行栅格在多个历史时刻的感知记忆栅格地图中对应的栅格的可行驶能力值;
其中,第一推理栅格地图中第p列第q行栅格的可行驶能力值为:
为在历史时刻t’的感知记忆栅格地图中对应的栅格的可行驶能力值,k′
t′为
的权重。
在一个可行的实施例中,在根据可行驶位置点对所述第四区域进行推理,以得到第五区域的方面,推理模块1303具体用于:
从可行驶位置点中获取待推理位置点,待推理位置点为位于第四区域与ROI重叠的区域中的可行驶位置点;将待推理位置点的坐标从世界坐标系下转换到自车的车辆坐标系下,以得到待推理可行驶区域,待推理可行驶区域为在自车的车辆坐标系下的待推理位置点构成的区域;对待推理可行驶区域进行栅格划分,以得到第二推理栅格地图;根据第二推理栅格地图中每个栅格内的可行驶位置点信息计算每个栅格的可行驶能力值;根据每个栅格的可行驶能力值确定第五区域,第五区域为在第二推理栅格地图内可行驶能力值大于第二阈值的栅格所组成的区域。
在一个可行的实施例中,在将待推理位置点的坐标从世界坐标系下转换到自车的车辆坐标系下,以得到待推理可行驶区域的方面,推理模块1303具体用于:
根据第三转换公式将待推理位置点的坐标进行转换,以得到待推理可行驶区域;
其中,第三转换公式为:
其中,(x
dw,y
dw)为待推理位置点中任一待推理位置点D在世界坐标系下的坐标,(x
dv,y
dv)为待推理位置点D在自车的车辆坐标系下的坐标,
为第二转换矩阵,
第二转换矩阵
(x
0,y
0)为当前时刻自车在世界坐标系下的坐标,θ
0为当前时刻自车的车头朝向角度。
在一个可行的实施例中,在根据第二推理栅格地图中每个栅格内的可行驶位置点信息计算每个栅格的可行驶能力值的方面,推理模块1303具体用于:
根据第二推理栅格地图中的第i列第j行栅格内的可行驶位置点信息计算得到不同时刻的可行驶能力值;对不同时刻的可行驶能力值进行加权求和,以得到第i列第j行栅格的可行驶能力值;
其中,第i列第j行栅格的可行驶能力值为
为t时刻的可行驶能力值,k
t为
的权重,
为第i列第j行栅格内t时刻获取的同向行驶的周围车辆可行驶位置点的数量,
为第i列第j行栅格内t时刻获取的逆向行驶的周围车辆可行驶位置点的数量,
为第i列第j行栅格内t时刻获取的自车行驶安全位置点的数量,
为第i列第j行栅格内t时刻获取的自车行驶危险位置点的数量,
为第j行栅格内t时刻获取的同向行驶的周围车辆可行驶位置点的数量,
为第j行栅格内t时刻获取的逆向行驶的周围车辆可行驶位置点的数量,
为第j行栅格内t时刻获取的自车行驶安全位置点的数量,
为第j行栅格内t时刻获取的自车行驶危险位置点的数量。
在一个可行的实施例中,可行驶位置点包括自车可行驶位置点,获取模块1301还用于:
在根据可行驶位置点对第四区域进行推理之前,获取自车可行驶位置点,自车可行驶位置点包括行驶安全位置点和行驶风险位置点;其中,获取自车可行驶位置点,包括:判断自车在其当前位置的驾驶模式是否为手动驾驶模式;若自车在其当前位置的驾驶模式为手动驾驶模式,则确定自车的当前位置点为行驶安全位置点;若自车在其当前位置的驾驶模式为自动驾驶模式,则判断自车在其当前位置是否有碰撞风险或异常行驶行车行为;若确定自车在其当前位置没有碰撞风险且没有异常行车行为,则确定自车的当前位置点为行驶安全位置点;若确定自车在其当前位置有碰撞风险或异常行车行为,则确定自车的当前位置点为行驶危险位置点。
在一个可行的实施例中,在判断自车在其当前位置是否有碰撞风险的方面,获取模块1301具体用于:
获取自车与车辆E的行驶方向夹角θ;车辆E为自车的周围车辆;若夹角θ大于第二预设角度,则采用相交模式风险判别方法确定自车在其当前位置是否有碰撞风险;若夹角θ不大于第二预设角度,则采用追尾模式风险判别方法确定自车在其当前位置是否有碰撞风险。
在一个可行的实施例中,在采用相交模式风险判别方法确定自车在当前位置是否有碰撞风险的方面,获取模块1301具体用于:
获取车辆E在自车的车辆坐标系下的相对速度和相对位置坐标及自车在行驶方向的绝对速度;根据相对速度、相对位置坐标及绝对速度获取第一时间和第二时间,其中,第一时间为自车从当前位置行驶至潜在碰撞点所需的时间,第二时间为车辆E从其当前位置行驶至潜在碰撞点所需的时间;若第一时间和第二时间满足公式1和公式2,则确定自车在其当前位置有碰撞风险;若第一时间和第二时间不满足公式1或公式2,则确定自车在其当前位置没有碰撞风险;其中,公式1为:|TTX
1-TTX
2|<α,公式2为:
TTX
1为第一时间,TTX
2为第二时间,α为预设阈值,R
0为风险阈值。
在一个可行的实施例中,在采用追尾模式风险判别方法确定自车在当前位置是否有碰撞风险的方面,获取模块1301具体用于:
获取车辆E在自车的车辆坐标系下的横向相对速度ΔVEx和相对位置坐标(xEv,yEv)及自车在行驶方向的绝对速度Vs;
根据横向相对速度ΔV
Ex、相对位置坐标(x
Ev,y
Ev)和绝对速度V
s获取第三时间TTC和第四时间TTW,其中,
若相对位置纵坐标满足公式3,且第三时间和第四时间满足公式4,则确定自车在其当前位置有碰撞风险;若相对位置纵坐标不满足公式3,或第三时间和第四时间满足公式4,则确定自车在其当前位置没有碰撞风险;
其中,公式3为:|y
Ev|<ψ,公式4为:
a和b为常数,R
0为风险阈值,ψ为横向间距阈值,|y
Ev|为自车与车辆E的横向间距。
在一个可行的实施例中,在判断自车在其当前位置是否有异常行车行为的方面,获取模块1301具体用于:
判断自车在其当前位置是否有紧急制动行为或紧急转向行为;若自车在其当前位置有紧急制动行为或紧急转向行为,则确定自车的当前位置为行驶危险位置点;若自车在其当前位置没有紧急制动行为且没有紧急转向行为,则确定自车的当前位置为行驶安全位置点。
在一个可行的实施例中,在判断自车在其当前位置是否有紧急制动行为的方面,获取模块1301具体用于:
获取自车在其当前位置的纵向加速度;若纵向加速度小于预设加速度,则确定自车在其当前位置有紧急制动行为;若纵向加速度不小于预设加速度,则确定自车在其当前位置没有紧急制动行为。
在一个可行的实施例中,在判断自车在其当前位置是否有紧急转向行为的方面,获取模块1301具体用于:
获取自车在其当前位置方向盘的转角速率;若方向盘的转角速率大于预设速率,则确定自车在其当前位置有紧急转向行为;若方向盘的转角速率不大于预设加速度,则确定自车在其当前位置没有紧急转向行为。
在一个可行的实施例中,道路可行驶区域推理装置1300还包括保存模块1305;
确定模块1304,还用于在获取模块1301获取自车可行驶位置点之后,若自车在其当前位置沿着道路方向1行驶,则确定自车可行驶位置点为道路方向1上的可行驶位置点,保存模块1305,用于将道路方向1上的可行驶位置点保存至道路方向1侧的路侧单元中,其中,道路方向1上的可行驶位置点包括道路方向1上的行驶安全位置和道路方向1上的行驶风险位置;
确定模块1304,还用于若自车在其当前位置沿着道路方向2行驶,则确定自车可行驶位置点为道路方向2上的可行驶位置点,保存模块1305,用于将道路方向2上的可行驶位置点保存至道路方向2侧的路侧单元中,其中,道路方向2上的可行驶位置点包括道路方向1上的行驶安全位置和道路方向2上的行驶风险位置;其中,道路方向1和道路方向2为同一道路上相反的方向。
在一个可行的实施例中,获取模块1301还用于:
获取周围车辆的可行驶位置点信息。
在一个可行的实施例中,周围车辆的可行驶位置点信息包括同向可行驶位置点坐标和逆向可行驶位置点坐标,在获取周围车辆的可行驶位置点信息的方面,获取模块1301还用于:
获取周围车辆中任一车辆A的行驶信息及自车的行驶信息,其中,车辆A的行驶信息包括相对位置坐标和纵向相对速度,自车的行驶信息包括绝对位置坐标、在行驶方向的绝对速度及车头朝向角度;根据自车的绝对位置坐标、车头朝向角度及车辆A的相对位置坐标获取车辆A的可行驶位置点坐标;根据车辆A的纵向相对速度和自车绝对速度确定车辆A的可行驶位置点的类型;车辆A的可行驶位置点坐标的类型包括逆向可行驶位置点坐标或同向可行驶位置点坐标;其中,相对位置坐标为在车辆坐标系下的坐标,车辆A的可行驶位置点坐标为在世界坐标系下的坐标。
在一个可行的实施例中,在根据自车的绝对位置坐标、车头朝向角度及车辆A的相对位置坐标获取车辆A的可行驶位置点坐标的方面,获取模块1301还用于:
通过第四转换公式对自车的绝对位置坐标、车头朝向角度及车辆A的相对位置坐标进行计算,以得到车辆A的绝对位置点坐标;
其中,第四转换公式为:
(x
Av,y
Av)为车辆A的相对位置坐标,(x
Aw,y
Aw)为车辆A的可行驶位置点坐标;
第三转换矩阵
(x
0,y
0)为当前时刻自车的绝对位置坐标,θ
0为当前时刻自车的车头朝向角度。
在一个可行的实施例中,在根据车辆A的纵向相对速度和绝对速度确定车辆A的可行驶位置点坐标的类型的方面,获取模块1301还用于:
根据车辆A的纵向相对速度和绝对速度获取车辆A的纵向绝对速度;
若车辆A的纵向绝对速度大于预设速度阈值,则确定车辆A的可行驶位置点坐标为同向可行驶位置点坐标;若车辆A的纵向绝对速度小于预设速度阈值,则确定车辆A的可行驶位置点坐标为逆向可行驶位置点坐标。
在一个可行的实施例中,确定模块1304,还用于若车辆A沿着道路方向1行驶,则确定车辆A的可行驶位置点坐标为道路方向1上的坐标,保存模块1305,还用于将车辆A的可行驶位置点坐标保存至道路方向1侧的路侧单元中;
确定模块1304,还用于若车辆A沿着道路方向2行驶,则确定车道A的可行驶位置点为道路方向2上的坐标,保存模块1305,用于将车辆A的可行驶位置点坐标保存至道路方向2侧的路侧单元中;其中,道路方向1和道路方向2为同一道路上相反的两个方向。
在一个可行的实施例中,在获取周围车辆的可行驶位置点信息的方面,获取模块1301具体用于:
从自车当前道路行驶方向侧的路侧单元或从云端信息平台中获取周围车辆的可行驶位置点信息。
在一个可行的实施例中,确定模块1304还用于:
若第一区域覆盖ROI,则将第一区域确定为道路可行驶区域。
在一个可行的实施例中,确定模块1304还用于:
若第一区域和第三区域覆盖ROI,则将第一区域和第三区域确定为道路可行驶区域。
需要说明的是,上述各单元(获取模块1301、校验模块1302、推理模块1303、确定模块1304和保存模块1305)用于执行上述方法的相关步骤。比如,获取模块1301用于执行步骤S701和S706的相关内容,校验模块1302用于执行步骤S702的相关内容,推理模块1303用于执行步骤S704和S706的相关内容,确定模块1304和保存模块1305用于执行S702-S706的相关内容。
在本实施例中,道路可行驶区域推理装置1300是以模块的形式来呈现。这里的“模块”可以指特定应用集成电路(application-specific integrated circuit,ASIC),执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,以上获取模块1301、校验模块1302、推理模块1303和确定模块1304可通过图14所示的道路可行驶区域推理装置的处理器1401来实现。
如图14所示道路可行驶区域推理装置1400可以以图14中的结构来实现,该道路可行驶区域推理装置1400包括至少一个处理器1401,至少一个存储器1402以及至少一个通信接口1403。所述处理器1401、所述存储器1402和所述通信接口1403通过所述通信总线连接并完成相互间的通信。
处理器1401可以是通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制以上方案程序执行的集成电路。
通信接口1403,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
存储器1402可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器1402用于存储执行以上方案的应用程序代码,并由处理器1401来控制执行。所述处理器1401用于执行所述存储器1402中存储的应用程序代码。
存储器1402存储的代码可执行以上提供的一种道路可行驶区域推理方法,比如:
获取感知可行驶区域;对感知可行驶区域进行校验,以得到第一区域和第二区域,其中,第一区域为校验可靠的可行驶区域,第二区域为校验不可靠的可行驶区域;若第一区域未覆盖感兴趣区域ROI,则根据可行驶区域感知记忆信息对第二区域进行推理,以得到第三区域和第四区域,第三区域为感知记忆区域与第二区域重叠的区域,第四区域为第二区域中感知记忆区域未覆盖的区域;若第一区域和第三区域未覆盖ROI,则根据可行驶位置点对第四区域进行推理,以得到第五区域;第五区域为第四区域中的可行驶区域;将第一区域,第三区域和第五区域确定为道路可行驶区域
程序产品实施例:
在一些实施例中,所公开的方法可以实施为以机器可读格式被编码在计算机可读存储介质上的或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。图15示意性地示出根据这里展示的至少一些实施例而布置的示例计算机程序产品的概念性局部视图,所述示例计算机程序产品包括用于在计算设备上执行计算机进程的计算机程序。在一个实施例中,示例计算机程序产品1500是使用信号承载介质1501来提供的。所述信号承载介质1501可以包括一个或多个程序指令1502,其当被一个或多个处理器运行时可以提供以上针对图7描述的功能或者部分功能。因此,例如,参考图3中所示的实施例,方框302-306的一个或多个特征可以由与信号承载介质1501相关联的一个或多个指令来承担。此外,图15中的程序指令1502也描述示例指令。
在一些示例中,信号承载介质1501可以包含计算机可读介质1503,诸如但不限于,硬盘驱动器、紧密盘(CD)、数字视频光盘(DVD)、数字磁带、存储器、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccess Memory,RAM)等等。在一些实施方式中,信号承载介质1501可以包含计算机可记录介质1504,诸如但不限于,存储器、读/写(R/W)CD、R/W DVD、等等。在一些实施方式中,信号承载介质1501可以包含通信介质1505,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。因此,例如,信号承载介质1501可以由无线形式的通信介质1505(例如,遵守IEEE802.11标准或者其它传输协议的无线通信介质)来传达。一个或多个程序指令1502可以是,例如,计算机可执行指令或者逻辑实施指令。在一些示例中,诸如针对图7描述的计算设备可以被配置为,响应于通过计算机可读介质1503、计算机可记录介质1504、和/或通信介质1505中的一个或多个传达到计算设,的程序指令1502,提供各种操作、功能、或者动作。应该理解,这里描述的布置仅仅是用于示例的目的。因而,本领域技术人员将理解,其它布置和其它元素(例如,机器、接口、功能、顺序、和功能组等等)能够被取而代之地使用,并且一些元素可以根据所期望的结果而一并省略。另外,所描述的元素中的许多是可以被实现为离散的或者分布式的组件的、或者以任何适当的组合和位置来结合其它组件实施的功能实体。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上上述,本说明书内容不应理解为对本发明的限制。