自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhouyy858

此心光明,亦复何言。

  • 博客(85)
  • 资源 (3)
  • 收藏
  • 关注

原创 自动驾驶(八十四)---------中间件对比分析

在自动驾驶架构中,中间件是重要部分,他是处在OS内核的上一层、功能软件的下一层的软件就是中间件,通用架构如下:

2024-04-17 11:11:40 1035

原创 自动驾驶(八十三)---------Apollo之规划模块

规划是自动驾驶的重心,所有模块都是围绕规划而存在的,之前的模块以及介绍了很多这方面的内容,首先一起回顾一下: 1. 初探:内容包含:带约束的多项式拟合算法、贝赛尔曲线、三次样条插值公式。 2.再论:内容包含:A*算法、行为规划介绍、有限分层状态机。 3. 三顾:内容包含:主要介绍apollo的ppt 4. 四解:内容包含:基于优化的三次样条 5. 五阶:内容包含:LatticePlan的轨迹规划 以上种...

2021-10-24 14:18:46 2902 1

原创 自动驾驶(八十一)---------Apollo之感知模块

预则立不预则废,本命年要注意,真男人不回头。 apollo的感知分为以下几个方面:lidar、ladar、camera、fusion。1. Camera感知 Apollo视觉检测,地址在:Apollo/modules/perception/camera/lib/obstacle; 主要是用了YOLOv3的检测方法,一方面我们需要对多个类别进行识别:车辆、卡车、骑车人和行人等;另一方面一个网络识别一个类别精度更高,但是也需要考虑性能问题。所以在Apollo中...

2021-01-08 10:22:18 3357

原创 自动驾驶(八十)---------Apollo之导航模块

没想到自动驾驶系列文章能写到80篇,因为我之前做事大部分都很浮躁,总是蜻蜓点水、走马观花。仔细想来支持我写到现在的最大原因是:分享的快乐和成长的乐趣。 说到成长,很多以前似懂非懂的技术问题,都在我整理资料中梳理清楚,并且能让我站在系统的、更高的维度来看待每一个技术和自动驾驶的现状。也让我更加自信的面对工作和生活中的不确定性。 再说分享的快乐,写博客不想挣一分钱,所以博客永远是免费分享给大家,我有不错的薪水,在上海也能很好过自己的生活,已经很感恩这一切了,不需要在这来精打细算...

2020-12-30 17:07:06 2245 1

原创 自动驾驶(七十九)---------Apollo之定位模块

在现阶段的自动驾驶中,定位一直是很重要的话题;最近特斯拉的开放道路自动驾驶一定程度上降低了定位的重要性,采用实时图像分析生成概率地图,这项技术还有待市场去打磨的更加成熟。在我看来作为一个自动驾驶工程师,成长的线路很清晰:Apollo系统作为基础,特斯拉的技术才是你追求的方向。每篇博客之前,喜欢加一些现阶段的感悟,一者话题引入;二者抒自己所想,让技术不再冰冷。诚然时光荏苒,纸长情短,以后再看时难免觉得幼稚;哇!你又成长了。 说Apollo的定位之前,对场景我们先进行大概的梳理:首先...

2020-12-21 18:02:10 2846 1

原创 自动驾驶(七十八)---------Apollo之标定模块

apollo中有很多模块,在我的apollo系列文章中,打算把重要的模块单独写一遍文章详细介绍,分为:标定、定位、导航、预测、规划、控制。这里我们先从标定说起。。。。。 在之前的文章中我介绍了很多标定相关的知识,Apollo系列的文章,主要从apollo的代码和思想来介绍标定。...

2020-12-14 14:53:43 3799

原创 自动驾驶(七十七)---------Apollo平台介绍

目前Apollo已经更新到6.0,整体架构和功能都已经很成熟了,Apollo开源无疑极大的提高了自动驾驶行业的整体水平,所以对于研究自动驾驶的人来说,apollo可以说是入场券,最近应该是我比较轻松的时间,准备系统的学习一下Apollo的代码和思想,过完年去新公司应该会比较忙了。1. Apollo与ROS Apollo项目基于ROS,但是对其进行了改造,主要包括下面三个方面:通信性能优化:将通过共享内存来减少数据拷贝,以提升通信性能。 去中心化网络拓扑:Apollo...

