python 实现A*算法
摘要:A*作为最常用的路径搜索算法,值得我们去深刻的研究。路径规划项目。先看一下维基百科给的算法解释:https://en.wikipedia.org/wiki/A*_search_algorithm A *是最佳优先搜索它通过在解决方案的所有可能路径(目标)中搜索导致成本最小(行进距离最短,时间最短等)
阅读全文
posted @
2018-05-31 17:04
未完代码
阅读(6676)
推荐(0) 编辑
uda 4.C++面向对象编程
摘要:Python vs C++ 对比课 Python vs C++ 对比课 Python vs C++ 对比课 Python vs C++ 对比课 Python vs C++ 对比课 在本课中,你将学习如何用 C++ 编写类。像以前的课程一样,你需要比较 Python 的编程方式和 C++ 中编程方式的
阅读全文
posted @
2018-05-23 17:00
未完代码
阅读(383)
推荐(0) 编辑
uda 3.C++二维向量
摘要:二维向量 接下来,你将使用向量来存储矩阵。就像 Python 使用列表列表来存储矩阵一样,C++ 使用的是向量的向量。用于声明二维向量的语法有点复杂。 假设你正在使用 Python,并且想存储一个 3 乘 5 的矩阵。你可以这么写: matrixexample = [[2,1,5], [7,9,2]
阅读全文
posted @
2018-05-23 16:41
未完代码
阅读(1474)
推荐(0) 编辑
uda 2.C++ 向量
摘要:向量与矩阵代数 学习得不错!你已经学习了大量 C++ 句法。你也许注意到了,使用 C++ 编程无疑比使用 Python 困难。C++ 专为快速执行而设计,使用这门语言,你可以采用许多不同方式达到同一结果。而使用 Python 写代码的速度更快,但执行速度也有所下降。 最后,为了翻译你之前在本纳米课程
阅读全文
posted @
2018-05-23 16:39
未完代码
阅读(285)
推荐(0) 编辑
uda 1.C++ 函数
摘要:函数:Python vs C++ 在 Python 和 C++ 中,函数的作用相同;函数把语句组合在一起,执行某种任务。函数可以帮助你避免重复地复制和粘贴相同的代码。 函数编写的语法有些不同,主要有三个原因: Python 通过查看回车符和换行符来检测代码行的结束。C++ 使用分号实现这一功能。 P
阅读全文
posted @
2018-05-23 16:21
未完代码
阅读(228)
推荐(0) 编辑
c++中单引号和双引号的区别
摘要:在C++中单引号表示字符,双引号表示字符串。 例如 :在定义一个数组的时候string a [5]={"nihao","henhao","good","en","h"}; 定义的是一个字符串数组,这是字符串元素要用双引号。 char b[5]={'a','b','c','d','e'}; 定义的是一
阅读全文
posted @
2018-05-19 11:08
未完代码
阅读(7241)
推荐(1) 编辑
C++ 数组
摘要:1.数组的定义 数组由于表示一组数值,例如: char arr[10]; arr 为数组名,char 为数组类型。表示有5个char型数据。 数组的意义,相当于把N个相同类型的变量排列在一起。 2.数组的长度 数组的长度在中括号中指定,必须是一个整形常量。 如:int arr[12]; 不能用变量来
阅读全文
posted @
2018-05-19 10:45
未完代码
阅读(397)
推荐(0) 编辑
C++ 输出到文本文件
摘要:输出到文本文件 就像从文件输入数据一样,你也可以将数据输出到文件。假设你有一个矩阵,你想把结果保存到一个文本文件中。你会看到,将矩阵输出到文件的代码和将矩阵输出到终端的代码非常相似。 你需要在本地运行此代码才能看到输出的文本文件。 你可以看到,你需要创建一个 ofstream 对象,然后使用该对象来
阅读全文
posted @
2018-05-18 16:30
未完代码
阅读(10311)
推荐(0) 编辑
C++中文本的读入
摘要:读入文本文件 标准库包含逐行读取文本文件的功能。然后,你可以一次一行地解析文本文件的每一行。 比如说,你有文件,其中使用数字和逗号表示一个 3x4 的矩阵: 你想读入这个文件,并创建一个二维矢量来表示矩阵。下面是参考代码。你可以在下面运行代码,看看它是否可以运行。 下面是从文本文件读取数据的示范。代
阅读全文
posted @
2018-05-18 16:26
未完代码
阅读(353)
推荐(0) 编辑
C++ 输入和输出
摘要:但是,如何从终端获得用户输入?或者,如何将文件中的数据输入到程序中或将结果写入文件? cin 但是,如何从终端获得用户输入?或者,如何将文件中的数据输入到程序中或将结果写入文件? 但是,如何从终端获得用户输入?或者,如何将文件中的数据输入到程序中或将结果写入文件? 但是,如何从终端获得用户输入?或者
阅读全文
posted @
2018-05-18 16:12
未完代码
阅读(806)
推荐(0) 编辑
C++构造函数和文件组织
摘要:构造你的函数 在 main() 上方声明函数,并在 main 下方定义函数 在 main() 上方同时声明并定义函数。 随着 C++ 程序变得越来越复杂,你可能需要将代码分成多个文件。分开保存函数定义和声明有助于分割并组织你的代码。 我们看看函数测验中的这段代码。 代码被组织成两个文件,而不是像以前
阅读全文
posted @
2018-05-18 16:05
未完代码
阅读(377)
推荐(0) 编辑
Linux中使用gcc编译文件
摘要:一个项目中可能有多个cpp文件,在linux下编译执行过程如下: 即可一起编译两个文件,然后执行该程序。
阅读全文
posted @
2018-05-18 15:54
未完代码
阅读(246)
推荐(0) 编辑
linux下修改gcc编译器版本
摘要:可以使用如下命令行来让 gcc 选择不同的 C++ 版本: g++ -std=c++11 main.cpp 在你的系统中,由于编译器或是编译器设定上的差别,操作也许有所不同。 可以使用如下命令行来让 gcc 选择不同的 C++ 版本: g++ -std=c++11 main.cpp 在你的系统中,由
阅读全文
posted @
2018-05-18 15:42
未完代码
阅读(961)
推荐(0) 编辑
include 语句中使用双引号与括号有什么区别?
摘要:Include 的语法 你在学习如何构造函数时,看到了不同的 include 语句: # include <iostream> # include "distance.h" 以下是一个测验,帮助你回忆使用引号和使用括号之间的区别: Include 的语法 你在学习如何构造函数时,看到了不同的 inc
阅读全文
posted @
2018-05-16 10:06
未完代码
阅读(1130)
推荐(0) 编辑
第三期 轨迹生成——4.运动规划算法的类型
摘要:有很多类运动规划算法,今天我们将关注这些类中的一个, 但值得一提的是其他类。组合方法通常包括将空闲空间分成几部分 小件和第一次解决连接这些原子元素的运动计划问题。 他们非常直观地找到最初的近似解决方案,但它们通常不适合大型环境。 接下来,潜在领域是反应方法。 每个障碍都将创造一种反重力场使车辆难以接
阅读全文
posted @
2018-05-07 14:09
未完代码
阅读(2641)
推荐(0) 编辑
第三期 轨迹生成——3.运动规划算法的属性
摘要:在讨论计划算法时,有两个重要的属性我们想谈谈。第一个被称为完整性。 这意味着如果通过乘法问题存在解决方案,规划者会发现它。 如果解决方案不存在,计划者将终止并报告没有解决方案。 所以,请考虑以下两种情况。 在第一种中,完整的算法可能正确地将其识别为解决方案。 而第二种,该算法会终止并告诉我们没有解决
阅读全文
posted @
2018-05-07 13:48
未完代码
阅读(398)
推荐(0) 编辑
第三期 轨迹生成——2.运动规划问题
摘要:在第一课中, 你看到了一些最好的规划算法,解决了运动规划问题。但我们从未正式定义过这个问题。我想现在就这样做。 现在,有一个词你可能会遇到很多如果你开始阅读关于运动规划算法的材料。 该词定义为“配置空间”. 给定世界中所有可能的机器人配置。考虑你在第一课中看到的迷宫词,这些词都是2D网格, 机器人配
阅读全文
posted @
2018-05-07 12:25
未完代码
阅读(428)
推荐(0) 编辑
第三期 轨迹生成——1.课程概述
摘要:嗨,我是伊曼纽尔。在本课中,我将教你关于连续轨迹规划。更具体地说,如何生成可拖动的轨迹。 在我们开始之前,让我简要介绍一下本课程。 首先,我们将定义运动规划问题,并讨论关于运动规划算法的一些重要概念和优先级。 然后,我们将快速回顾A * 为了让您为第一个新算法做好准备,我们将介绍称为Hybrid A
阅读全文
posted @
2018-05-07 12:07
未完代码
阅读(500)
推荐(0) 编辑
第三期 行为规划——14.计划计算时间
摘要:在课程开始的时候,你已经看到了这张图。现在你可能会猜测行为模块的原因更低的频率比例如轨迹模块更新。 这是由于高层做出的决定行为模块花费更长的时间范围,只是不会经常更改。 但轨迹模块仍然依靠我们的决定和整个系统体系结构的重要性不允许比较慢的模块 行为计划者记录其他更快速组件的正常运行。让我们花一秒钟来
阅读全文
posted @
2018-05-07 11:49
未完代码
阅读(243)
推荐(0) 编辑
第三期 行为规划——12 成本函数设计和权重调整
摘要:成本函数设计的困难: 1.包括在不解决见问题的情况下解决新的问题。当你在自驾车上工作时, 你可能会发现车辆行为合理,除了一些特定的情况。也许它在红绿灯左转时没有足够的攻击性。 所以,为了解决这个问题,您可以添加新的成本函数,调整现有的或修改权重。 但每次你做,你有可能会介绍有些将变革转化为已经发挥作
阅读全文
posted @
2018-05-07 11:30
未完代码
阅读(420)
推荐(0) 编辑
第三期 行为规划——11.在C ++中实现第二个成本函数
摘要:在大多数情况下,单一成本函数不足以产生复杂的车辆行为。在这个测验中,我们希望您在C ++中实现更多的成本函数。我们稍后会在本课中使用这两个C ++成本函数。这个测验的目标是创建一个成本函数,使车辆在最快的车道中行驶,给出几个行为选项。我们将为该功能提供以下四个输入: 目标速度:目前设置为10(无单位
阅读全文
posted @
2018-05-07 10:28
未完代码
阅读(247)
推荐(0) 编辑
第三期 行为规划——10.用C++实现变道函数
摘要:在之前的测验中,我们设计了一个成本函数,高速公路上到达一个目标选择一条车道。 公式中,Δd是车道间的纵向距离,Δs是车辆到目标之间的距离。 在这个测验中,需要用c++实现代价函数,但是这里有一个变换,有限状态机包含规划向右变道的车道(PLCR),和规划向左变道的车道(PLCL). 所以代价函数要符合
阅读全文
posted @
2018-05-07 10:19
未完代码
阅读(310)
推荐(0) 编辑
第三期 行为规划——9. 车道变换成本函数
摘要:在上图中,蓝色自动驾驶赛车(左下角)正在努力达到目标(金星)。目前它在正确的车道上,但是绿色的车行驶非常缓慢,所以它考虑是应该执行车道变换(LC)还是仅保持车道(KL)。 这些选项显示为带有虚线轮廓的浅蓝色车辆。如果我们想要设计一个处理车道选择的成本函数,那么确定相关变量是有用的。在这种情况下,
阅读全文
posted @
2018-05-07 09:35
未完代码
阅读(401)
推荐(0) 编辑
第三期 行为规划——8.速度惩罚的代价函数
摘要:在我们想要的时候获得转换的关键部分,他们要设计合理的成本函数。 我们想惩罚和奖励正确的事情。我将通过一个例子来说明,您可能会考虑设计成本函数的一种方法。 我们来考虑如何设计车速的成本函数。一方面,我们想快速到达目的地,但另一方面,我们不想违法。 我们必须控制的基本数量是汽车所需的速度。有些速度更有高
阅读全文
posted @
2018-05-05 17:06
未完代码
阅读(620)
推荐(0) 编辑
第三期 行为规划——7.状态转移方程的伪代码
摘要:行为规划伪代码 实现转换函数的一种方法是为每个可访问的“下一个状态”生成粗略轨迹,然后找到最佳状态。为了“找到最好的”,我们通常使用成本函数。 然后我们可以计算出每条粗略轨迹的代价是多大,然后选择成本轨迹最低的状态。 稍后我们会更详细地讨论这一点,但首先仔细阅读下面的伪代码,以更好地了解转换函数的工
阅读全文
posted @
2018-05-05 16:39
未完代码
阅读(342)
推荐(0) 编辑
第三期 行为规划——6.输出状态转换方程的量
摘要:你刚才看到我们选择使用的状态会如何影响车辆的行为。但是要决定这些状态如何过渡以及有哪些投入 过渡功能的使用是至关重要的一个有限状态机的实际实现。对于自动售货机的例子,唯一的投入是硬币。 自驾车更加复杂。所以问题是,我们需要将什么数据作为输入传入我们的转换函数。检查所有适用。 以上五个状态都需要
阅读全文
posted @
2018-05-05 16:31
未完代码
阅读(212)
推荐(0) 编辑
第三期 行为规划——5.自主驾驶车辆的状态
摘要:现在让我们考虑一下我们可能想要在高速公路上驾驶汽车的状态。 从头开始创建一个有限状态机。保持简单。如果我们是唯一一辆路上的车,会发生什么? 我想我们需要一个状态来正常待在你的车道上。 如果我们正在改变车道,我们想要一个状态来代表这一点。或者,也许两个状态,因为改变车道左侧不同于右侧。 好的。我猜。如
阅读全文
posted @
2018-05-05 14:42
未完代码
阅读(353)
推荐(0) 编辑
第三期 行为规划——4.形式化FSM
摘要:让我们考虑一个简单的自动售货机,其中一切花费20美分。假设这台自动售货机只需要镍和硬币,但没有更大或更小。 然后,我们可以模拟状态这台自动售货机以已存入的金额为准。起始状态将为零美分。有两种可能发生。 我们可以投入镍,五美分或可以投入一美元,以使状态达到10美分。 在我们思考之前,其余的过渡都相当简
阅读全文
posted @
2018-05-05 14:13
未完代码
阅读(242)
推荐(0) 编辑
第三期 行为规划——3.有限状态机
摘要:在前一届政府中,导航员就接下来要做的事提出了各种建议。他们给的指示是关于改变车道的事情, 车道之后,转弯等。但实际上并没有那么多类型的您期望从导航器听到的建议。在本课中,我们将教授一种行为规划方法 使用称为有限状态机的东西来解决行为规划问题。有限状态机根据离散状态的有限集合做出决定。 在这个例子中五
阅读全文
posted @
2018-05-05 13:51
未完代码
阅读(343)
推荐(0) 编辑
第三期 行为规划——2.行为问题
摘要:想象一下,你和你的朋友在一个城市开车。你有一个你正试图达成的目标。你坐在乘客座位上,你的朋友正在开车。 您将该目标插入Google地图和您得到一些能够让你到达目的地的路线。司机不应该关心具体路线的细节。 对,因为司机相信你的行为,作为导航员,会告诉他们他们需要做什么样的动作,而且是 了解到他们只是负
阅读全文
posted @
2018-05-05 12:21
未完代码
阅读(250)
推荐(0) 编辑
第三期 行为规划——1.课程大纲
摘要:如果你考虑数据中的所有数据流一辆以最快时间尺度操作的自驾车。频率略低于Sensor Fusion的频率。 只比你有本地化和低您将在下一课中了解更多有关轨迹规划。接下来是您刚刚了解的预测。 然后在此图的顶部是具有最低更新率的行为计划。行为规划的输入来自于预测模块和本地化模块。 两者都从传感器融合中获得
阅读全文
posted @
2018-05-05 12:06
未完代码
阅读(315)
推荐(0) 编辑
状态和面向对象编程——9.一直在移动
摘要:一直在移动 无人驾驶车会不断监视自身状态。所以,移动和定位必须平行进行。 如果我们使用卡尔曼滤波器进行定位,这意味着,随着车辆的移动,卡尔曼滤波器必须不断提供新的状态估计值。这可以保证车辆始终 知道它的位置。 一直在预测状态 在下面的代码中,给出了一个 predict_state 函数,它接受当前状
阅读全文
posted @
2018-05-05 08:34
未完代码
阅读(277)
推荐(0) 编辑
第三期 预测——Frenet 坐标
摘要:Frenet坐标 在讨论过程模型之前,我们应该提到“Frenet Coordinates”,它是一种以比传统x,y笛卡尔坐标更直观的方式表示道路位置的方式。 用Frenet坐标,我们使用变量 s和d描述车辆在道路上的位置。该s坐标表示沿道路的距离(也称为纵向位移)和d坐标表示道路上的左右位置(也称为
阅读全文
posted @
2018-05-04 16:14
未完代码
阅读(8899)
推荐(0) 编辑
第三期 预测——7.思考基于模型的方法
摘要:数据驱动的方法可能非常有用特别是当我们获得大量的培训数据时。但是在某些方面,纯粹的数据驱动方法是天真的,因为他们依赖 仅根据历史证据来预测未来可能的行为。理想情况下,我们还希望在我们的预测中包括,所有关于驾驶员行为的见解,物理或车辆动力学。 这是基于模型的方法可以帮助的地方。这些方法通常工作的方式如
阅读全文
posted @
2018-05-04 16:04
未完代码
阅读(513)
推荐(0) 编辑
第三期 预测——6.轨迹聚类2在线预测
摘要:一旦我们的聚类算法确定了聚类和原型轨迹,在这种情况下,每个具有三个原型轨迹的三个群集, 我们可以开始对在路上遇到的车辆进行在线预测。首先,我们观察了车辆的部分轨迹。接下来我们比较一下 每个集群原型轨迹的相应部分。这个比较是使用完成的这是我们之前用来执行聚类的相同度量。 每个群集的信念基于更新,部分轨
阅读全文
posted @
2018-05-04 15:33
未完代码
阅读(2477)
推荐(0) 编辑
第三期 预测——5.数据驱动示例 轨迹簇
摘要:机器学习算法有很多种方法,用于纯数据驱动的预测方法。既然你已经完成了机器学习课程, 我们不会深入研究这些技术。但在这个视频中,我想向您展示一个具有代表性的例子,这些算法擅长什么 - 轨迹聚类。 与所有数据驱动的预测技术一样,会有两个阶段。算法从数据中学习模型的离线训练阶段和在线预测阶段, 它使用该模
阅读全文
posted @
2018-05-04 15:08
未完代码
阅读(640)
推荐(0) 编辑
第三期 预测——4.哪个最好
摘要:哪个最好? 这两种方法(基于模型或数据驱动)都不比其他方法好,但在某些情况下,其中一种比另一种更有用。考虑以下情况以及基于模型或数据驱动的方法是否更有用。 习题1/3 确定潮湿路面上的最大安全转弯速度。 基于模型 数据驱动 提交 习题2/3 预测坐在路上的不明物体的行为。 基于模型 数据驱动 提交
阅读全文
posted @
2018-05-04 14:37
未完代码
阅读(305)
推荐(0) 编辑
第三期 预测——2.输入和输出
摘要:预测的输入和输出 预测模块使用来自传感器融合的地图和数据来生成关于所有其他动态对象可能做的预测。为了更清楚地说明,我们来看一个预测输入和输出的例子(json格式)。 示例输入 - 传感器融合 { "timestamp" : 34512.21, "vehicles" : [ { "id" : 0, "
阅读全文
posted @
2018-05-04 14:33
未完代码
阅读(414)
推荐(0) 编辑
第三期 预测——3 模型和数据驱动方法
摘要:想象一下T形交叉口。蓝色的自动驾驶汽车拉到停车标志,并会左转,但看到这辆绿色的汽车从左边出来。 如果绿色的汽车向右转,这辆蓝色汽车是安全的。但如果绿色汽车正在直行,那么蓝色的汽车应该等待。 我们用基于模型的方法处理这个问题的方式如下。首先,我们会提出两个流程模型,一个直行,一个右转。 我们会用一些简
阅读全文
posted @
2018-05-04 14:26
未完代码
阅读(714)
推荐(0) 编辑
第三期 预测——1.简介
摘要:预测模块的责任就是去做一下内容: 我们将输入的世界地图和来自传感器融合的数据作为输入,并产生一些预测未来的输出我们车辆附近的所有车辆 和其他移动物体,通常这些预测由一组可能的轨迹表示,比如两个虚线箭头。 在这种情况下从绿色车散发出来,每条轨迹的相关概率。 我们将要学习一下内容: 1.概述。 a .高
阅读全文
posted @
2018-05-04 14:10
未完代码
阅读(331)
推荐(0) 编辑
状态和面向对象编程——7.课程大纲
摘要:课程大纲 贯穿本课始终的一个主题是状态的表示和预测,但是我们会分两部分探讨这个想法。 课程大纲 贯穿本课始终的一个主题是状态的表示和预测,但是我们会分两部分探讨这个想法。 课程大纲 贯穿本课始终的一个主题是状态的表示和预测,但是我们会分两部分探讨这个想法。 课程大纲 贯穿本课始终的一个主题是状态的表
阅读全文
posted @
2018-05-04 09:02
未完代码
阅读(151)
推荐(0) 编辑
状态和面向对象编程——7.状态定量
摘要:不同的移动模型 恒定速度 在第一个移动的例子中,你看到了,如果我们假设车辆以 50 米/秒的速度匀速行驶,我们可以预测它的一个新状态:在 150 米处,速度没有变化。 # Constant velocity case # initial variables x = 0 velocity = 50 i
阅读全文
posted @
2018-05-04 09:01
未完代码
阅读(158)
推荐(0) 编辑
状态和面向对象编程——6.运动学
摘要:运动学 运动学是研究物体运动的学科。运动模型也被称为运动学方程,它提供了预测汽车运动所需的全部信息。 让我们来推导一些最常见的运动模型! 运动学 运动学是研究物体运动的学科。运动模型也被称为运动学方程,它提供了预测汽车运动所需的全部信息。 让我们来推导一些最常见的运动模型! 运动学 运动学是研究物体
阅读全文
posted @
2018-05-04 08:59
未完代码
阅读(364)
推荐(0) 编辑
状态和面向对象编程——5.一个不同的模型
摘要:更复杂的移动 现在,我会给你一个更复杂的运动的例子。 假设车辆从同一点出发,即从 0 米标记出发,它向前移动速度为 50 米/秒,但是它同时以20米/平方秒的速度减速。这意味着它的加速度 = -20 m/s^2。 车辆以 50 米/秒的速度移动,并随着时间的推移而减速。 加速度 如果车辆的加速度为-
阅读全文
posted @
2018-05-04 08:58
未完代码
阅读(350)
推荐(0) 编辑
状态和面向对象编程——4.预测状态
摘要:预测状态 在这个测验中,你需要写一个函数,基于一些给定的初始参数,使用运动模型来预测一个新的状态!
阅读全文
posted @
2018-05-04 08:55
未完代码
阅读(266)
推荐(0) 编辑
状态和面向对象编程——3.移动模型
摘要:预测状态 我们来看最后一个例子。 车辆的初始状态在 0 米位置,以 50 米/秒的速度向前移动。 假设车辆以不变的速度前进。 每秒移动 50 米。 所以,三秒钟后,它将达到 150 米标记 处,其速度不会改变(因为恒定速度)! 预测状态 我们来看最后一个例子。 车辆的初始状态在 0 米位置,以 50
阅读全文
posted @
2018-05-04 08:53
未完代码
阅读(248)
推荐(0) 编辑
状态和面向对象编程——2.状态介绍
摘要:什么是状态? 当你对车辆定位时,你关注的只是车辆的位置和移动。 这两者叫做车辆的状态。 任何系统的状态都是我们所关心的一组值。 在我们当前所关注的案例中,车辆的状态包括其当前位置 x 和速度 v 。 在代码中,看起来如下所示: x = 4 vel = 1 state = [x, vel] 预测未来状
阅读全文
posted @
2018-05-04 08:51
未完代码
阅读(267)
推荐(0) 编辑
状态和面向对象编程——1.定位步骤
摘要:定位 所有无人驾驶车要安全畅游全球,都必须经过一系列相同的步骤。 你一直在学习第一步:定位。在车辆能够安全驾驶之前,它们首先要使用传感器和收集的其他数据对它们所处的位置做出最佳估计。 定位 所有无人驾驶车要安全畅游全球,都必须经过一系列相同的步骤。 你一直在学习第一步:定位。在车辆能够安全驾驶之前,
阅读全文
posted @
2018-05-04 08:49
未完代码
阅读(251)
推荐(0) 编辑
C++ 结构体的定义
摘要:struct 结构体名称{ 数据类型 A; 数据类型 B; }结构体变量名; 相当于: struct 结构体名称{ 数据类型 A; 数据类型 B; }; struct 结构体名称 结构体变量名; 这种方式既定义了结构体名称,同时声明了一个结构体变量名。在其它地方也可以通过struct 结构体来再次声
阅读全文
posted @
2018-05-03 17:01
未完代码
阅读(1021)
推荐(0) 编辑
behavior planning——15.cost function design weightTweaking
摘要:Designing cost functions is difficult and getting them all to cooperate to produce reasionable vehicle behavior is hard. some of the difficulties asso
阅读全文
posted @
2018-05-03 15:09
未完代码
阅读(381)
推荐(0) 编辑
behavior planning——14.implement a cost function in C++
摘要:n most situations, a single cost function will not be sufficient to produce complex vehicle behavior. In this quiz, we'd like you to implement one mor
阅读全文
posted @
2018-05-03 12:12
未完代码
阅读(327)
推荐(0) 编辑
behavior planning——13. implement a cost function in C++
摘要:In the previous quizzes, you designed a cost function to choose a lane when trying to reach a goal in highway driving: cost=1−e−∣Δd∣/Δs Here,
阅读全文
posted @
2018-05-03 11:47
未完代码
阅读(315)
推荐(0) 编辑
behavior planning——12.example cost funtion -lane change penalty
摘要:In the image above, the blue self driving car (bottom left) is trying to get to the goal (gold star). It's currently in the correct lane but the green
阅读全文
posted @
2018-05-03 11:33
未完代码
阅读(291)
推荐(0) 编辑
behavior planning——11 create a cost function speed penalty
摘要:A key part of getting transitions to happen when we want them to is the design of reasonable cost functions. we want to penalize and reward the right
阅读全文
posted @
2018-05-03 10:37
未完代码
阅读(270)
推荐(0) 编辑
behavior planning——10 behaior planning pseudocode
摘要:One way to implement a transition function is by generating rough trajectories for each accessible "next state" and then finding the best. To "find th
阅读全文
posted @
2018-05-03 09:30
未完代码
阅读(308)
推荐(0) 编辑
behavior planning——inputs to transition functions
摘要:the answer is that we have to pass all of the data into transition function except for the previous state.
阅读全文
posted @
2018-05-03 09:24
未完代码
阅读(328)
推荐(0) 编辑
卡尔曼滤波——20.卡尔曼预测
摘要:现在你已经明白如何整合测量, 如何整合运动,完成了一维卡尔曼滤波,不过在现实中我们经常遇到多维的情况。 这就涉及到很多因素,举例,并说明为什么在较多纬度状态空间中估测很重要。 假设你有一个x和y的二维空间-比如一幅摄像头图像,或者在我们的例子中 我们可能采用一辆载有雷达的汽车来检测 车辆随着时间变化
阅读全文
posted @
2018-05-03 08:59
未完代码
阅读(5877)
推荐(0) 编辑
卡尔曼滤波——19.卡尔曼滤波器代码
摘要:我们写一个主程序,包括两个函数更新函数和预测函数,然后导入一系列测量和运动数据。 如果初始估计是5,非常好,但我们将其设置为mu=0,且不确定性非常高为sig=10000. 我们假设测量不确定性为常量4,运动不确定性为2. 运动时 你的第一次位置估计应该是4.9.原因在于初始不确定性高,第一次测量值
阅读全文
posted @
2018-05-03 08:36
未完代码
阅读(1822)
推荐(0) 编辑
卡尔曼滤波——18.预测函数
摘要:根据我们的当前的估计和他的方差(mean1,bar1),以及运动及其不确定性(mean2,var2),然后计算更新后的预测、平均数和方差
阅读全文
posted @
2018-05-02 17:49
未完代码
阅读(509)
推荐(0) 编辑
卡尔曼滤波——17.高斯移动
摘要:回顾一下之前的内容,我们知道有一个测量更新和一个运动更新(预测)。 运动更新通过全概率或者一个加法来完成,我们已经解决了比较复杂的情况。 我把它解决了 ,并得出了公式。 并且也用代码实现了这一步。 运动部分不想深入,这是非常简单的一步,让我们写下来。假设你活在这样一个世界里,中心点,这是你对自己所在
阅读全文
posted @
2018-05-02 17:42
未完代码
阅读(458)
推荐(0) 编辑
卡尔曼滤波——14.—15分离的高斯分布
摘要:假设我们有一个先验概率在坐标的起始处,然后有一个测量概率离他比较远,然后他们有同样的方差。 请问新的平均值在哪? 答案是在正中间,因为这两个方差是一样的. 下面的问题比较难。 上面蓝色 红色 绿色 那个是更新后的方差? 答案是更加陡峭的绿色心线
阅读全文
posted @
2018-05-02 17:10
未完代码
阅读(289)
推荐(0) 编辑
卡尔曼滤波——12.参数更新
摘要:假设我们把两个高斯函数相乘就像贝叶斯定理那样,一个先验概率,一个测量值的概率。 先验概率的平均值是mu,方差是omiga的平方,测量值的平均值是nu,方差是r的平方。 新的平均值和旧的平均值加权平均,mu给予权重r^2, nu给予权重omiga^2 。然后用权重因子归一化。 新的方差项omiga^2
阅读全文
posted @
2018-05-02 16:57
未完代码
阅读(630)
推荐(0) 编辑
卡尔曼滤波——11.预测峰值
摘要:这个问题真的很难,当我们画新的高斯函数的时候,我们可以画一个非常宽的函数,或者非常尖的函数,如果我们要测量新的高斯函数的峰值在哪,最上面的红线,这会是一个非常窄和廋的高斯函数。中间的红线,这个宽度在两个高斯函数之间的高斯函数。下面的红线,这会是比原来的高斯函数还要宽的高斯函数。你觉得哪一个是在将两个
阅读全文
posted @
2018-05-02 16:34
未完代码
阅读(359)
推荐(0) 编辑
卡尔曼滤波——10.均值漂移
摘要:在卡尔曼滤波器中我们重复测量和运动两个过程,这通常被称为测量跟新,这被称为预测值。 在这个过程中我们使用贝叶斯定理就是一个乘法,在这个更新里我们使用全概率定理,就是一个卷积,或是一个加法。 让我们来谈谈测量循环 使用高斯函数来实现这些步骤。 假设你在定位另一辆车,然后有这样一个先验分布,这是一个非常
阅读全文
posted @
2018-05-02 16:19
未完代码
阅读(610)
推荐(0) 编辑