智能驾驶规划控制理论学习01-自动驾驶系统介绍、规划控制模块介绍

news2024/11/20 8:45:03

目录

一、自动驾驶系统概述

二、规划控制模块介绍

1、规划控制架构     

2、规划控制目标

3、Cartesian和Frenet坐标系        

4、Frenet坐标系概览      

5、解耦式规划和联合式规划


一、自动驾驶系统概述

        目前被国内外广为接受的自动驾驶级别划分标准是 SAE(国际汽车工程学会)分级,从 Level-0~Level-5 总计6 个级别,Level-0 为最低级别,Level-5 为最高级别。限于法规等政策因素,目前绝大多数车企都处在L2或是L2+水平,随着L3自动驾驶相关法规的出台,在今年年底有望出现L3水平的自动驾驶车辆。        

         这里不再过多介绍自动驾驶的各个等级,主要介绍autoware官网给出的自动驾驶软件系统框架。

        autoware是一款开源的自动驾驶框架,包含了感知、规划、控制等各个模块的算法实现官网链接https://www.autoware.org。

  • Sensing 模块:收集自动驾驶车辆上的雷达、相机等各种传感器得到的数据;
  • Localization 模块:将传感器数据和高精度地图结合,用于确定自动驾驶车辆的精确位置和方向;
  • Perception 模块:检测、识别和跟踪物体的运动(autoware 框架中将prediction 模块放在perception 模块中,因为二者的实现大致类似,都是基于深度学习、强化学习等方式);
  • Planning 模块:使用感知信息计算车辆沿特定道路的路径,以避免各种物体和障碍物;
  • Control 模块:规划信息会通过control 模块转换成具体准确的车辆控制信号(如转向角度、制动和加速),并通过下一个模块Vechile Interface发送;
  • Vechile Interface 模块:根据车辆的运动学特性,将控制信号转换成命令;
  • Map Data 模块:利用高精度地图信息,可以使车辆更好地理解环境信息。

二、规划控制模块介绍

1、规划控制架构     

        如下图所示是规划控制的基本架构,下面对各部分进行介绍: 

  •  Route Planning 是路由规划,也叫全局规划,通过用户给定的目的地和道路网络数据生成一条最优路径(与手机导航类似),将一系列的路点数据发送给下游的行为决策模块;
  • Behavior Layer 中给出了五种状态场景,同时行为决策还要对感知到的动态障碍物进行决策引导,将Motion Specification运动指令发送给运动规划模块;
  • Motion Planning 的目标是生成一条安全的、舒适的符合车辆运动学约束的运动轨迹,将这条光滑的、高质量的运动轨迹下发给下游控制模块;
  • Local Feedback Control 结合轨迹信息以及其他模块给出的车辆运动状态的估计,做出轨迹跟踪的控制,同时生成一系列车辆具体控制的指令给下游的底盘(如方向盘转角、油门踏板、刹车指令)。

        以上就是PNC模块简单的介绍。

2、规划控制目标

        规划

  • 安全性:pnc模块输出的运动轨迹能够避免和静态障碍物和动态障碍物(交通参与者)发生碰撞;
  • 舒适性:运动轨迹足够光滑;
  • 动力学可行性:规划给出的轨迹可以被下游的控制模块执行。

        控制

  • 跟踪精度:尽可能减少跟踪误差;
  • 稳定性:控制的指令足够平滑;
  • 鲁棒性:控制模块要有一定抵御外界干扰的能力。

3、Cartesian和Frenet坐标系        

        Cartesian坐标系是一种全局坐标系(地图坐标系),Frenet坐标系又叫s-l坐标系。

        将Cartesian坐标系转化为Frenet坐标系可以将车辆的运动解耦成两个一维运动:纵向运动(沿着参考线方向)和侧向运动(垂直参考线方向)。

