百度Apollo视频学习笔记

news2024/11/23 15:50:25

APOLLO视频学习笔记

一、总览

无人驾驶车的运作方式

在这里插入图片描述

五个核心部件

  • 计算机视觉:弄清楚周围的世界是怎样的
  • 传感器融合: 合并来自其他传感器的数据,如激光和雷达,更加深入了了解我们周围的环境
  • 定位:精确地确定我在世界所处的位置
  • 路径规划:绘制这个世界的路线
  • 控制:让我们汽车沿着路径规划期间建立的轨道行驶

二、地图

高精地图

高精地图能够到达厘米级别

无人驾驶车确定自己的位置:先从各类传感器收集数据,(如摄像机图像数据、激光雷达收集的三位点云数据),经过预处理(消除不准确或质量差的数据)、坐标转换(将不同视角的数据转换)和数据融合(各种车辆和传感器数据合并)

高精地图会告知在特定位置寻找停车标志,传感器就可以集中在该位置检测停车标志,这叫感兴趣区域或ROI,可节省资源

高精地图会记录交通信号灯的精确位置和高度,从而大大降低了感知难度,减少计算需求

高精地图构建:

  • 数据采集:专门调查车辆采集(GPS、惯性测量单元、激光雷达、摄像机)
  • 数据处理:对收集到的数据进行整理分类和清洗
  • 对象检测:
  • 手动验证
  • 地图发布

三、定位

将汽车传感器(测量车辆与静态障碍物之间的距离)所看到的内容与地图显示的内容进行比较

通过三角测量,GPS:卫星、控制站、GPS接收器

惯性导航:IMU

激光雷达定位:运用算法匹配点云,迭代最近点(或ICP)是一种方法;滤波算法消除冗余信息

卡尔曼滤波:用于根据我们在过去的状态和新的传感器测量结果预测我们当前的状态

视觉定位:(优:数据方便获取 缺:缺乏三维信息和对三维地图的依赖)

粒子滤波:使用粒子或点来估计最可能的位置

传感器支持GNSS和LiDAR定位,GNSS定位输出位置和速度信息 LiDAR定位输出位置和行进方向信息

四、感知

汽车感知周围环境,通过计算机视觉(CNN:卷积神经网络)

检测:找出物体在环境中的位置

分类:明确对象是什么

跟踪:随时间的推移观察移动物体

语义分割:将图 像中的每个像素与予以类别进行匹配

无人驾驶使用什么算法对障碍物进行检测和分类?

先使用检测CNN来查找图像中对象位置,对图像中的位置进行定位之后,将图像发给另一个CNN进行分类

追踪:解决遮挡问题,保留身份,以及预测之后的位置和速度

**语义分割:**涉及对图像的每个像素进行分类,用于尽可能地详细了解环境,并确定可行使环境。依赖于FCN(全卷积网络)

卡尔曼滤波用于融合输出,预测更新

卷积神经网络

五、预测

为运动的物体做出预测

实时性、准确性

预测方式:基于模型的预测、数据驱动预测

六、规划

  • 路线导航

输入:地图、我们在地图上的位置、目的地

A*路径查找处理算法:从开始节点到候选节点g-value,从候选节点到结束节点h-value,两个value相加,最小的为下一个位置,然后重复计算

轨迹生成:生产由一系列路径点所定义的轨迹

Frenrt框架,s代表沿道路的距离,纵坐标 d代表与纵向线的位移,横坐标

路径规划:生成候选曲线,使用成本函数对每条路径进行评估

速度规划:速度曲线,

成本函数:与车道中心的偏离、与障碍物的距离、速度和曲率的变化

巡航、跟随、停止

ST(纵向偏移、时间坐标) SL(横向偏移、时间坐标)

七、控制

控制是驱使车辆前行的策略,最基本的控制输入为转向、加速和制动

控制器:必须准确、具备可行性、平稳度

控制器预计又两种输入:目标轨迹、车辆状态

PID控制是线性算法(对于非常复杂的系统不行),只需要知道与目标轨迹的误差大小,P表示比例,D致力于使运动处于稳定状态,I表示积分,负责纠正车辆的任何系统性偏差

在这里插入图片描述

LQR(线性二次调节器)是基于模型的控制器,使用车辆的状态是误差最小化,Apollo使用LQR横向控制

MPC:

  • 建立车辆模型
  • 使用优化引擎计算有限时间范围内的控制输入
  • 执行第一组控制输入

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

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

相关文章

一级建造师执业资格考试--工程法规--速学36记--联想法

第一记:法的效力层级 第二记:法人的分类 【速记方法】口诀:赚钱营利和特别 关键词:营利、特别 【速记内容】 1、营利法人:以取得利润并分配给股东等出资人为目的成立的法人,为营利法人; 如有限责任公司、股份有限公司。经依法登记…

什么牌子电容笔性价比高?iPad触屏笔推荐

电容笔已经成为日常生活中不可或缺的一部分。它可以用于书写,绘画,甚至玩游戏。使用电容笔可以代替传统无纸化书写,提高工作效率。市面上有许多不同价格的电容笔品牌可供选择。本文将介绍四款性价比高的平替电容笔,有需要入手的小…

常用的三种拖拽方法(内置方法 + 接口 + Event Trigger组件)

前言 在Unity中实现拖拽的方法有多种,以下是几种常见的方法和它们的优缺点: Input.GetMouseButtonDown Input.GetMouseButtonDown 方法可以监测用户鼠标按键的点击事件,通过检测鼠标按钮的状态来实现拖拽效果。用户通过鼠标进行拖拽操作。…

Web基本概念