2020-12-14 13:47:53 2525

原创 自动驾驶(七十六)---------Apollo MPC之代码解析

最近一直在调LQR上车的效果,初见成效,所以也很好奇Apollo的MPC控制算法,没有项目驱动,只能靠自己的驱动力了,这里结合代码分析理论,详细梳理一遍apollo的MPC算法。 首先MPC的代码在apollo文件地址为:1. 初始化加载MPC的参数和配置:,主要包含vehicle_param、速度和转角限制等。 车辆运动学模型及其离散化:;包括矩阵A,矩阵B,矩阵C,矩阵K,矩阵R,矩阵Q,加载MPC增益调度序列,初始化滤波器。 其中调度增益gain...

2020-12-08 16:31:21 7622 1

原创 自动驾驶(七十五)---------几种硬件平台对比

上一篇主要介绍了硬件平台的基本情况,并没有详细的分析和对比每种硬件平台的优劣,这里我选取几种常见的硬件平台,从输入、硬件架构、输出等几个方面进行详细对比,以便深入了解各种平台。 这里我主要对比:恩智浦S32V、英伟达DRIVE PX2、TI的TDA4、寒武纪1M、高通SA8155。1 .恩智浦S32V S32V是恩智浦推出的一款汽车视觉微处理器,主要参数如下:硬件方面:4 x A53@1GHz,1 x M4@133MHz内核,2个APEX核,3D GPU,...

2020-10-17 13:03:37 12932 2

原创 自动驾驶(七十四)---------硬件平台介绍

在整个自动驾驶中,我们之前讨论了很多软件算法,很少涉及到硬件领域,今天结合我接触的一些硬件知识做一个总结,整理硬件在整个自动驾驶中的作用和市面上常见的几种硬件。1. 软硬件架构 软硬件架构也是三部分组成:硬件平台,操作系统,软件算法。 硬件平台具体是指计算平台,目前主流的自动驾驶芯片解决方案主要包括GPU、FPGA、DSP和ASIC四种。其作用主要包含三个方面:提供传感器数据的接口,把传感器的数据导入计算平台。 分析传感器传入的数据,结合车辆自...

2020-10-16 12:05:22 14115

原创 自动驾驶(七十三)---------离散点计算曲率

在自动驾驶中,很常见的一个问题是通过离散点计算曲率,奇怪的是网上居然找不到我需要的资料,也许是我描述的不对,总之找了很久都不是很满意,所以干脆自己来总结一下吧。 网上也不是找不到资料,但是大部分都是这样: (1)通过曲率公式,首先你要知道曲线的表达式,然后代入公式计算。 (2)离散点也需要先polyfit拟合成多项式,再利用上面的公式计算曲率。 (3)在matlab中,用csape()对离散点进行Spline插值,然...

2020-08-17 18:36:55 21452 12

原创 自动驾驶(七十二)---------LQR控制算法

之前有写过MPC的控制算法,主要介绍的也是理论部分,在实际使用过程中发现C++没有高效的优化方法,类似python中的cvxpy的库,所以想绕过去,研究一下LQR控制算法。1. PID控制系统 这里并不是要介绍PID系统,而是为了方便理解LQR,首先我们看PID系统中的P调节方法: 假设我们现在状态是x0,我们有状态方程 : (u为控制矩阵)...

2020-07-27 17:15:09 41777 19

原创 量化交易(二)---------海龟交易法则

前面介绍了如何获取数据,本文将直接介绍一种经典的交易策略,实际上这套方法在市场中大部分情况时有效的,但是在市场沉浮中,每个人都很难严格执行,大部分人都是觉得自己已经掌握了,甚至还有自己的想法,然后灵活的动一些小脑筋,殊不知,大道至简,尔等不过是管中窥豹、自欺欺人罢了,最后被市场教育,得出结论:海龟交易法不靠谱...... 不要问我的文字为何如此有画面感,我只能“无中生友”了.......1. 什么是海龟交易法则 1983年年中,著名的商品投机家理查德.丹尼...

2020-06-02 17:32:35 14631 1

