辅助驾驶功能开发-功能规范篇(27)-2-导航式巡航辅助NCA

书接上回

2.2.2.3规划控制模块

2.2.2.3.1.全局导航规划

   当用户输入导航终点时,全局导航规划模块会根据高精地图的覆盖区域将全局导航路径分为ICA,NCA可用段。实现ICA/NCA功能的划分及自动升降级。

    当自车未按照导航路径行驶时(如未使出指定匝道,路口未按照要求转向),重规划触发,全局导航规划模块需要根据自车当前位置,对导航路径进行重规划。

2.2.2.3.2.驾驶员行为估计

  当 ICA、NCA 系统位于横向 Override 状态时,驾驶员行为估计模块依据当前方向盘转角、当
前道路拓扑结构预测自车轨迹,作为横向规划结果输出给纵向规划模块进行速度规划。

2.2.2.3.3.横向行为决策

   横向行为决策指换道决策,将换道决策输出至后续规划模块。

    根据当前激活ICA、NCA 的功能,换道决策的触发方式分为以下三种:用户拨杆触发换道(ICA、NCA支持)、依据全局导航规划模块的导航触发换道(仅NCA支持)和基于统计信息的车流触发换道(仅 NCA 支持)。当换道决策触发时,自车开始准备换道。

   当系统无换道决策触发时,自车保持当前车道中顺行行驶。换道决策触发条件:

(1)拨杆触发:当 ICA、NCA 功能激活时,用户向左或向右拨换道拨杆,在交通规则允许的情况下,换道决策触发。系统开始在目标车道上寻找合适的可汇入空间,并锁定该空间,下发给运动规划模块。当拨杆换道触发后20s,系统无法在目标车道找到合适的可汇入空间,换道决策停止触发。

(2)导航触发:NCA 功能激活,从全局导航规划模块得到需要驶出的匝道口或需驶入的路口,判定自车是否需要换道。如自车需要换道,根据系统换道请求确认的相关设置,

(a) 距需要驶出的匝道口HWT=(所需换道次数*30s+5s)时发出换道请求或自动触发换道决策。如所需换道次数小于2次,距匝道口HWT=65s时提示或触发。

  (b)距需要驶过的路口HWT= (所需换道次数*30s+10s)时发出换道请求或自动触发换道决策。如所需换道次数小于2次,距路口HWT=70s时提示或触发。

当开启换道请求确认时,发出换道请求 5s。

i.若驾驶员5s内无操作,则触发换道决策,自车开始搜寻合适可汇入空间。

ii.若 5s 内驾驶员取消请求,系统不再提示换道请求,不发出换道决策,使自车保持当前车道。等待导航重规划。

iii.若距匝道口或路口HWT=30s时自车仍没有位于最终目标车道,系统提示驾驶员可进行手动接管进行换道。
iv.若距匝道口HWT=5s或路口HWT=10s自车无法换至最终目标车道,完成或取消当前换道,换道决策停止触发,使自车保持当前车道。等待导航重规划。
当关闭换道请求确认时,系统自动触发换道决策。
i.若距匝道口或路口 HWT=30s 时自车仍没有位于最终目标车道,系统提示驾驶员可进行手动接管进行换道。

ii.若距匝道口 HWT=5s 或路口 HWT=10s 自车无法换至最终目标车道,完成或取消当前换道,换道决策停止触发,使自车保持当前车道。等待导航重规划。
超车触发:距需要驶出的也道、路口或收费站、导肌终点等HWT>60s。自车周围环境满

(3)超车触发:距需要使出的匝道,路口或收费站,导航终点等HWT>60s。自车周围环境满足以下条件:基于一定时间统计结果的相邻车道平均车速高于自车跟车车速5km/h,或相邻车道空旷且自车跟车车速低于当前道路限速5km/h。根据系统换道请求确认的相关设置,发出换道请求或触发换道决策。

当开启换道请求确认时,换道请求发出5s。

