——抓住重点,不忘初心

目录

0. 写在前面

1. 选你所爱——兴趣是最好的老师。

2.  爱你所选——专注是最好的朋友。

3.  框架鸟瞰——从“第一性原理”角度思考

3.1 板块1——Chassis (底盘控制)

3.2 板块2——Planning&Control(规划与控制)

3.3 板块3——Perception&Perdiciton(感知与预测)

3.4 板块4——SLAM(同步建图与定位)

3.5 板块5——Routing(全局规划)

4.  写在最后


开篇就拿出这张图,真的不为劝退任何人!

而是因为它很重要,后续拓展也都是围绕它展开。

本文以自身经历回顾进入无人车领域的心路历程和心流变化,并在以上框架的基础上罗列各个板块所必须掌握的基础知识或技能。内容也在不断地增补和完善中。。。

0. 写在前面

情不知所起,一往而深。

你,在冥冥中,选择了无人车辆领域。

你,某一刻后,突然感觉知识很有趣,工作很有意思。

你,此后偶尔,身体会疲惫,但精神不会懈怠,知识和技能以螺旋线方式迭代。

你,每时每刻,幸福感充盈,细节变得有意义,仿佛每天都在打磨一件艺术品。

你知道,无人车辆是一个综合性极强的领域,可以作为载体,承载和联系多种跨学科的专业知识和项目成果。行者无疆,学海无涯。你时常想起这句话,更认为,“行者”也可以是一辆车啊。天地有多广,“行者”探索的范围就有多大,而创造这些“行者”的人就需要具备足够的知识和经验,以应对探索过程中遇到的有趣问题。

你清楚,知识获取和经验积累只能秉承长期主义,厚积而薄发。若想在学习中夯实基础知识和精通要点知识,只能做好高质量笔记,并及时复习;若想在工作中积累有价值的项目经验和从点滴灵感中筛选出创新,只能有规律有目标地进行工作总结,并及时复盘。

知识需要复习,工作需要复盘,两个“复”动作,使你的状态呈现螺旋上升之势——俯视时(短期来看)有闭环,侧视(长期来看)有提升。

你,是谁?

可以是我,也可以是所有和你一样对无人车辆有这浓厚兴趣的人。

这样很好,你给自己加油!于是,就愉快地出发了。

1. 选你所爱——兴趣是最好的老师。

你发现,一切都异常神奇。几乎所有男孩都对车子无免疫力,甚至,对所有带轮子或可移动的物体,都没有免疫力。生活中,稍微留意,你总能见到,小男孩拉着爷爷奶奶围着挖土机转,念念有词,喜不自胜;若机器能开动起来,第一次见的孩子会躲到爷爷身后,露出半个头,又喜又怕。孩子们回到家后,又会拿出心爱的变形金刚汽车人玩具,边把玩,边口中念念有词,再配上bgm。也许,这与男人崇尚运动和追求力量美的原始基因有很大关系。

如你所见,当今世纪是科技飞速发展的时代,各式各样的机器人逐渐走进我们的生活,代替人从事机械而重复的劳作,也扩大了人的影响范围。社会整体效率越来越高,技术发展越来越快,产品迭代越来越频繁,进而,改变了你我的生活。曾经只能在科幻电影里出现的智能产品,如今不仅毫不违和地成为日用品,即便是老人和孩子也不会感觉陌生。对的,当然也包括你我此时浮现在脑海里的无人汽车。

你觉得,非常有幸,长大后成为了一个理工男,能从事运动控制和车辆工程的工作。既能延续儿时对形形色色车的迷恋和喜欢,也能亲自参与各式各样车辆的研发与制作。每每在新产品落地的那一刻,仿佛看见一个个新奇的散发着荷尔蒙的机器尤物,它们自带高光,美轮美奂。工作内容是自己喜欢的,那么,工作便如同游戏一般,每天遇到新问题,仿佛游戏中打怪升级,其乐无穷。

你明白,这不用惊讶,因为按照机器人的广义定义,智能移动车辆也属于机器人的范畴。只是通常来讲,移动车辆不太可能具备人的外形。而且你相信,持续地受人工智能AI加持,科幻电影里的变形金刚汽车人变成现实,也只是时间问题。但是,在现阶段,未来的“汽车人”还是处于相当初级的阶段。按照工作场景,分为两大分支,园区内和园区外,用大白话来讲,前者只能在园区活动,而后者可以开到马路上。

你问自己,如何选择?