原创 量化交易(一)---------财经数据社区Tushare介绍

前段时间美国金融市场剧烈动荡,公司的股票也是过山车,当然A股还是万年王八,继续保持“稳健”,本来安心做自动驾驶的心也被撩拨了,总是在畅想,最低一块多时All in,该如何如何......... 与其飘忽不定,不如静下心来,研究一下量化交易,一者探索一下新的知识;再者践行一下自己的yy,转移和分散自己的注意力。深度学习、量化交易也算是未来的方向,这也不违背自己的初心。当然小赌怡情,大赌伤身,希望这不是一个错误的开始。 量化交易首先就是数据,这里介绍一个免费又很全面...

2020-06-02 14:34:44 13565 3

原创 自动驾驶(七十一)---------Pure Pursuit轨迹追踪

前面介绍过很多轨迹规划,也有很多控制相关的知识,例如pid调节、kalman 滤波、MPC等等。今天再学习一种轨迹追踪的方法,轨迹追踪是在有轨迹规划的基础上,如何实现车辆按照规划的轨迹行驶的问题,属于控制的范畴。

2020-03-29 14:14:10 14464

原创 自动驾驶(七十)---------五阶轨迹规划之LatticePlan

规划是门很深的学问,也是自动驾驶的核心功能,所以很难通过一两篇文字讲清楚,所以我也会持续更新,今天要讲的是Apollo的规划方式,网上有一篇ppt的介绍和我自己对源码的分析,总结出这样一篇文章,原计划是去年年底把我的博客冲到5000以内,但是去年公司发生一些事受到影响,还好年后又趋于稳定,但是不免又懈怠了下来,不过始终不忘初心,对于提高自己自动驾驶的能力念念不忘,相信博客还会持续更新。

2020-03-28 22:42:14 17435 2

原创 自动驾驶(六十九)---------降维PCA、LDA

自动驾驶是一个系统工程, 不可能有一种方法包打天下, 它是由很多子功能配合而成, 这就要求我们对其他机器学习算法都能了解, 之前在视觉中有一些很好的方法, 这里也想整理出来, 供大家参考. 在深度学习之前, 特征提取是很重要的技术, 在这中间 主成分分析(PCA)经常出现, 主题模型算法(LDA)也类似, 这里系统的总结一下:

2020-03-28 21:17:18 11994

原创 自动驾驶(六十八)---------ROS学习笔记(4)

前面我们实现了一个简单的ROS发送节点和接受信息的节点,在自动驾驶中最常遇到的场景是:两个或者几个节点相互通讯,不是单方面的发送信息,这里我们以实现两个整数求和为例,client端节点向server端节点发送a、b的请求,server端节点返回响应sum=a+b给client端节点.1.功能包的创建 在catkin_ws/src/目录下新建功能包service_...

2020-02-28 17:30:22 14006

原创 自动驾驶(六十七)---------ROS学习笔记(3)

前面介绍了ROS的原理,简单的编译,如何创建一个节点,和其他节点手法信息呢?本篇主要介绍这部分内容.1. 编写发布器节点 在catkin_ws中新建的功能包取名为topic_example, 在这个功能包中分别编写两个节点程序publish_node.cpp和subscribe_node.cpp,发布节点(publish_node)向话题(chatter)发布st...

2020-02-28 10:53:00 14765

原创 自动驾驶(六十六)---------ROS学习笔记(2)

前面介绍了ROS的基本概念, 还没介绍如何操作, 下面从操作层面结束ROS.1. 创建ROS工作空间 $ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws $ catkin_make 其中catkin_ws是自定义的工作空间名,也就是文件夹名。2.配置环境变量 $source...

2020-02-26 18:05:50 14708

原创 自动驾驶(六十五)---------ROS学习笔记(1)

ROS是面向机器人的开源的元操作系统,它能够提供类似传统操作系统的诸多功能,如硬件抽象、底层设备控制、常用功能实现、进程间消息传递和程序包管理等。此外,它还提供相关工具和库,用于获取、编译、编辑代码以及在多个计算机之间运行程序完成分布式计算。在自动驾驶中ROS被广泛的应用,所以研究自动驾驶ROS是绕不过去的弯.下面整理了我学习的资料.1. 安装 ROS不能再详细的安装...

