星火计划学习笔记——Apollo决策规划技术详解及实现(以交通灯场景检测为例)

news2024/11/24 20:40:50

文章目录

  • 1. Apollo决策技术详解
    • 1.1 Planing模块运行机制
    • 1.2 Apollo决策功能的设计与实现
      • 1.2.1参考路径 Reference Line
      • 1.2.2 交规决策 Traffic rule process
      • 1.2.3 路径决策 Path decider
      • 1.2.4 速度决策 Speed decider
      • 1.2.5 Planing模块运行流程
      • 1.2.6 场景 Scenarios
  • 2. 交规决策场景实现机制
    • 2.1 交规的配置
    • 2.2 交规决策的运行流程
      • 2.2.1 Traffic Light场景的进入
      • 2.2.2 Traffic Light场景的stage
      • 2.2.3 APPROACH阶段
      • 2.2.4 CRUISE阶段
      • 2.2.5 交通灯通过检测
      • 2.2.6 停止墙生成
  • 3. 交通灯场景仿真实现
    • 3.1 云实验
      • 3.1.1 创建场景
      • 3.1.2 启动dreamview
      • 3.1.3 场景同步
      • 3.1.4 选择需要调试场景
      • 3.1.5 实验流程

1. Apollo决策技术详解

1.1 Planing模块运行机制

在这里插入图片描述
星火计划学习笔记——第七讲自动驾驶规划技术原理1

1.2 Apollo决策功能的设计与实现

●目的
○ 保障无人车的行车安全并且遵守交规
○ 为路径和速度的平滑优化提供限制信息
● 决策的输入
○ Routing信息
○ 道路结构,比如当前车道,相邻车道,汇入车道,路口等信息
○ 交通信号和标示,比如红绿灯,人行横道,Stop Sign,Keep Clear等
○ 障碍物状态信息,比如障碍物类型,大小,和速度
○ 障碍物预测信息,比如障碍物未来可能的运动轨迹
● 决策的输出
○ 路径的长度以及左右边界限制
○ 速度限制边界
○ 位置限制边界
在这里插入图片描述

Apollo 决策的5个步骤

1.2.1参考路径 Reference Line

● 没有障碍物情况下的默认行车路径
○ 参考路径需要保证连续和平滑 当前参考路径
参考路径也用于表达换道的需求
○ 目标参考路径(优先级高)
○ 当前参考路径(目标参考路径)
参考路径的一种实现方法
○ 根据Routing找到对应道路中心线
○ 对道路中心线进行平滑

在这里插入图片描述

路径边界

1.2.2 交规决策 Traffic rule process

主要作用:
处理红绿灯,Stop Sign, 人行横道等交通规则
输入信息:
○ 参考路径
○ 高精地图
○ 信号灯状态
输出:
○ 虚拟墙
在这里插入图片描述

判断是否需要生成停止墙。

1.2.3 路径决策 Path decider

在这里插入图片描述
    首先判断是否要进行换道操作。若有许多条参考路径,且车辆未处于最高优先级上,表明车辆有换道的需求。接着判断当前道路状况是否可以换道,若可以换道,则路径决策生成一个换道边界,若不可以换道,则会生成一个道内的边界。若车辆没有换道的需求,则需要判断车辆是否需要借道避让。借道避让有两个判断条件,主车所在的车道是否有足够的宽度可以避让以及前方是否有静止的障碍物。若确认可以换道,同样会生成两个决策。
    ps:在路径决策时,一般只考虑静态障碍物,对于动态障碍物,则由速度规划模块考虑。
在这里插入图片描述

1.2.4 速度决策 Speed decider

对车辆速度限制的因素:
● 道路限速
● 路径周边行人,自行车等
● 通过人行横道时
● 减速带
● 路径上过近的车辆,较为拥挤的道路
● 借道避让时
● 换道时
● 更多…
在这里插入图片描述

速度决策的流程

    在车辆行驶过程中,需要对车辆的速度进行许多限制。在得到路径边界之后,通过路径规划器,得到平滑的路径曲线,之后再对曲线进行路径决策。
    速度决策的流程:对当前路径产生一个或多个速度边界,再将其集成一个速度边界的集合,生成一个ST图。用ST图得到时间上的位置边界。利用速度边界和位置边界可以进行速度决策,从而生成轨迹。

1.2.5 Planing模块运行流程

在这里插入图片描述

1.2.6 场景 Scenarios

在这里插入图片描述
依据场景来做决策和规划有以下两个优点,
1)场景之间互不干扰,有利于并行开发和独立调参。
2)功能之间相互解耦,有利于开发者开发自己的特有场景。

2. 交规决策场景实现机制

2.1 交规的配置

在这里插入图片描述

    Apollo对 交 通 规 则 的 处 理 是 通 过for循 环 来 遍 历 配 置 文 件/apollo/modules/planning/conf/traffic_rule_config.pb.txt中设置的交通规则,处理后相关信息存入ReferenceLineInfo中。在这里插入图片描述