(a)若驾驶员5s内无操作,则触发换道决策,自车开始搜索合适可汇入空间。

(b)若5s内驾驶员取消请求,系统5分钟内不再提示车流换道请求,不发出换道决策。

当关闭换道请求确认时,系统自动取消换道决策。

可汇入空间定义:

(a)A类可汇入空间

目标车道前后方向均没有车辆。当目标车道为左侧车道时,1形成换道空间A,目标车道为右侧时,2形成换道空间A。

cafe1aa0e0554f2bba6f2b9480f485ea.png

 (b)B类可汇入空间

目标车道车流前方无车辆,车流头车位于自车后杠后方(如左侧车道所示)或车流头车前杠超出自车后杠,且超出距离ll<30m(如右侧车道所示)。车流头车速度v<=道路限速+10kph。当目标车道为左侧车道时,1形成换道空间B,目标车道为右侧时,2形成换道空间B。

458c7a5e9ad04b46bae232751c9178fa.png

 (c)C类可汇入空间

目标车道车流后方无车辆,车流尾车位于自车前杠前方(如左侧车道所示)或车流尾车后杠位于自车前杠后方,且落后距离ll<30m(如右侧车道所示)。车流尾车速度v>0kph。当目标车道为左侧车道时,1形成换道空间C,目标车道为右侧时,2形成换道空间C。

dbf77d6030ef4404b7c1d27110e31144.png

 (d)D类可汇入空间

目标车道有连续的车流,车流中存在空间。空间长度1>=(自车当前车速*5s+自车长度)。

空间前车速度v>0kph。空间后车速度-前车车速<=10kph。自车完全位于空间内(左侧车道所示),当空间落后自车时空间前后杠落后自车前杠距离ll<=30m或当空间领先自车时空间后车前杠领先自车后杠距离12<30m。当目标车道为左侧车道时,3形成换道空间D,目标车道为右侧时,1和2形成换道空间D。

52e536ef82c64e91be146f8269960dc4.png

 2.2.2.3.4纵向行为决策

    纵向行为决策负责在车道前方添加虚拟墙。虚拟墙来表示交通规则在目标车道内的纵向约
束,分为红绿灯虚拟墙、停车杆虚拟墙及停止牌虚拟墙。
(1)红绿灯虚拟墙
    即基于当前的红绿灯状态、自车速度和距离红绿灯前停止线的距离,决策是否
应在停车线上加墙。自车需在距虚拟墙一定距离内停车。
    根据同向车流信息及交通灯信息,距路口 HWT = 10s 时,提示驾驶员交通灯识
别结果,等待驾驶员确认,提示时间持续 5s。如 5s 内驾驶员无确认动作,则在停
止线处加墙;如驾驶员确认,则根据当前检测结果执行相应动作:
  (a)当确认的检测结果为红灯时,则在停止线处加墙;交通灯变绿时,虚拟
墙消失。
  (b)当确认的检测结果为绿灯时,则不加墙;

  (c)当确认的检测结果为黄灯时,则在停止线处加墙;交通灯变绿时,虚拟墙消失。

(2)停车杆虚拟墙

   自车需要通过收费站时,当检测到停车杆未抬起,在停车杆处添加虚拟墙。当
停车杆抬起,虚拟墙消失。

(3)停止牌虚拟墙

   自车需要通过停止牌时,在停止牌前加墙,当自车挺稳 3s 后,停止墙消失。

2.2.2.3.5横向规划

     横向运动规划分为保持车道中心规划、车道内部避让规划、换道规划、换道取消规划。
     当本模块未从横向行为决策模块收到换道决策时,根据自车周围环境,选择保持车道中心规
划或车道内部避让规划。

(1)保持车道中心规划:当自车当前所在车道 HWT=10s 范围内没有障碍物入侵或离车道线过近时,进行保持车道中心规划,使自车沿当前所在车道中心线行驶。