2020-02-26 16:25:51 15905

原创 自动驾驶(六十四)---------匈牙利匹配

最近发现要写的东西很多,在轨迹规划中还有一大堆的新概念,但是要花大力气才能理解皮毛,所以调节一下,学点相对比较简单的概念,匈牙利匹配!1.匈牙利匹配 匈牙利匹配最早是在图论中出现的,至于如何在自动驾驶中得到应用,我们一点点展开: 我们的时代经过几代人不懈努力,房价终于赶英超美,也带来了剩男剩女大潮,假设你是媒人,手上有N个剩男、M个剩女,中间有很多相互有不同...

2020-01-05 17:58:30 13116

原创 自动驾驶(六十三)---------蒙特卡罗-马尔科夫链

前面介绍过蒙特卡罗搜索树和隐马尔可夫模型,今天要把这两种结果,恰好在自动驾驶中可以很好的应用,那么我们一点点展开。蒙特卡罗-马尔科夫链(MCMC),也有把马尔科夫链放在前面:马尔科夫链蒙特卡罗,这里我们采用周志华机器学习的叫法:蒙特卡罗-马尔科夫链。1.蒙特卡罗 对于求积分这件事而言,我是没有什么好印象的,笔者当年本科是数学,上大学过的很恍惚,当年第一次数学分析就挂科...

2020-01-05 16:30:33 11220 2

原创 自动驾驶(六十二)---------导航路径规划

实际上关于路径规划,我在轨迹规划中有介绍,主要是A*算法,但是目前有强需求,所以只能在系统总结一下了,可以算是水一篇文章,抓紧时间吧,有效的时间不多了! 导航路径规划需要掌握的方法我总结有四个:RRT、PRM、A*、hybrid A*。A*我之前有介绍:再论轨迹规划,这里就不做赘述。1. RRT RRT(快速探索随机树),首先在环境中,我们有一个起始点,定...

2020-01-04 10:25:25 14590 1

原创 自动驾驶(六十一)---------蒙特卡洛搜索树

首先祝我自己元旦快乐,也祝在这个日子里看我blog的粉丝元旦快乐,今天申请了加班所以有时间写blog,程序员的生活就是这么单纯.........在这个特殊的日子里,为了充实节日气氛,学习一个名字很长的知识--蒙特卡洛搜索树,如果要问和自动驾驶有什么关系,我想在决策的时候可以用到吧,只是博弈论暂时并没有引入进自动驾驶中。另外它和A*算法类似,在导航上也有应用的可能。 特别的...

2020-01-01 11:07:04 11463

原创 自动驾驶(六十)---------隐马尔可夫模型

之前有介绍过贝叶斯网络,隐马尔可夫模型是一种动态贝叶斯网络,是一种时序的概率模型,描述由一个隐的马尔科夫链随机生成的不可观察的隐状态序列,在每一个隐状态下随机产生观察值构成一个可观测的随机序列,在语音识别、自然语言处理等领域有广泛应用。 之所以要介绍隐马尔可夫模型,是因为自动驾驶中,时序是很重要但又没有得到足够重视的部分,无论是在预测、决策、控制中,上下文的连贯...

2019-12-27 21:26:02 12485

原创 自动驾驶(五十九)---------模糊逻辑

自动驾驶中在感知、决策、控制架构中,充满了各种参数的不确定性,例如mobileye识别的车道线confidence,决策中行人轨迹预测,控制中推算本车位置...总之在自动驾驶中,唯一确定的就是不确定本身了。既然如此,有没有一种满足这种特性的方法呢,如果能在数学上解决这个问题,说不定能更好的满足车辆控制的舒适性。1.布尔逻辑 要想了解模糊逻辑,首先我们要知道对应的另外...

2019-12-25 16:23:07 11460 1

原创 自动驾驶(五十八)---------自动驾驶2019年终盘点