一、前言 World Wide Web的简称,是一个由许多互相链接的超文本组成的系统,通过互联网访问 (为用户提供信息) 静态网页 仅适用于不能经常更改内容的网页; 动态网页 网络编程技术创建的页面;通过在传统的静态…

MongoDB安装与使用

目录 一、MongoDB介绍与安装 什么是MongoDB 为什么要用MongoDB MongoDB下载 MongoDB安装完成 二、MongoDB Compass MongoDB Compass使用 三、使用mongoose连接数据库 使用MongoDB Compass 创建数据库 使用mongoose 连接数据库 每日一课:MongoDB 常用命令…

Vue项目打包dist目录介绍

如下 CSS目录: ① .css文件是项目要用到的css文件,当你做webpack打包的时候,会把所有的css样式打包到这里 ② .css.map文件是一个Source map文件,Source map就是一个信息文件,里面储存着位置信息。也就是说,转换后的代…

ChatGPT扩展系列之使用pandora本地搭建ChatGPT

ChatGPT扩展系列之使用pandora本地搭建ChatGPT 1. 为什么要本地搭建 主要解决使用上的几个痛点,我们可以看一下下面就是我们最常遇到的几个问题,这里我们重点提一下就是我们本地搭建好了之后,我们获取Access Token,这个Token的有效期长达14天,也就是这14天中,我们都不需…

【沐风老师】3DMAX径向对称插件使用方法应解

3DMAX径向对称插件使用教程 3DMAX径向对称插件,允许你对径向结构建模并查看最终结果。它的功能类似于3dMax自带的“对称”修改器,但它可以在三个轴的任意角度径向对象,这可以创造出很多我们意想不到的建模艺术效果,也可以理解它是…

【前端 - HTML】第 6 课 - 表单标签

欢迎来到博主 Apeiron 的博客,祝您旅程愉快 ! 时止则止,时行则行。动静不失其时,其道光明。 目录 1、缘起 2、表单标签 2.1、input 标签基本使用 2.2、input 标签占位文本 2.3、单选框 radio 2.4、上传文件 2.5、多选框 …

Vue.js中的动态组件和异步组件

Vue.js中的动态组件和异步组件 在Vue.js中,动态组件和异步组件是两个常用的技术,用于处理动态加载和渲染组件的需求。虽然它们都可以实现动态加载和渲染组件的功能,但它们的实现方式和使用方法有所不同。本文将详细介绍Vue.js中的动态组件和…

短视频账号矩阵系统技术开发难度之.框架底层逻辑

申请流程:注册官方开放平台账号----申请服务商-----关联应用----申请权限-----等待审核通过 接入开发------开发功能列表: 数据归纳箱(账号数据对比概览内含视频总数、播放总数、点赞总数、分享总数、粉丝总数数据统计概览统计)…

CMU15-445 2022 Fall 通关记录 —— Project 0

Project 0 Project #0 - C Primer | CMU 15-445/645 :: Intro to Database Systems (Fall 2022) — 项目 #0 - C 入门 | CMU 15-445/645 :: 数据库系统简介(2022 年秋季) 前期准备 为完成该项目做的一些准备: 创建个人项目FarewellYi/BusT…

【半监督医学图像分割 2023 CVPR】BCP

【半监督医学图像分割 2023 CVPR】BCP 论文题目:Bidirectional Copy-Paste for Semi-Supervised Medical Image Segmentation 中文题目:双向复制粘贴半监督医学图像分割 论文链接:https://arxiv.org/abs/2305.00673 论文代码:http…

EXCEL和VBA里的通配符和转义符

1 EXCEL里的通配符 1.1 EXCEL里常见通配符 通配符必须是英文半角的,中文输入下的不行!* 可代表任意数量的字符? 可代表任一个的字符 1.2 使用举例 EXCEL的查找框,也可以使用 通配符只有部分内置函数可…

如何做架构设计?

也许您对软件设计存在一些疑惑,或者缺乏明确思路,那么本文将非常适合您。 1、设计很重要 我们可以看一下周边的事物,那些好的东西,他们并不会天然存在,都是被设计出来的,因此设计就是创造和改善事物的重要…

JavaSE03_流程控制语句

JavaSE-03 [流程控制语句] 第一章 流程控制 1.1 流程概述 在一个程序执行的过程中,每条语句的执行顺序对程序的结果是由直接影响的,也就是,语句的流程对运行结果有着直接的影响,所以,必须清楚知道每条语句的执行流程…

【Python】Python系列教程-- Python3 命名空间和作用域(二十九)

文章目录 前言作用域全局变量和局部变量global 和 nonlocal关键字 前言 往期回顾: Python系列教程–Python3介绍(一)Python系列教程–Python3 环境搭建(二)Python系列教程–Python3 VScode(三&#xff09…

Vue.js 中的 v-bind 和 v-on 简写

Vue.js 中的 v-bind 和 v-on 简写 在 Vue.js 中,v-bind 和 v-on 是两个常用的指令,用于绑定属性和事件。在本文中,我们将介绍 v-bind 和 v-on 的简写形式,以及如何使用它们。 v-bind 简写形式 在 Vue.js 中,v-bind 用…

Java 进阶—死锁造成原因及其解决

今天我们来了解一下线程死锁,死锁很好理解,从字面上来看就是锁死了,解不开,在大街上看到一对卧龙凤雏的情侣,怎么说,你们给我锁死,不要分开去霍霍别人 之前我们不是说过,解决线程安…

GoogleTest之创建Mock

目录 MOCK_METHODmock方法的访问属性mock非虚函数mock自由函数Nice/Strict/Naggymock方法简化参数mock具体类的替代方法代理给fake mock是用来模拟对象,隔离边界的一种测试方法,以便在开发阶段不需要依赖第三方或其他依赖项可以进行独立的测试。 MOCK_ME…