05 2022 档案
摘要:1.无人驾驶车介绍 无人驾驶对安全精度和各种复杂技术的集成程度要求非常高,因此到目前为止,在民用领域里,无人驾驶车辆的技术难度之高是数一数二的。 做一辆无人驾驶车肯定要比做一个手机APP要复杂很多倍。无人驾驶车到底包括哪些核心技术呢,接下来我将为大家一一讲解。 备受大家热捧的无人驾驶车并不是一辆普通
阅读全文
摘要:Apollo进阶课程 ① | 带你纵览无人车 (qq.com)
阅读全文
摘要:1.线性二次调节器 线性二次调节器(Linear Quadratic Regulator 或LQR)是基于模型的控制器,它使用车辆的状态来使误差最小化。Apollo使用LQR进行横向控制。横向控制包含四个组件:横向误差、横向误差的变化率、朝向误差和朝向误差的变化率。变化率与导数相同,我们用变量名上面
阅读全文
摘要:1.简介 控制是驱使车辆前行的策略。对于汽车而言,最基本的控制输入为转向、加速和制动。通常,控制器使用一系列路径点来接收轨迹。控制器的任务是使用控制输入让车辆通过这些路径点。 首先,控制器必须准确,这意味着它应避免偏离目标轨迹。这对于安全来说,尤为重要。即使路面潮湿或者道路比较陡峭,控制器任需要准确
阅读全文
摘要:1.路径-速度解耦规划 路径-速度解耦规划将轨迹规划分为两步:路径规划、速度规划。首先在路径规划步骤中生成候选曲线,这是车辆可行驶的路径。使用成本函数对每条路径进行评估,该函数包含平滑度、安全性、与车道中心的偏离以及开发者想要考虑的其他任何因素。然后按成本对路径进行排名并选择成本最低的路径。 下一步
阅读全文
摘要:1.规划简介 路径规划是指通过一定的规则,找到一条通过世界的路径来达到我们想去的地方。规划的第一步是路线导航,侧重于研究如何从地图上的A点前往B点。在路线导航时,将地图数据作为输入,并输出可行驶路径。手机导航系统是路线导航的一个示例。在Apollo中,可以通过路线规划模块处理该任务。一旦我们构建出高
阅读全文
摘要:1.简介 无人车是在许多物体间穿梭行驶,其中许多物体本身就是一直在移动的,比如像其他汽车、自行车、行人。无人车需要预测这些物体的行为,这样才能确保做出最佳决策。在环境中为所有其他的物体做出预测,这些共同形成了在一段时间内的预测路径,在每一个时间段内会为每一辆汽车重新计算预测他们新生成的路径,这些预测
阅读全文
摘要:1.卷积神经网络 卷积神经网络CNN是一种人工神经网络,它对感知问题特别有效,CNN接受多维输入包括定义大多数传感器数据的二维和三维形状。如果使用标准神经网络对图像进行分类,则需要通过一种方法将图像连接到网络的第一层,这属于一维。标准做法是通过将图像矩阵重塑为一个矢量,并在一个大行中连接所有列,将图
阅读全文
摘要:1.感知的概述 我们人类天生就配备多种传感器,眼睛可以看到周围的环境,耳朵可以用来听,鼻子可以用来嗅,也有触觉传感器,甚至还有内部传感器,可以测量肌肉的偏转。通过这些传感器,我们可以感知到我们周围的环境。我们的大脑每分每秒都在进行数据处理,大脑的绝大部分都是用于感知。 现在,无人驾驶车辆也在做这些事
阅读全文
摘要:1.定位的概述 在日常生活中假设你手中有一张高精地图,定位的任务是确定你的车辆在这张高精地图上的位置。 大多数时候,我们使用GPS来进行定位,但是GPS对于无人车来说还不够精确。因此我们必须找到另一种方法来更准确地确定车辆在地图上的位置。最常用的方法是将汽车传感器所看到的内容与地图上所显示的内容进行
阅读全文
摘要:1.高精地图与传统地图 当我们开车时,打开导航地图通常会给我们推荐几条路线,甚至会显示道路是否拥堵以及每条路线将花费多长时间、交通管制,例如交通信号灯或限速标志等,我们会根据地图提供的信息来决定是在行驶中直行、左转还是右转以及对周围驾驶环境的评估。 而无人驾驶车缺乏人类驾驶员固有的视觉和逻辑能力。如
阅读全文
摘要:第一课,无人驾驶概览 本节课从无人车的运作方式、Apollo开放平台架构、参考车辆与硬件平台、开源软件架构、云服务等方面,带大家全面了解Apollo及无人驾驶,开启无人驾驶入门的学习路径。 1.全面了解自动驾驶主要模块 Apollo 技术框架由四个层面组成,参考车辆平台、参考硬件平台、开源软件平台、
阅读全文
摘要:这是作用域,如果想在类的外部引用静态成员函数,或在类的外部定义成员函数都要用到。使用命名空间里的类型或函数也要用到(如:std::cout, std::cin, std::string 等等) class Test{ public: Test(); static void print() { std
阅读全文
摘要:static 是c++中很常用的修饰符,它被用来控制变量的存储方式和可见性,下面我将从 static 修饰符的产生原因、作用谈起,全面分析static 修饰符的实质。static 的两大作用:一、控制存储方式: static被引入以告知编译器,将变量存储在程序的静态存储区而非栈上空间。 1、引出原因
阅读全文
摘要:在Ubuntu系统中,挂载网络源,更新库时发生错误:updates for this repository will not be applied。 原因:网络和本机系统时间不一致,所以导致无法更新源 解决办法:把本机的系统时间改一下就可以了 修改时间命令: 1.tzselect 2.依次选择4->
阅读全文
摘要:sudo apt-get -y install tree tree
阅读全文
摘要:https://developers.google.com/protocol-buffers/docs/proto
阅读全文
摘要:toCvCopy复制数据并返回复制数据地址指针cv_bridge::CvImagePtr toCvShare获取数据并返回源数据地址指针cv_bridge::CvImageConstPtr 参考:(27条消息) toCvCopy与toCvShare的区别_ChrisLiu__的博客-CSDN博客
阅读全文
摘要:Nvidia自带一个命令行工具nvidia-smi 可以查看显存的使用情况: 表头释义: Fan:显示风扇转速,数值在0到100%之间,是计算机的期望转速,如果计算机不是通过风扇冷却或者风扇坏了,显示出来就是N/A;Temp:显卡内部的温度,单位是摄氏度;Perf:表征性能状态,从P0到P12,P0
阅读全文
摘要:指定要编译的功能包(多个用分号相隔) catkin_make -DCATKIN_WHITELIST_PACKAGES="需要单独编译的包名" 例如 catkin_make -DCATKIN_WHITELIST_PACKAGES="hdmap;common" 但是如再次使用catkin_make编译所
阅读全文
摘要:使用编程语言进行编程时,需要用到各种变量来存储各种信息。变量保留的是它所存储的值的内存位置。这意味着,当您创建一个变量时,就会在内存中保留一些空间。 您可能需要存储各种数据类型(比如字符型、宽字符型、整型、浮点型、双浮点型、布尔型等)的信息,操作系统会根据变量的数据类型,来分配内存和决定在保留内存中
阅读全文
摘要:程序的注释是解释性语句,您可以在 C++ 代码中包含注释,这将提高源代码的可读性。所有的编程语言都允许某种形式的注释。 C++ 支持单行注释和多行注释。注释中的所有字符会被 C++ 编译器忽略。 C++ 注释一般有两种: // - 一般用于单行注释。 /* ... */ - 一般用于多行注释。 注释
阅读全文
摘要:C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。现在让我们简要地看一下什么是类、对象,方法、即时变量。 对象 - 对象具有状态和行为。例如:一只狗的状态 - 颜色、名称、品种,行为 - 摇动、叫唤、吃。对象是类的实例。 类 - 类可以定义为描述对象行为/状态的模板/蓝图。 方法
阅读全文
摘要:本地环境设置 如果您想要设置 C++ 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C++ 编译器。 文本编辑器 这将用于输入您的程序。文本编辑器包括 Windows Notepad、OS Edit command、Brief、Epsilon、EMACS 和 vim/vi。 文本编辑
阅读全文
摘要:原文:(27条消息) Ubuntu在apt update时发生错误解决办法_Var521的博客-CSDN博客_apt update 报错 1.tzselect 2.依次选择4->9->1->1 #Asia->China-> Beijing->yes sudo date -s MM/DD/YY //修
阅读全文