其实,这不是个问题,每一方向都非常引人入胜,不会让人失望。

2.  爱你所选——专注是最好的朋友。

这两大分支,无论选哪一个方向继续前行,我们都会被前浪牵引,被后浪强推,不费力气,便可领略科技更迭的速度感。没错,信息爆炸,汹涌而来。如同处于早高峰的上海地铁,你可以双脚离地,好似离地飞行,也能被裹挟着拥簇着向前。

面对信息的洪流,与其无脑地随着技术热点随波逐流,被学术界百花齐放的模型、工具、方法和成果展示炫花了眼,倒不如主动地做出筛选,寻找信息背后的共通点。用一种很潮的表达方式——深度掌握业内的第一性原理。按照这个思路,很快,你会发现,根本不需要特意选择。因为场景虽然有所不同,但基础的技术框架和底层逻辑是完全一样的。

深度理解这些内容,才是行业从业者需要每天练习的基本功,才算抓住了树干,而学术界百花齐放的模型、工具、方法和成果展示,只是生发出来的枝叶。如此一来,树干与枝叶,何为重点,而你的时间又该放在哪里,一目了然。

从易得性角度考虑,你选择将基本功的练习聚焦到园区内的低速无人领域。正如即便你选择学的是屠龙绝技,也不需要每天真的去屠龙,也许更多的时间你在磨刀,你在砍小怪兽练习升级,你升级后又去砍大怪兽。很快,你会发现,选择这种易得的领域练手,花不花钱都可以很开心。

若不想花钱,直接在仿真环境里搭建车辆模型和运动场景,体验也不差;若想花点钱在家中常备,也可选择自己攒,或直接网上买,费用大概和买个新手机相当。当然,和买手机类似,你可能会有高配和低配的纠结,但是,当你需要解决的是有无问题时,选哪个真的不重要。

想到这里,你顺便捋了捋工业界的主流车型。

常见的有使用遥控器操作的遥控车(只受控于遥控器)、有基于磁钉、色带、二维码导航的巡线车(沿着预设在工作环境中的磁钉、磁条、色带和二维码自动运行),也有目前处于上升通道的SLAM自主导航车(基于SLAM/VSLAM技术进行定位和建图)。他们被亲切地取了一个个洋气的英文名,从早期的AGV(自导引车)到时下流行的AMR(自主移动机器人)。不管如何命名,他们本质上依旧属于低速无人驾驶的技术范畴。

如同人类在认识和理解世界的过程中,一定是从简单到复杂,由局部到更大的局部,存在着不断完善和不停迭代。从遥控车到巡线车再到自主导航车,车辆设计在不断完善,功能在不停增强。你告诫自己,不需要将他们理解成为一个个新的事物,而应当看做同一事物的不同发展阶段。如同一副徐徐展开的卷轴,随着时间的推移,会越来越完整。

你意识到,无人车辆领域是一个快速发展的大领域,每一细分市场都随着时间推移而逐渐丰富。因此,选择一个你喜欢的领域固然重要,而选择之后的持续热爱才是“有所得”的必要条件,这份热爱需要你持续的投入和充分的专注。

积水成渊,集腋成裘,与时间成为朋友,让专注成为伙伴,路在脚下。

3.  框架鸟瞰——从“第一性原理”角度思考

为了方便阐述,将开篇的无人车软件框架再次放到段前。

本文不会花篇幅来讨论这个架构的由来(有感兴趣的朋友可移步后续的《无人车之美——软件架构篇》),而是基于框架中提到的5大板块,分别讨论构成最小系统的基础性要点。讨论的目的不是点评要点的优劣,而是希望能理清各个板块中无法绕开且必须深刻理解的重要知识点或技能点。

接下来,按照框架图里的板块序号,我们逐一捋一捋。

       3.1 板块1——Chassis (底盘控制)

顾名思义,这个板块聚焦于底盘控制,对不同车型进行运动学和动力学的分析和控制。从业内常见的车型看,主要有舵轮,双差速轮和麦克纳姆轮。其中,双差速轮与舵轮虽然结构形式有很大差异,但稍作变化,可统一归结为舵轮进行讨论。不失一般性,后续将选择双舵轮进行分析。

除了双舵轮,将对以麦克纳姆轮为代表的全向轮进行分析和总结。

关于常用的控制算法,先精通PID(Proportional Integral Derivative,比例-积分-微分算法),再熟练掌握LQR (Linear quadratic regulator,线性二次型调节器),有时间会总结一下MPC(Model Predictive Control,模型预测控制算法)。

       3.2 板块2——Planning&Control(规划与控制)

