自动驾驶---如何打造一款属于自己的自动驾驶系统

        在笔者的专栏《自动驾驶Planning决策规划》中,主要讲解了行车的相关知识,从Routing,到Behavior Planning,再到Motion Planning,以及最后的Control,笔者都做了相关介绍,其中主要包括算法在量产上的应用,这是笔者与其他博主非常不同的一点,重点阐述自动驾驶量产相关的算法

        在之前的专栏中由于篇幅的限制,并不能逐篇去扣算法,扣代码。只是希望读者朋友们对整个自动驾驶系统有一个深刻的了解,同时知道目前头部智驾的车企在各个模块都用了哪些算法,对于社招找工作的同学、亦或是想转行到自动驾驶行业的同学或者应届毕业生都是非常有帮助的。

        即使目前端到端大模型也逐步量产(笔者也已经同步在博客种更新相关模型的应用),其实除了头部的几家公司,很多智驾公司仍然在用传统的规控算法。然后,读者朋友们也不用慌张,传统的算法也并没有消亡,在端到端的背后依然有其用武之地。

        即使在之前的博客中,笔者分别写了两篇开源自动驾驶仿真系统的安装使用教程,一个是百度的Apollo,另一个是Autoware。universe:《Ubuntu 20.04 安装 Apollo 8.0&vscode仿真调试》,《Ubuntu 20.04 安装 Autoware.universe自动驾驶仿真工具》。虽然这两个教程获得了读者们的喜爱,但笔者长时间的使用体验下来,两者也有很多不便之处:Apollo由于其算法比较老旧,接口相对复杂,开发新算法非常不方便,笔者在开发中经常使用的是其中的某些common库及部分算法的移植;Autoware.universe的仿真界面虽然比较友善,但同样地,如果使用新算法,改起来也有些麻烦。

        笔者的下一个实践系列就是带领读者朋友一起打造属于自己的自动驾驶系统,包括规控算法(Routing,Prediction、Behavior Planning,Motion Planning,以及Control)的开发,仿真,调试等,基本会按照笔者专栏《自动驾驶Planning决策规划》中算法的顺序完成(可能会舍弃一些老旧的算法),效果如上图所示,显示的元素包括routing的路径信息,车道边界信息,动静态车辆信息,参考线没有暂时没有显示(增加msg即可),局部规划的轨迹信息,可以完成规控模块的闭环仿真。

        整个开发、仿真流程可全部由自己完成,感知可采用开源数据包(ROS通信需要对好相关协议),采集的传感器信息进行感知的调试,也可自己模拟相关感知上游信号供规控使用。总体通信框架基于ROS,不依赖于Rviz,Gazebo等插件,非常轻量级、简洁化的一套系统。

        感兴趣的读者朋友可以关注并私信我。

        感兴趣的读者朋友可以关注并私信我。

        感兴趣的读者朋友可以关注并私信我。

 

 

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

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

相关文章

vulnhub 靶场 —— NullByte

免责声明 本博客文章仅供教育和研究目的使用。本文中提到的所有信息和技术均基于公开来源和合法获取的知识。本文不鼓励或支持任何非法活动,包括但不限于未经授权访问计算机系统、网络或数据。 作者对于读者使用本文中的信息所导致的任何直接或间接后果不承担任何…

Unity做2D小游戏2------创建地形和背景

我是跟着这个up主做的:【unity/2d/超基础】教你做一款2d横版游戏 打开Unity Hub后,点击项目--新项目,进入下面的界面,可以根据想要做的项目选择对应的模型,我现在要做2D小游戏,所以选择第一个2D核心模板。…

判断函数是否为react组件或lazy包裹的组件

function Modal(){return <p>123</p> } 实参里填入函数名,是false 实参里填入标签形式的函数,是true isValidElement(Modal)//false isValidElement(<Modal></Modal>)//true 官方说明 isValidElement – React 中文文档 但是官方并不建议用isValidE…

Vue笔记(八)

一、Pinia &#xff08;一&#xff09;手动添加Piaia到Vue项目 1.安装Pinia&#xff1a;使用包管理器进行安装&#xff0c;在项目目录下运行 npm install pinia 或 yarn add pinia &#xff0c;为项目引入Pinia状态管理库。 2.创建Pinia实例&#xff1a;在项目的JavaScript代…

如何将3DMAX中的3D文件转换为AutoCAD中的2D图形?

大家好,今天我们来探讨一下如何将3DMAX中的3D文件转换为AutoCAD中的2D图形。无论是出于设计交流、施工准备还是其他实际需求,这种转换在工程设计领域都是一项非常实用的技能。接下来,我将为大家详细介绍几种实现这一转换的方法,帮助大家轻松跨越3D与2D设计之间的鸿沟。让我…

javaEE-11.javaScript入门

目录 一.什么是javaScript 二.快速实现 三.JS引入方式 1.行内引入: 2.内部引入: 3.外部引入: 四.基础语法 1.变量 变量命名规则: 2.数据类型 3.运算符 五.JS对象 1.数组 创建数组: 2.操作数组 3.函数 函数注意事项: 函数参数: 4.对象 1.使用字面量 创建对象:…

机器学习 - 进一步理解最大似然估计和高斯分布的关系

一、高斯分布得到的是一个概率吗&#xff1f; 高斯分布&#xff08;也称为正态分布&#xff09;描述的是随机变量在某范围内取值的概率分布情况。其概率密度函数&#xff08;PDF&#xff09;为&#xff1a; 其中&#xff0c;μ 是均值&#xff0c;σ 是标准差。 需要注意的是…