年终将至,各种盘点总结,中国当下自动驾驶现状到底如何,站在这个时间点本文盘点一下,由于笔者个人无法深入调查,也只能从网络上的信息进行整理、分析归纳如下:1.百度阿波罗 2019年阿波罗进展很快,可能一般人并不知道,开放了全球首个“点到点城市自动驾驶”功能,Apollo拥有自动驾驶路测牌照数150张、智能驾驶专利数1237件、测试里程超300万公里、23个城市展开路测...

2019-12-23 20:29:51 11752

原创 自动驾驶(五十七)---------车身航迹推算

自动驾驶中kalman滤波随处可见,这中间不可避免的要知道预测模型,而预测模型很大程度上依赖于本车姿态变化的推算,俗称航迹推算,尤其在控制中,pid调节也是以此为基础。 之前的文章有零散的讨论过这方面的内容总结:惯性导航原理 激光点云配准 基于视觉的自定位车辆运动学模型 但是并没有系统的总结如何融合车身现有传感器,进行本车航迹推算。本文以常见传感...

2019-12-08 14:21:16 19042 8

原创 自动驾驶(五十六)---------Yawrate和Imu标定

前面介绍过GPS和IMU的惯导,也介绍过车辆轨迹预测,这中间很重要是为了车身航迹推算,但是在这之前,需要对传感器进行标定,本文主要介绍IMU的原理,从传感器限制角度介绍IMU的标定。1.传感器介绍 IMU是测量物体三轴姿态角及加速度的装置。一般IMU包括三轴陀螺仪及三轴加速度计,某些9轴IMU还包括三轴磁力计。首先介绍这三种传感器的原理。 1. ...

2019-12-06 17:57:30 22794 1

原创 自动驾驶(五十五)---------四解轨迹规划

前面已经三次讲过轨迹规划,还是如隔靴搔痒,诗不着题。所以想少一些理论,多一些实践的角度写轨迹规划,就从常见的场景展开:1.问题引入: 已知条件 车身传感器:车速、Yawrate、方向盘转角;车身周围车辆信息;车道线信息;一个模糊的目标点。求一条轨迹能到达目标点的位置和角度,轨迹要满足车辆运动学,舒适性,避障等要求。 怎么理解模糊的目标点?目标位置...

2019-12-03 18:48:55 15538 2

原创 自动驾驶(五十四)---------三顾轨迹规划

轨迹规划是自动驾驶技术中最重要的部分,之前的文章有一些这方面的介绍,但是并不全面和系统: 初探轨迹规划:主要从带约束的多项式拟合;贝赛尔曲线;三次样条差值;等角度介绍轨迹规划。 动态避障规划:主要从周围车辆预测;轨迹初始化;避障优化轨迹等角度介绍轨迹规划。 然而这些文章不够全面和系统,不免产生盲人摸象的感觉,这里结合百度Apollo和...

2019-12-02 14:50:35 11758 2

原创 自动驾驶(五十三)---------浅析深度学习与自动驾驶

之前有分析过深度学习和自动驾驶的关系,但是主要是在视觉的基础上来分析的:连接 这里想从各个角度来分析深度学习在自动驾驶中的应用,如果你正好有这方面的需要,不妨选择一个着力点,笔者从事自动驾驶3年来,也处于瓶颈期,需要在一个特定的领域深挖,这里也建议大家,在了解自动驾驶各模块之间的关系之后,需要在一个特定的领域深挖,才能称之为自动驾驶领域内的专家。又因为传统技术很难有所突破,深...

2019-11-29 16:35:05 13279

原创 自动驾驶(五十二)---------惯性导航原理

惯性导航一般集成在GPS设备中,都是由供应商集成,那在这里有什么讨论的必要呢,要知道在车辆行驶中,我们可以拿到GPS的yawrate和speed信号,而且车辆本身还有一套传感器获取yawrate和speed,又因为航迹推算是自动驾驶很重要的一部分,所以理解惯性导航的工作原理,能很好地帮助我们做基于车身的航迹推算。1.惯性导航 目前GNSS+IMU构成的组合导航系统...

2019-11-27 09:57:55 22736

原创 自动驾驶(五十一)---------ICCV 2019之无人驾驶