本质上讲,板块2的Control控制部分与板块1的底盘控制有交叉重叠的地方,但是各有侧重。板块1侧重运动分解与合成,板块2在于对轨迹规划的准确执行。

基于业内常用的几种常用算法,挑选了DWA算法(dynamic window approach)和TEB算法(Timed-Elastic-Band),分别是概率方法和图优化方向的代表性方法。

       3.3 板块3——Perception&Perdiciton(感知与预测)

对于封闭场景内的低速无人车辆,为了追求系统的稳定性,降低系统的复杂性和成本,感知只是为了避障,避障后采取的措施则是原地等待。感知的需求尚且如此低,预测就更不需要了。因此,对于无人车的最小系统,感知与预测可以跳过,直接使用避障传感器的信号进行处理。

但是,为了对后续主动避障提供技术储备,还是有必要学一下常见的滤波算法。基本都是基于贝叶斯公式,有KF(Kalman Filter,卡尔曼滤波),EKF(External Kalman Filter,扩展卡尔曼滤波),UKF(Unscented Kalman Filter,无迹卡尔曼滤波)以及PF(Partical Filter)

       3.4 板块4——SLAM(同步建图与定位)

典型的SLAM算法分激光SLAM和视觉VSLAM两种。这个板块的最小化系统将在典型激光SLAM框架的基础上展开,选择gmapping或cartographer,从论文翻译和注释入手,详细总结力求熟练掌握。待无人车最小化技术架构完成后,考虑展开VSLAM的总结,讲讲绕不开的李群李代数,总结一下常见的ORB-SLAMx(x代表多个版本)或VINS。

对了,在最小化知识结构里,肯定少不了还有经典的ICP方法及其家族。

        3.5 板块5——Routing(全局规划)

在全局规划板块里,有图搜索算法和抽样算法两大分支。就目前的封闭场景无人驾驶而言,常见方法的依旧是基于预先设置的拓扑图。因此,在最小化知识结构里,将先侧重图搜索算法,其中有代表性的是Dijistra和Astar算法。更一般地,可以认为Dijistra是Astar算法的一种特例,所以,这个板块在最小化知识的整理阶段,会重点总结Astar原理及实现。

当然,为了提高无人车辆的运动灵活性,在未知场景或不提供拓扑图的场景中正常工作,基于抽样算法(sample based planning)的全局规划算法必不可少。其中,最经典的两个是PRM(Probabilistic Road Map)概率路图法,RRT(Rapidly-explorring Random Tree)快速扩展随机树法。等有时间了也需要好好复习巩固一下。

4.  写在最后

综上所述,也正如你看到的,或听到哦,每个板块都会有很多的技术分支。若不加区分地学习会划花掉大量时间而收获有限。最有效的方法是,先从各个板块的最小化系统入手,追根溯源找到每个分支里的源头活水,对核心知识进行逐一掌握和融会贯通。

正所谓,苦练基本功,才能早日从量变跃升质变。

简单地说,就是——刻意练习!

好了,希望对你有所帮助或启发。

下次再聊。