SaaS+AI应用架构:业务场景、智能体、大模型、知识库、传统工具系统

SaaSAI应用架构&#xff1a;业务场景、智能体、大模型、知识库、传统工具系统 大家好&#xff0c;我是汤师爷~ 在SaaS与AI应用的演进过程中&#xff0c;合理的架构设计至关重要。本节将详细介绍其五个核心层次&#xff1a; 业务场景层&#xff1a;发现和确定业务场景智能体层…

三、k8s pod详解

pod详解的相关的基础知识和初始化容器&#xff0c;以及私有化的镜像仓库*。 pod进阶&#xff1a;pod的状态&#xff0c;pod的探针 pod的详解&#xff1a; pod是k8s集群管理的最小单位&#xff0c;最小的资源组件&#xff0c;也是最小化运行容器的资源对象。 容器运行在pod里…

OpenCV 相机标定流程指南

OpenCV 相机标定流程指南 前置准备标定流程结果输出与验证建议源代码 OpenCV 相机标定流程指南 https://docs.opencv.org/4.x/dc/dbb/tutorial_py_calibration.html https://learnopencv.com/camera-calibration-using-opencv/ 前置准备 制作标定板&#xff1a;生成高精度棋…

【Windows】PowerShell 缓存区大小调节

PowerShell 缓存区大小调节 方式1 打开powershell 窗口属性调节方式2&#xff0c;修改 PowerShell 配置文件 方式1 打开powershell 窗口属性调节 打开 CMD&#xff08;按 Win R&#xff0c;输入 cmd&#xff09;。右键标题栏 → 选择 属性&#xff08;Properties&#xff09;…

127,【3】 buuctf [NPUCTF2020]ReadlezPHP

进入靶场 吓我一跳 查看源码 点击 审计 <?php// 定义一个名为 HelloPhp 的类&#xff0c;该类可能用于执行与日期格式化相关的操作 class HelloPhp {// 定义一个公共属性 $a&#xff0c;用于存储日期格式化的模板public $a;// 定义一个公共属性 $b&#xff0c;用于存储…

问题:通过策略模式+工厂模式+模板方法模式实现ifelse优化

项目场景&#xff1a; 提示&#xff1a;这里简述项目相关背景&#xff1a; 示例&#xff1a;商城系统有会员系统&#xff0c;不同会员有不同优惠程度&#xff0c;普通会员不优惠&#xff1b;黄金会员打8折&#xff1b;白金会员优惠50元&#xff0c;再打7折&#xff1b; 问题描…

Android Studio2024版本安装环境SDK、Gradle配置

一、软件版本&#xff0c;安装包附上 &#x1f449;android-studio-2024.1.2.12-windows.exe&#x1f448; &#x1f449;百度网盘Android Studio安装包&#x1f448; &#xff08;若下载连链接失效可去百度网盘链接下载&#xff09; 二、软件安装过程 ​ ​ ​ 三、准备运行…

Leetcode - 149双周赛

目录 一、3438. 找到字符串中合法的相邻数字二、3439. 重新安排会议得到最多空余时间 I三、3440. 重新安排会议得到最多空余时间 II四、3441. 变成好标题的最少代价 一、3438. 找到字符串中合法的相邻数字 题目链接 本题有两个条件&#xff1a; 相邻数字互不相同两个数字的的…

使用 meshgrid函数绘制网格点坐标的原理与代码实现

使用 meshgrid 绘制网格点坐标的原理与代码实现 在 MATLAB 中&#xff0c;meshgrid 是一个常用函数&#xff0c;用于生成二维平面网格点的坐标矩阵。本文将详细介绍如何利用 meshgrid 函数生成的矩阵绘制网格点的坐标&#xff0c;并给出具体的代码实现和原理解析。 实现思路 …

【AI赋能】蓝耘智算平台实战指南:3步构建企业级DeepSeek智能助手

蓝耘智算平台实战指南&#xff1a;3步构建企业级DeepSeek智能助手 引言&#xff1a;AI大模型时代的算力革命 在2025年全球AI技术峰会上&#xff0c;DeepSeek-R1凭借其开源架构与实时推理能力&#xff0c;成为首个通过图灵测试的中文大模型。该模型在语言理解、跨模态交互等维…

Mac(m1)本地部署deepseek-R1模型

1. 下载安装ollama 直接下载软件&#xff0c;下载完成之后&#xff0c;安装即可&#xff0c;安装完成之后&#xff0c;命令行中可出现ollama命令 2. 在ollama官网查看需要下载的模型下载命令 1. 在官网查看deepseek对应的模型 2. 选择使用电脑配置的模型 3. copy 对应模型的安…

第七节 文件与流

基本的输入输出&#xff08;iostream&#xff09; C标准库提供了一组丰富的输入/输出功能&#xff0c;C的I/O发生在流中&#xff0c;流是字节序列。如果字节流是从设备&#xff08;键盘、磁盘驱动器、网络连接等&#xff09;流向内存&#xff0c;叫做输入操作。如果字节流是从…

网络安全溯源 思路 网络安全原理

网络安全背景 网络就是实现不同主机之间的通讯。网络出现之初利用TCP/IP协议簇的相关协议概念&#xff0c;已经满足了互连两台主机之间可以进行通讯的目的&#xff0c;虽然看似简简单单几句话&#xff0c;就描述了网络概念与网络出现的目的&#xff0c;但是为了真正实现两台主机…