(2)车道内部避让规划:当自车当前所在车道 HWT=10s 内有静态障碍物(如锥筒、石块等)动态障碍物(车辆压线行驶、行人等)入侵或离本车道线横向距离<20cm,且车道剩余宽度允许自车安全通过时(自车不会超出车道边线,且自车两侧与车道边线及障碍物距离>30cm,需实测),进行车道内部避让规划。使自车保持在车道内,向障碍物反方向偏离车道中心线进行避让。避让结束后使自车重新回到车道中心行驶。

    当本模块从横向行为决策模块收到换道决策指令及目标可换道空间时,根据换道时机及自
车周围环境,选择保持车道中心规划、换道规划及换道取消规划。

(1)保持车道中心规划:当收到换道决策指令及目标可换道空间时,进入换道第一阶段。进行保持车道中心规划,使自车沿当前车道中心线行驶,直到自车落入目标可换道空间中心。自车完全落入换道空间,根据换道空间有无前后车或前后车状态,需满足自车前杠距选定换道空间前车后杠 HWT≥2s,自车后杠距选定换道空间后车前杠 HWT≥3s。

e6b539f1e7b643cdb8efda44cd929e30.png

(2)换道规划:当自车落入目标可换道中心时,进入换道第二、三阶段。进行换道规划,使车辆沿车道进行横向偏移,平稳的向目标车道进行换道,落入目标可换道空间中,沿目标车道中心行驶。当自车仍位于原车道且未压车道线时,属于换道第二阶段;当自车越过车道线时,属于换道第三阶段。当自车完全落入可换道空间且位于目标车道中心时,属于换道第四阶段,换道结束。换道过程中,可换道空间需持续满足如下条件。

   (a)A类换道空间,满足要求

   (b)B类换道空间,自车后杠距目标车道头车前杠HWT≥2.5s,TTC≥18s。

   (c)C类换道空间,自车前杠距目标车道尾车后杠HWT≥1.5s,TTC≥12.5s。

   (d)D类换道空间,自车前杠距换道空间前车后杠HWT≥1.5s,TTC≥12.5s,自车后杠

距换道空间后车前杠HWT≥2.5s,TTC≥18s。

(3)换道取消规划:

   (a)自车位于第一、第二换道阶段时,自车具有原车道路权,当目标车道可换道空间

不再满足条件时,进行换道取消规划,使自车回到原车道中心继续行驶。

    (b)当自车位于第三换道阶段时,当目标车道换道空间不再满足要求时,原车道空间仍满足自车后杠距目标车道头车前杠HWT≥2s且自车前杠距目标车道尾车后杠HWT≥1.5s,进行换道取消规划。换道取消过程中,原车道空间必须持续满足上述要求。

(4)换道接管规划:

     (a)当换道规划时,目标车道可换道空间不再满足条件时,同时原车道空间也不再满足要求,进行换道接管规划,使自车沿当前横向偏移量继续行驶,并请求接管。

     (b)当换道取消规划时,原车道空间不再满足要求,进行换道接管规划,使自车沿当前横向偏移量继续行驶,并请求接管。

2.2.2.3.6.纵向规划

    纵向运动规划根据道路信息确定速度约束,在速度约束下,根据自车所在环境分为汇入速度规划、高速跟随速度规划、低速跟随(Stop&Go)速度规划、路口内速度规划、虚拟墙速度规划。
    速度约束根据车道限速、车道曲率(自车经过弯道时侧向加速度小于 0.2g)、用户设定最高巡航速度(仅 ICA 激活时考虑)得出车辆行驶的速度规划上限。