4、Frenet坐标系概览      

        这部分只是简单介绍Frenet坐标系相比于Cartesian坐标系的优缺点,具体的内容以后再进行讲述。

        优点:可以更好地理解运动场景,因为大部分运动场景下车辆都沿车道中心线行驶;

        缺点

  • 需要一条足够光滑的坐标系(至少到达曲率级别的连续性); 
  • 曲率约束在Frenet坐标系中比较复杂;
  • 车辆在投放到Frenet坐标系中存在几何形状上的变形,如上图全部简化为矩形,因此要想实现精确的碰撞检测是比较困难的。

        总之,Frenet坐标系的引入只是为自动驾驶提供了一种可能的解决方案,但是目前并没有明确哪种坐标系更好。

5、解耦式规划和联合式规划

        在时空维度上对车辆直接进行规划难度是比较高的,因此出现了解耦式规划和联合式规划。

        解耦式规划分为横纵解耦和路径-速度解耦。

  • 横纵解耦是对横向运动和纵向运动分别做一系列的五次多项式描述,将横向运动的多项式曲线和纵向运动多项式曲线结合(进行加权处理)选择最优的策略;
  • 路径-速度解耦(以百度apollo的motion planner为例):        

        投影:将障碍物等信息投影到Frenet坐标系中;

         决策:利用动态规划的方法获得一个粗略解,对应着每个障碍物的决策信息(横向上的绕行、纵向上的让行或强行);

        控制:基于二次规划的优化方式生成平滑的曲线。

        对于联合式规划而言,直接在时空维度上对车辆运动状态进行分析:

         如图中对应的1为强行行为,行为2对应则是跟车,再转换到右侧的3维空间。

        联合式规划主要针对行为规划和运动规划两部分:

        行为规划是要发现多种策略性的动作控制(如车道保持、车道变换、让行等)、

        运动规划主要是产生同时符合时间和空间维度要求的平滑和安全的轨迹。

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

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

相关文章

Java Web(八)--Servlet(二)

Servlet API Servlet API 包含以下4个Java包: 1. javax.servlet:其中包含定义Servlet和Servlet容器之间契约的类和接口。 2. javax.servlet.http:主要定义了与HTTP协议相关的HttpServlet类,HttpServletRequest接口和HttpServl…

Redis之一: 简介及环境安装搭建

什么是NoSQL? NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。 NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据&#xf…

阿里云定价_ECS产品价格_云服务器收费标准 - 阿里云官方活动

2024年最新阿里云服务器租用费用优惠价格表,轻量2核2G3M带宽轻量服务器一年61元,折合5元1个月,新老用户同享99元一年服务器,2核4G5M服务器ECS优惠价199元一年,2核4G4M轻量服务器165元一年,2核4G服务器30元3…

【GPU驱动开发】- mesa编译与链接过程详细分析

前言 不必害怕未知,无需恐惧犯错,做一个Creator! 一、总体框架图 暂时无法在飞书文档外展示此内容 二、Mesa API 处理 OpenGL 函数调用 Mesa API 负责实现 OpenGL 和其他图形 API 的函数接口。Mesa API 表是一个重要的数据结构&#xf…

别再让机会从指缝间溜走!社科院与杜兰大学金融管理硕士一同开创你的成功之路

新的一年,你的读研计划进行到哪个环节了呢?咨询社科院与杜兰大学金融管理硕士项目中,总听到有同学说,不着急,我先了解一下。你不知道是时间总是在指缝间溜走。别让犹豫成了我们前进的阻碍,马上行动早日遇到…

WPF的DataGrid自动生成中文列头