无人车之美——技术要点速览相关推荐

  1. 无人车之美——软件架构篇

    --刻意练习,不停地刻意练习! 接上一篇. 无人车之美--技术要点速览本文以自身经历回顾进入无人车领域的心路历程和心流变化,并在无人车软件架构的基础上,罗列各个板块所必须掌握的基础知识或技能,希望对无 ...

  2. 《Apollo 智能驾驶进阶课程》三、无人车自定位技术

    1. 什么是无人车自定位系统 相对一个坐标系来确定无人车的位置和姿态 定位的指标要求大概分为三个部分:精度.鲁棒性.场景 定位精度必须控制在10厘米以内,才能使行驶中的自动驾驶车辆避免出现碰撞/车道偏 ...

  3. 谷歌全方位自曝Waymo无人车技术方案 | 42页报告要点解读+下载

    李杉 夏乙 编译整理 量子位 出品 | 公众号 QbitAI 谷歌今天发布了一份无人车重磅报告:<通往完全自动驾驶之路>. 这份42页的报告从技术层面详细展示了谷歌Waymo无人车的软件. ...

  4. 硅谷“封城”前夜的L4级别无人车试乘实况,及其背后创新技术的深度剖析

    主讲人 | 轻舟智航:于骞 汪堃 量子位 编辑 | 公众号 QbitAI 硅谷"封城"前夜,让无人车途径抢购中的超市,会是怎样的体验? 3 月 21 日,这家自动驾驶公司的无人车, ...

  5. Apollo进阶课程 ⑮丨Apollo自动定位技术详解—百度无人车定位技术

    目录 1.百度无人车定位进化历程 2.百度自动驾驶应用的定位技术 2.1GNSS定位技术 2.2载波定位技术 2.3激光点云定位技术 2.4视觉定位技术 原文链接:进阶课程 ⑮丨Apollo自动定位技 ...

  6. 深度解析Apollo无人车感知和定位技术

    原文地址:http://www.realli.net/archives/26639 有关无人车的定位有两种,一种称之为绝对定位,不依赖任何参照物,直接给出无人车相对地球坐标或者说WGS84坐标系,也就 ...

  7. Apollo自动驾驶进阶课(4)——Apollo无人车定位技术

    1.无人车自定位系统 1.1自定位系统 无人车的自动定位系统:相对一个坐标系,确定无人车的位置和姿态. 这个坐标系可以是一个局部的坐标系,也可以是一个全局的坐标系,比如全球坐标系,可以知道一个很精确的 ...

  8. 技术解析 | 横纵一体的无人车控制方案

    在自动驾驶行业的经典控制方案中,横向控制与纵向控制的求解是模型解耦的独立算法.这种"横纵分离"的控制方案虽然可行,但显然不符合人类的驾驶方式,也不符合横向.纵向紧密联系这一客观事实 ...

  9. 商汤自曝近况:明年或IPO、无人车大单、不寻常的美研、C轮将完

    夏乙 李根 发自 凹非寺  量子位 报道 | 公众号 QbitAI 商汤创始人汤晓鸥跟香港记者透露了一大堆新消息. 例如,正在进行C轮融资的商汤科技,最快有可能在明年IPO(上市).作为国内估值最高的 ...

  10. AutoX创始人肖健雄来信:无人车量产的4大技术储备

    作者:肖健雄教授  量子位 报道 | 公众号 QbitAI 2016年春,普林斯顿大学助理教授肖健雄从"Professor X",成为了AutoX创始人,正式开启自动驾驶创业旅程. ...

最新文章

  1. php服务器监控windows,用Linux上的cacti去监控windows服务器(图)
  2. Java中怎样将Json字符串转换成实体类
  3. 漫画:什么是狭义相对论?
  4. SAP Spartacus delivery mode页面Cannot find control with的错误消息
  5. Qt编写自定义控件及插件的使用
  6. laravel框架中文手册_node.js 后端框架star 排名 2020年11月更新,fastify 超 egg
  7. redis专题:redis的常用数据结构及使用场景
  8. 国庆活动延长三天!快来领取你的数据技术嘉年华门票!
  9. 董明珠自媒体:格力口罩今日开售 上午预约下午抢购
  10. spss 25 的pls安装
  11. 基于Telink 825x Sdk上按键短按及长按的功能实现
  12. 什么是PHP,PHP能干什么,为什么使用PHP
  13. 猫咪APP 服务器不稳定,这下知道猫咪为啥经常情绪不稳定了不?
  14. mist连接私有网络调试智能合约
  15. 湎计算机网络通讯设备有哪些,2018年4月自考计算机网络原理04741试题及答案
  16. 《论文阅读》Multi-Task Learning of Generation and Classification for Emotion-Aware Dialogue Response Gener
  17. 线性异质双官能PEG试剂荧光素-聚乙二醇-巯基FITC-PEG-SH
  18. 移动电源充电宝新国标GB/T 35590-2017检测报告测试项目
  19. 淘宝,天猫,京东,苏宁抢购茅台、手机等脚本(适合兼职,亲测可用)
  20. Box2D v2.3.0 用户指南(第十一章)

热门文章

  1. 快递行业面单打印解决方案-快宝云打印
  2. win7连接远程服务器特别慢,主编告诉你win7远程桌面连接速度慢的完全解决教程...
  3. php月考勤统计,考勤系统功能实现——统计
  4. 王垠受邀面试阿里P9,被P10面跪后网上怒发文,惨打325的P10赵海平回应了!
  5. mysql中求闰年的函数_SQL 判断闰年
  6. Excel数据分析和建模
  7. java xheditor 上传图片_xheditor上传图片的java实现
  8. android修改HOLO对话框风格
  9. STM32下移植UCOSIII
  10. 关于stm32单片机的通讯方式