1) 汇入速度规划:当变道决策触发或汇入车流,且已锁定可汇入空间时,根据自车相对可汇入空间的纵向位置和速度规划自车速度,使自车位置调整至可汇入空间正中并保持相对位置。
2) 无前车速度规划:当自车车道可感知区域内无前车,则根据速度约束规划自车行驶速度。
3) 高速跟随速度规划:当自车车道可感知范围内有前车,且前车车速大于 40km/h,根据根据用户设定的跟车距离,如分为 HWT=1.5s、2s、2.5s、3s、3.5s、4s、4.5s 共 7 档,规划自车速度保持跟车距离。
4) 低速跟随(Stop&Go)速度规划:当自车车道可感知范围内有前车,且前车车速小于40km/h, 根据设定的跟车距离,规划自车速度,跟随前车起停。
5) 路口内速度规划。当自车位于路口内区域时,系统以保守策略进行速度规划,处理路口内机动车、非机动车和行人的跟车、起停、汇入、横穿等行为。使自车平顺通过路口。
6) 虚拟墙速度规划。当自车车道前方存在纵向决策添加的虚拟墙时,进行速度规划,使自车能平稳停在虚拟墙前。

2.2.2.3.7控制模块

    控制模块由横向控制和纵向控制组成。根据横、纵向规划给出的行驶轨迹和给定速度,进行车辆的纵横向控制,输出方向盘转角、加速度或制动踏板开度和档位信息,必要条件下输出车灯信号等。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/37741.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

折叠屏手机的屏幕,华为Mate X3给出了一份“内外兼修”的解决方案

说起折叠屏手机&#xff0c;屏幕一直都是这个领域的重头戏&#xff0c;很多人都对折叠屏手机有一种刻板印象&#xff0c;那就是脆弱。但是&#xff0c;3月份华为最新推出的Mate X3可以说是非常的亮眼&#xff0c;在内外屏幕、水滴铰链、影像系统等多个核心部件的全方位提升&…

Python面向对象学习整理(一)

一、面向对象中的几点概念 1.1 什么是类&#xff1f; 类&#xff1a;用户定义的对象原型&#xff08;prototype&#xff09;&#xff0c;该原型定义了一组可描述该类任何对象的属性&#xff0c;属性是数据成员&#xff08;类变量 和 实例变量&#xff09;和方法&#xff0c;可…

FPGA实验三:状态机的设计

目录 一、实验目的 二、实验要求 三、实验代码 1.design source文件部分代码 2.测试文件代码 四、实验结果及分析 1、引脚锁定 2、仿真波形及分析 &#xff08;1&#xff09;设计好序列检测器 &#xff08;2&#xff09;仿真波形&#xff08;检测11010&#xff09; 3…

Python爬虫实战之原神公告获取

前言 好久不见了吧&#xff0c;博主最近也是成为了准高三&#xff0c;没有太多时间去创作文章了&#xff0c;所以这篇文章很有可能是高考前最后一篇文章了(也不一定&#x1f609;) 言归正传&#xff0c;本次文章主要讲解如何去爬取原神官网的公告(我不玩原神&#xff01;&…

英飞凌BLDC驱动芯片替换-屹晶微

EG12521替代IR2106&#xff0c;NCP5106 EG2003替代IR2003 EG2103替代IR2103、IRS2003&#xff0c;IRS2108 EG2104替代IR2104 EG2104D替代IR2104、IR2008、IR2004 EG2104M替代IR2104、IR2008、IR2004 EG2104S替代IR2104 EG2106替代IR2106、IR2101、FAN7382、IRS2005、NCP…

使用flask开启一个简单的应用

Flask是非常流行的 Python Web框架&#xff0c;它能如此流行&#xff0c;原因主要有如下几点: 。有非常齐全的官方文档,上手非常方便。 。有非常好的扩展机制和第三方扩展环境&#xff0c;.工作中常见的软件都会有对应的扩展。自己动手实现扩展也很容易。 。社区活跃度非常高。…

基于springboot的智慧养老系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

less 笔记