ICCV和CVPR是两大顶尖国际计算机视觉会议,ICCV2019有哪些研究成果呢?ICCV每两年举行一次,今年是在韩国首尔举行,共提交了1076篇论文。下面是关于感知、规划、建图&定位、自动驾驶数据管理四大方面的论文情况总结。1.感知 1.Fast PointR-CNN 论文 简介:腾讯和香港大学联合发表的论文基于KITTY提出了一...

2019-11-26 14:24:55 11500

原创 自动驾驶(五十)---------Gtest测试

本文将介绍单元测试工具Google Test(GTest)在Linux操作系统中测试环境的搭建方法。本文属于Google Test使用的基础教程。在Linux中使用Google Test之前,需要对如下知识有一些了解:C/C++编程方法 makefile的编写 Linux命令行操作 GTEST背景知识:它是用来干什么的?它用什么语言编写的?它的一些基本语法?等等...

2019-11-06 10:02:26 13927

原创 自动驾驶(四十九)---------Kavser二次开发

我们知道CAN总线是连接车身各个模块之间的桥梁,通过协议通讯,在车辆标定和测试中很多情况是用上位机和车身相连,收发满足CAN总线的信号。这中间如何通讯呢?这就需要用到Kavser。 Kvaser公司是CAN 测试设备的优秀供应商,提供的 API 函数,通过Kvaser公司的设备,结合Kvaser CANlib的 API 函数,可以方便的编写自己的 CAN 测试工具...

2019-10-30 13:14:35 16466

原创 自动驾驶(四十八)---------激光雷达简介

激光雷达、毫米波雷达、视觉传感器是用于周围环境感测的主流手段。 而在探测精度、探测距离、稳定性和对周围环境适应性等关键性能上,激光雷达都有着明显优势。1.激光雷达原理 其工作原理是向目标发射探测信号(激光束),然后将接收到的从目标反射回来的信号(目标回波)与发射信号进行比较,作适当处理后,即可获得目标的有关信息,如目标距离、方位、高度、速度、姿态、甚至形状等参数...

2019-10-21 13:08:08 15710

原创 自动驾驶(四十七)---------超声波雷达简介

超声波雷达听着很陌生,但其实一直被广泛使用在倒车上,与毫米波雷达不同的是:超声波能被任何材质的障碍物反射,毫米波只能被金属物体反射,超声波雷达的探测距离又很近,到底工作原理是什么,下面我带大家一起来来看看。1.工作原理 超声波雷达的工作原理是通过超声波发射装置向外发出超声波,到通过接收器接收到发送过来超声波时的时间差来测算距离。常用探头的工作频率有 40kHz, ...

2019-10-21 09:59:09 39656 2

原创 自动驾驶(四十六)---------毫米波雷达简介

目前自动驾驶中激光雷达应用还有很多瓶颈,毫米波雷达在自动驾驶中目前依然无可替代,既然如此就必须好好理解毫米波雷达的原理,因为要想利用好这些传感器,第一步就是理解,知己知彼百战不殆,当下毛衣战升级,汽车销量严重下滑,可谓殷鉴不远,必须常备不懈。1. 毫米波雷达是什么 通常将波长为1~10毫米的电磁波称毫米波,车载毫米波雷达工作的频段为24GHz和77GHz,少数国家...

2019-10-18 17:44:01 21788

visual_assistx.rar

Visual AssistX是一款非常好的Microsoft Visual Studio插件,它可以完全集成到您的Microsoft开发环境中,升级了您的IDE,在不改变编程习惯的同时就可以感受到Visual Assist X为您带来的好处。

2019-12-05

机器人学的状态估计 高翔.rar

介绍常用的传感器模型,以及如何在现实世界中利用传感器数据对旋转或其他状态变量进行估计,涵盖了经典的状态估计方法(如卡尔曼滤波)以及更为现代的方法(如批量估计、贝叶斯滤波、sigmapoint 滤波和粒子滤波、剔除外点的鲁棒估计、连续时间的轨迹估计和高斯过程回归)。

2019-09-25

freeImage.rar

FreeImage 是一款免费的、开源的、跨平台的,支持20 多种图像类型的图像处理库。其最大优点就是采用插件驱动型架构,具有快速、灵活、简单易用的特点,得到了广泛使用。

2015-12-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除