2.2 交规决策的运行流程

在这里插入图片描述

依托输入信息来判断选择哪个场景

在这里插入图片描述
交通规则的运行流程

2.2.1 Traffic Light场景的进入

在这里插入图片描述

Traffic Light场景的进入这部分主要有两个部分:第一个部分通过Overlap重叠判断是否进入交叉路口,第二个部分通过由高精地图提供的车道信息以及交通信号等情况进入不同的场景,选择是有保护的场景还是无保护的场景。

2.2.2 Traffic Light场景的stage

在这里插入图片描述

2.2.3 APPROACH阶段

在这里插入图片描述

2.2.4 CRUISE阶段

在这里插入图片描述

CRUISE阶段主要用以判断,当CRUISE阶段结束时,就会恢复到lanefollow阶段

2.2.5 交通灯通过检测

在这里插入图片描述

2.2.6 停止墙生成

在这里插入图片描述

3. 交通灯场景仿真实现

在这里插入图片描述

3.1 云实验

云实验地址——Apollo规划之交通灯场景仿真调试

3.1.1 创建场景

系统场景: Go Straight (Intersection w/ Lights)
场景ID:Sunnyvale_3
场景描述:主车在路口红灯时直行
在这里插入图片描述

3.1.2 启动dreamview

    Dreamview 是Apollo提供的可视化交互界面,开发者可通过Dreamview对车辆硬件、各自动驾驶模块的状态进行实时监测与操作。同时提供PnC monitor、Console 等调试工具可以快速帮助开发者实现对自动驾驶开发的过程调试。
在这里插入图片描述

bash scripts/apollo_neo.sh bootstrap

3.1.3 场景同步

在这里插入图片描述

3.1.4 选择需要调试场景

在这里插入图片描述

3.1.5 实验流程

按照Apollo规划之交通灯场景仿真调试实验的步骤。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AW EC2实例

Hello大家好,我们今天的课时内容是EC2。 EC2大家应该都是比较熟悉了,相信绝大部分人应该都用过。这部分涉及到的内容肯定是比较多的,希望大家对于一些基础的概念已经有所了解了,这个课时我和大家一起总结一下。 当然&#xff0c…

Canvas画布详解API代码演示

Canvas .<canvas>标签&#xff1a;画布标签&#xff0c;本身不具备绘图能力&#xff0c;可以通过脚本(JS)来实现 width:设置画布宽度&#xff0c;默认为300px height:设置画布高度&#xff0c;默认为150px Canvas API&#xff1a;提供通过JavaScript在<canvas>上绘…

【手把手】分布式定时任务调度解析之xxl-job

1、xxl-job好像很火&#xff1f; 在之前我写的讲解Quartz中有介绍过&#xff0c;Quartz有差不多二十年的历史&#xff0c;调度模型已经非常成熟了&#xff0c;而且很容易集成到Spring中去&#xff0c;用来执行业务任务是一个很好的选择。但是越早的设计存在的问题也越明显&…

自适应均衡matlab仿真,对比RLS,LMS以及NLMS的均衡前后星座图效果,调制采用4QAM,16QAM,64QAM

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 在无线通信系统中&#xff0c;由于多径效应及码间干扰的存在&#xff0c;信号误码率会升高。均衡技术是一种对抗码间干扰的重要技术。本文将介绍LMS均衡和RLS均衡两种均衡算法。在线性和非线性均…

[附源码]Python计算机毕业设计Django颐养天年辅助平台

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

水溶性CY7-COOH|Cas1353546-78-7|水溶CY7-羧酸

水溶性CY7-COOH|Cas1353546-78-7|水溶CY7-羧酸 CAS号&#xff1a;1628790-40-8&#xff08;氯化物&#xff09;、1628897-82-4&#xff08;不含阴离子&#xff09;、2241083-63-4&#xff08;内盐&#xff09; 外观&#xff1a; 绿色粉末 分子量&#xff1a;519.12 分子式&…

sa-token进阶

介绍sa-token实际应用的高阶用法。 文章目录路由拦截鉴权绑定角色权限标识角色校验/权限校验测试角色标识测试权限标识进阶用法路由拦截鉴权 定义配置类SaTokenConfigure->实现WebMvcConfigurer&#xff0c;设置一个只对login请求放通的拦截器&#xff1a; Configuration …

商密SIG月度动态:文件加密支持SM4算法、Anolis 8.8将默认集成 | 龙蜥 SIG

商密软件栈 SIG 目标&#xff1a;基于Anolis Linux&#xff0c;在整个系统软件层面&#xff08;包括硬件&#xff0c;固件&#xff0c;bootloader&#xff0c;内核以及 OS&#xff09;实现以商密算法为主的全软件栈商密操作系统&#xff0c;结束一直以来商密软件生态碎片化的状…

B站李沐讲论文笔记Resnet