1 margin-left 之后有 margin: 0 导致margin-left 无效 --> 不能重复定义 .btn-group {margin-left: calc(100% - 350px);display: inline-block;margin: 0; // 重复定义 导致上面 没有效果padding: 0; } 2 一定要F12检查元素 看各个div的宽度是否太长 导致靠左靠右 计算不…

[SSM]Spring6基础

目录 一、Spring启示录 1.1OCP开闭原则 1.2DIP依赖倒置原则 1.3IoC控制反转 1.4DI依赖注入 二、Spring概述 2.1Spring简介 2.2Spring八大模块 2.3Spring特点 三、Spring的入门程序 3.1Spring的文件 3.2第一个Spring程序 3.3第一个Spring程序详细剖析 3.4Spring6启…

Vue绑定class样式

效果&#xff1a;指定变换成某种颜色 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>.basic{width: 400px;height: 100px;border: 1px solid black;}.happy{backg…

谈谈——互联网生活中的隐私保护

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

打包apk时出现Execution failed for task ‘:app:lintVitalRelease

程序可以正常运行&#xff0c;但是打包apk的时候报Execution failed for task ‘:app:lintVitalRelease导致打包失败&#xff0c;原因是执行lintVitalRelease失败了&#xff0c;存在错误。解决办法&#xff1a;在app模块的build.gradle的Android里面添加如下代码&#xff1a; l…

Nacos服务注册和配置中心(Config,Eureka,Bus)2

Nacos数据模型 Nacos领域模型,Namespace命名空间、Group分组、集群这些都是为了进行归类管理&#xff0c;把服务和配置文件进行归类&#xff0c;归类之后就可以实现一定的效果&#xff0c;比如隔离。对于服务来说&#xff0c;不同命名空间中的服务不能够互相访问调用 N…

Spring Boot 中的熔断器:原理和使用

Spring Boot 中的熔断器&#xff1a;原理和使用 什么是熔断器&#xff1f; 熔断器是一种用于处理分布式系统中故障的设计模式。它可以防止出现故障的服务对整个系统造成连锁反应。熔断器通过监控故障服务的调用情况&#xff0c;当故障服务出现问题时&#xff0c;熔断器会迅速…

MacOS使用USB接口与IPhone进行Socket通信

演示效果如下: 开源地址: GitHub - rsms/peertalk: iOS and Mac Cocoa library for communicating over USB 克隆源码: git clone https://github.com/rsms/peertalk.git 克隆后打开peertalk然后启动xcode工程 先启动MacOS服务端工程,再启动iOS客户端工程 客户端 服务端

MySQl数据库第八课-------SQL命令查询-------主要命脉

作者前言 欢迎小可爱们前来借鉴我的gtiee秦老大大 (qin-laoda) - Gitee.com —————————————————————————————— 目录 查询数据 条件 逻辑运算符 模糊查询 范围查询 in 判断空 UNION 排序 聚合 分组&#xff1a;group by —————————…

C++中随机数的使用总结

随机数 rand() 随机数发生器 #include <stdio.h> #include <unistd.h> #include <iostream> #include <string>using namespace std;int main(int argc, char *argv[]) {cout << "this is main()" << endl;cout << rand…

弹性盒子布局

在弹性盒子布局&#xff08;flexbox&#xff09;中&#xff0c;存在两个关键概念&#xff1a;主轴&#xff08;main axis&#xff09;和交叉轴&#xff08;cross axis&#xff09;。 主轴是弹性盒子布局中的一个方向&#xff0c;它定义了弹性盒子的主要方向。在默认情况下&…

[MySQL]MySQL表中数据的增删查改(CRUD)

[MySQL]MySQL表中数据的增删查改(CRUD) 文章目录 [MySQL]MySQL表中数据的增删查改(CRUD)1. 新增数据1.1 单列插入1.2 多列插入1.3 插入否则更新1.4 替换 2. 基本查询数据2.1 全列查询2.2 指定列查询2.3 查询字段为表达式2.4 为查询结果指定别名2.5 结果去重2.6 where子句2.7 or…

flutter开发实战-多语言flutter intl

flutter开发实战-多语言flutter intl 之前做的应用中有用到多语言&#xff0c;一直没有整理&#xff0c;这里整理一下多语言设置流程。 使用的是Android studio 一、flutter_intl 插件 使用Android studio安装flutter_intl 插件&#xff0c;更新或者安装flutter_intl 插件后…