直接将一个对象集合绑定到DataGrid上面,设置自动生成列AutoGenerateColumns"True",DataGrid会自动根据对象类的属性生成对应的列 示例类对象: public class DataModel{public int Id { get; set; }public string Name { get; set;…

Ansible自动化运维(四)jinja2 模板、Roles角色详解

👨‍🎓博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 🐋 希望大家多多支…

【Pytorch】Transfer Learning 迁移学习

文章目录 1. 获取数据2. 创建Dataset和DataLoader3. 获取预训练模型4. 训练模型5. 通过绘制损失曲线来评估模型6. 对测试集中的图像进行预测补充 迁移学习允许我们采用另一个模型从另一个问题中学到的模式(也称为权重)并将它们用于我们自己的问题。 例如…

51单片机 wifi连接

一、基本概念 ESP8266是一款集成了WiFi功能的高性能芯片,广泛应用于物联网设备、智能家居、传感器网络等领域。以下是ESP8266的详细讲解: 1. 功能特点:ESP8266集成了TCP/IP协议栈,支持STA(Station)和AP&am…

Kamacoder第八题摆平积木的C语言解法

8. 摆平积木 时间限制:1.000S 空间限制:32MB 题目描述 小明很喜欢玩积木。一天,他把许多积木块组成了好多高度不同的堆,每一堆都是一个摞一个的形式。然而此时,他又想把这些积木堆变成高度相同的。但是他很懒&…

[足式机器人]Part2 Dr. CAN学习笔记-Ch00-2 - 数学知识基础

本文仅供学习使用 本文参考: B站:DR_CAN 《控制之美(卷1)》 王天威 《控制之美(卷2)》 王天威 Dr. CAN学习笔记-Ch00 - 数学知识基础 Part2 4. Ch0-4 线性时不变系统中的冲激响应与卷积4.1 LIT System:Linear Time Invariant4.2 卷积 Convolution4.3 单位冲激 Unit Impulse—…

上传大文件报错No data found for resource with given identifier

预览中的数据No data found for resource with given identifier 首先以为是nginx问题查看nginx日志 39.89.216.201 - - [27/Feb/2024:10:14:53 0800] "POST /api/crm/clue/upload HTTP/1.1" 499 0 "https://op-dev.*.com/customer/clue-management" &qu…

163邮箱SMTP端口号及服务器地址详细设置?

163邮箱SMTP端口号是什么?163邮件SMTP设置教程? 除了基本的邮箱账号和密码外,还需要了解SMTP服务器地址和端口号,以及相应的设置。这些设置对于确保邮件能够顺利发送至关重要。下面,蜂邮EDM将详细介绍163邮箱SMTP端口…

idea生成WebServices接口

文章目录 idea生成WebServices接口1.创建接口2.生成wsdl文件3.在soapUI中,生成6个文件4.将生成的文件拷贝到工程中5.在service-config中注册服务 idea生成WebServices接口 1.创建接口 新建一个webServices工程,按照接口规范生成接口、请求类、响应类。…

phpldapadmin This base cannot be created with PLA

phpldapadmin This base cannot be created with PLA 1、问题描述2、问题分析3、解决方法:创建根节点 1、问题描述 安装phpldapadmin参考链接: https://blog.csdn.net/OceanWaves1993/article/details/136048686?spm1001.2014.3001.5501 刚安装完成phpldapadmin&…

2024全新版EasyRecovery14数据恢复软件功能详细分析

一、功能概述 EasyRecovery14是一款功能全面的数据恢复软件,它提供了从各种存储设备(如硬盘、U盘、SD卡、数码相机等)中恢复丢失或删除数据的能力。该软件支持多种恢复模式,包括快速恢复、深度扫描、格式化恢复等,以满…

C语言 int和unsigned int逻辑比较

文章目录 测试1、测试 CMP (int,int)2、测试 CMP (int ,unsigned int)3、测试 CMP (unsigned int ,unsigned int)4、测试 CMP(int ,常量) 总结 测试 在IAR(8.40.2)平台下测试单片机为STM32F103ZET6 1、测试 CMP (int,int) //a -2,b 3 int test_fun(int a, int…

vue组件中data为什么必须是一个函数

查看本专栏目录 关于作者 还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas&#x…

R语言——条形图数据可视化的多种方式

本文章将会介绍如何使用R语言中的ggplot2包使用条形图进行数据可视化。将会使用一个“生产企业原材料的订购与运输”的订单数据,该数据来自2021数学建模国赛C题。 某建筑和装饰板材的生产企业所用原材料主要是木质纤维和其他植物素纤维材料总体可分为 A B C 三种类…

LeetCode 刷题 [C++] 第240题.搜索二维矩阵 II

题目描述 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 题目分析 通过分析矩阵的特点发现,其左下角和右上角可以看作一个“二叉搜索树的根节…