研一学生笔记&#xff0c;若有看官&#xff0c;笔下留情 作者 Kaiming He Xiangyu Zhang Shaoqing Ren&#xff08;在蔚来居然&#xff09; Jian Sun&#xff08;导师&#xff09; Microsoft Research 摘要&#xff1a; 我们提出一个网络&#xff0c;他可以简化网络的训练&…

【 Apifox】Apifox的前置操作与后置操作

Apifox官网地址&#xff1a;http://apifox.cn/a103abcc 文章目录一、断言二、提取变量三、数据库操作结语一、断言 后置操作支持添加断言&#xff0c;可对接口返回的数据&#xff08;或响应时间&#xff09;设置断言&#xff0c;判断是否符合预期。 设置断言&#xff1a; 运行…

与客户共解难题:BPM如何高标准国产化?

作为深耕中国本土BPM市场近二十年的老牌企业&#xff0c;上海斯歌已服务超过700家大型及超大型企业&#xff0c;在医药、汽车汽配、智能制造、房地产等行业积淀了深厚的服务能力&#xff0c;从始至终斯歌都在思考&#xff1a;如何以最佳的服务能力解决客户需求&#xff0c;成就…

Express 学习 - 02-中间件应用-urlencoded解析

请求模拟 什么是中间件&#xff1f; 中间件的本质是传递给express的一个回调函数&#xff1b;这个回调函数接受三个参数&#xff1a;请求对象&#xff08;request对象&#xff09;&#xff1b;响应对象&#xff08;response对象&#xff09;&#xff1b;next函数&#xff08;在…

用Rust写的Turbopack,比Vite快20倍?

日前&#xff0c;Vercel正式宣布推出新的包装工具Turbopack。Vercel声称这是用Rust编写的Webpack的继任者。在大型应用程序中&#xff0c;它的速度是Vite的10倍&#xff0c;是Webpack的700倍。维特的维护者对此表示怀疑。 Vercel发布新的开源工具Turbopack Vercel是Next。js框…

【数模】层次分析法

对于同一层次中的指标&#xff0c;通过两两比较&#xff0c;构造出判断矩阵&#xff0c;记为A。 aij表示因素i对因素j的重要性比较结果&#xff0c;可采用1-9的量化比例标度来反映其重要程度。 1&#xff1a;指标两个相比&#xff0c;A比B同等重要 3&#xff1a;指标两个相比…

E. Permutation Game(game)

Problem - E - Codeforces 两个玩家正在玩一个游戏。他们有一个整数1&#xff0c;2&#xff0c;...&#xff0c;n的排列组合&#xff08;排列组合是一个数组&#xff0c;其中从1到n的每个元素正好出现一次&#xff09;。这个排列组合没有按升序或降序排序&#xff08;即排列组合…

YOLO系列目标检测算法——YOLOS

YOLO系列目标检测算法目录 - 文章链接 YOLO系列目标检测算法总结对比- 文章链接 YOLOv1- 文章链接 YOLOv2- 文章链接 YOLOv3- 文章链接 YOLOv4- 文章链接 Scaled-YOLOv4- 文章链接 YOLOv5- 文章链接 YOLOv6- 文章链接 YOLOv7- 文章链接 PP-YOLO- 文章链接 …

视频:R语言中的Stan概率编程MCMC采样的贝叶斯模型

概率编程使我们能够实现统计模型&#xff0c;而不必担心技术细节。这对于基于MCMC采样的贝叶斯模型特别有用。 最近我们被客户要求撰写关于Stan的研究报告&#xff0c;包括一些图形和统计输出。 R语言中RStan贝叶斯层次模型分析示例stan简介 Stan是用于贝叶斯推理的C 库。它…

十、Docker 复杂安装之3主3从redis集群配置

假设公司现在1-2亿条数据需要缓存,单机单台设备肯定扛不住的,这个时候就需要分布式存储,用redis如果落地呢?本期就带着大家搭建一个3主3从redis集群。 1、拉取redis6.0.8镜像 涉及命令:docker pull redis:6.0.8 实例: 2、创建6个redis容器实例 涉及命令: docker ru…

k8s远程debug

k8s远程debug 1、方案1 方案1是不行的&#xff0c;因为k8s的ingress走的7层协议。 1.1、应用 启动debug端口 java -agentlib:jdwptransportdt_socket,servery,suspendn,address5005 -server -Xms1024m -Xms1024m -jar /opt/app/server.jarnetstat -ntlp1.2、配置k8s的网络和域…

Qt-Web混合开发-QWebSocket作为QWebChannel通信数据传输接口(10)

Qt-Web混合开发-QWebSocket作为QWebChannel通信数据传输接口&#x1f499;&#x1f353; 文章目录Qt-Web混合开发-QWebSocket作为QWebChannel通信数据传输接口&#x1f499;&#x1f353;1、概述&#x1f41b;&#x1f986;2、实现效果&#x1f605;&#x1f64f;3、实现功能&a…