自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AdamShan的博客

自动驾驶工程师,谷歌认证机器学习专家,兰州大学无人驾驶团队创始人,主攻深度学习,无人驾驶汽车方向。

  • 博客(43)
  • 资源 (10)
  • 收藏
  • 关注

原创 自动驾驶系统进阶与项目实战(九)基于行锚框和全局信息的深度学习车道线检测方法

自动驾驶系统进阶与项目实战(九)基于行锚框和全局信息的深度学习车道线检测方法目前多数基于深度学习的车道线检测方法通常把车道线的识别问题处理为车道线像素分割问题,单纯的像素级语义分割模型的推理的实时性相对较差。人类对于车道线的感知通常基于上下文和全局信息,所以即使有其他障碍物对车道线造成大面积的遮挡,人依然能够理解车道线及其走向。本文介绍一种基于行锚框和全局信息的深度学习车道线分割方法,由于使用行锚框对车道线检测任务进行建模,该方法具有很高的实时性和不错的性能,本文将实践其基于Pytorch的模型训练和测

2021-04-16 19:14:26 4680 11

原创 无人驾驶汽车系统入门(三十一)——点云分割和聚类算法详解

无人驾驶汽车系统入门(三十一)——点云分割和聚类算法详解本篇详细讲解点云处理中的基本分割和聚类的算法原理。Lidar基本常识lidar的分辨率要高于radar,但是radar可以直接测量目标的速度。通过融合两者,可以获得对目标较好的位置和速度估计。激光雷达坐标系:右手法则,大拇指朝上为z,食指朝前为x,中指朝左为y, lidar的解析度很大程度上取决于线数,其解析度指标分为横向解析度和纵向解析度,横向解析度即一条激光束扫描一圈(360度)的反射点的数量,作为参考,Velodyne的16线激光雷达

2021-03-22 17:31:14 14709 5

原创 自动驾驶系统进阶与项目实战(八)面向自动驾驶的高精度地图框架解析和实战

自动驾驶系统进阶与项目实战(八)面向自动驾驶的高精度地图框架解析和实战前面聊了一些如何制作较大规模的点云地图以及如何使用点云地图进行定位的方法,点云图是高精度地图的一部分,主要用于配准定位和作为高精度地图构建环节中的几何图层(能够反应路面几何结构和大量有效信息),产品形态的高精度地图通常为包含大量交通要素语义和坐标信息的矢量地图,如何定义、构造这种面向自动驾驶业务的矢量地图,目前行业并没有通用的标准(OpenDrive并不是为自动驾驶设计的),Autoware自动驾驶系统的矢量地图和地图引擎计划使用La

2020-08-01 11:17:56 7878 16

原创 自动驾驶系统进阶与项目实战(七)基于PolarNet的点云端到端语义分割和项目实战

自动驾驶系统进阶与项目实战(七)基于PolarNet的点云端到端语义分割和项目实战基于深度学习的激光雷达点云语义分割是目前自动驾驶领域的热门研究方向,前面的文章中我们介绍过了SqueezeSeg和百度cnn seg点云语义分割方法,其中cnn seg被应用于百度Apollo以及Autoware两个开源的自动驾驶系统,在Apollo和Autoware中,点云语义分割模块都占据了障碍物感知比较大的权重。本文我将详细解读点云语义分割领域最新方法——PolarNet,该方法发表于CVPR2020,是目前该领域最

2020-07-20 15:59:52 8797 18

原创 自动驾驶系统进阶与项目实战(六)基于NDT的自动驾驶高精度定位和ROS项目实战

自动驾驶系统进阶与项目实战(六)基于NDT的自动驾驶高精度定位和ROS项目实战对于高级自动驾驶系统而言,定位模块通常会融合IMU、轮速计(车辆底盘)以及激光雷达odometry多种测量,使用滤波算法(EKF、UKF等)以获得平滑、厘米级别的绝对定位,其中基于高精度点云地图和激光雷达的配准定位(Lidar Odometry)因其精度高、可靠性好,在整个融合定位中通常占很大的权重,是自动驾驶定位系统中相对可靠的“绝对定位”数据来源,本文我们学习如何使用NDT配准实现自动驾驶汽车的高精度定位,并且结合前面文章

2020-06-13 23:09:36 14873 59

原创 自动驾驶系统进阶与项目实战(五)使用SC-LEGO-LOAM进行较大规模点云地图构建和闭环优化

自动驾驶系统进阶与项目实战(五)使用SC-LEGO-LOAM进行较大规模点云地图构建和闭环优化高精度地图和高精度定位目前仍然是L4及以上自动驾驶系统的核心模块之一,成熟的传感器融合定位方法高度依赖高精度地图,L4级自动驾驶系统中,我们所说的高精度地图通常包含两类地图:语义地图(也称为矢量地图)和点云地图,语义地图也就是自动驾驶感知规划重度依赖的地图,包含了大量的路网和交通静态信息,是结构化数据;点云地图,通常为定位模块中的雷达配准定位所使用,是高精度定位的基础,存储类型为非结构化的传感器数据,点云地图本

2020-06-06 16:34:53 12741 59

原创 自动驾驶系统进阶与项目实战(四)自动驾驶高精度地图构建中的三维场景识别和闭环检测

自动驾驶系统进阶与项目实战(四)自动驾驶高精度地图构建中的三维场景识别和闭环检测闭环检测(loop-closure detection)是SLAM中非常关键的一部分,当然也是自动驾驶高精度地图(HD Map)构建的核心技术之一,闭环检测即无人车能够识别出SLAM构图过程中形成的闭环,从而优化由观测(lidar slam、imu、车辆can、gnss等算出的里程计)累计的误差,使得SLAM地图在闭环的“缝合处”能够准确对接、在同一路段的重复测量(主要是激光点云、图像等)能够准确拟合。显然闭环检测对于大面积

2020-05-24 19:21:48 5952 4

原创 自动驾驶系统进阶与项目实战(三)基于全卷积神经网络的点云三维目标检测和ROS实战

自动驾驶系统进阶与项目实战(三)基于全卷积神经网络的点云三维目标检测和ROS实战前面入门系列的文章中我介绍了几种点云三维分割/目标检测模型,在做点云预处理上,有通过球面投射(SqueezeNet)得到深度图的,也有采用Voxel网格的(VoxelNet),本文我们一起学习一下百度开源的cnn_seg点云三维语义分割神经网络,该模型被集成于Apollo的perception模块,并且自Apollo 3.0开始一直是Apollo体系下用于障碍物检测的主力模型,在Apollo 5.0以后甚至release出了

2020-05-16 13:06:02 12366 85

原创 自动驾驶系统进阶与项目实战(二)多激光雷达外参自动化标定算法及代码实例

激光雷达是目前自动驾驶系统中的核心传感器之一,但是由于其信息密度低、存在垂直盲区等问题,厂商大多在其L4级自动驾驶系统中搭配多组激光雷达,下图为通用(Cruise)的自动驾驶汽车,采用了多激光雷达以弥补lidar+camera的不足,使用多激光雷达进行环境感知的前提是对各雷达的外参进行精准的标定,本文介绍一种基于NDT算法的自动多激光雷达标定技术,并且给出了代码实例以及测试数据(rosbag)供读者实践。

2020-05-05 12:21:16 15975 40

原创 自动驾驶系统进阶与项目实战(一)激光雷达-相机外参自动化标定算法及项目实战

通常而言,激光雷达和相机固定安装于无人车上,其相对关系一定,获得准确的齐次变换矩阵或者 $(x,y,z,roll,pitch,yaw)$ 变化量即完成了传感器的外参标定。然而,无人车安装的传感器数量较多,高效且自动化地完成多传感器标定对于自动驾驶研发而言非常关键,本文介绍一种自动化标定相机-激光雷达的方法,并且给出了相对完整的ROS实现以供读者参考。

2020-04-24 18:00:36 19012 60

原创 无人驾驶汽车系统入门(三十)——基于深度神经网络LaneNet的车道线检测及ROS实现

无人驾驶汽车系统入门(三十)——基于深度神经网络LaneNet的车道线检测及ROS实现前面的博文介绍了基于传统视觉的车道线检测方法,传统视觉车道线检测方法主要分为提取特征、车道像素聚类和车道线多项式拟合三个步骤。然而,无论是颜色特征还是梯度特征,人为设计的特征阈值存在鲁棒性差的问题,深度学习方法为车道线的检测带来了高鲁棒性的解决思路,在近年来逐步替代了传统视觉方法,本文介绍一种用于车道线检测的...

2019-05-26 17:43:27 25740 41

原创 无人驾驶汽车系统入门(二十九)——使用TensorFlow Object Detection API分别在GPU和Google Cloud TPU上训练交通信号灯检测神经网络

本文将解决如何使用TensorFlow Object Detection API训练交通信号灯检测网络,使用Lisa数据集,通过简单脚本将数据集整理为tf record格式,我们将分别在本地的GPU和Google Cloud提供的TPU上进行训练,最后导出网络的protocbuf权重,在jupyter notebook中进行模型验证。首先感谢谷歌TensorFlow Research Clo...

2019-03-17 21:41:33 7378 10

原创 无人驾驶汽车系统入门(二十八)——基于VoxelNet的激光雷达点云车辆检测及ROS实现

无人驾驶汽车系统入门(二十八)——基于VoxelNet的激光雷达点云车辆检测及ROS实现前文我们提到使用SqueezeSeg进行了三维点云的分割,由于采用的是SqueezeNet作为特征提取网络,该方法的处理速度相当迅速(在单GPU加速的情况下可达到100FPS以上的效率),然而,该方法存在如下的问题:第一,虽然采用了CRF改进边界模糊的问题,但是从实践结果来看,其分割的精度仍然偏低;第二,该...

2018-12-05 15:33:40 26043 53

原创 无人驾驶汽车系统入门(二十七)——基于地面平面拟合的激光雷达地面分割方法和ROS实现

无人驾驶汽车系统入门(二十七)——基于地面平面拟合的激光雷达地面分割方法和ROS实现在博客的第二十四篇中,我们介绍了一种基于射线的地面过滤方法,此方法能够很好的完成地面分割,但是存在几点不足:第一,存在少量噪点,不能彻底过滤出地面;第二,非地面的点容易被错误分类,造成非地面点缺失;第三,对于目标接近激光雷达盲区的情况,会出现误分割,即将非地面点云分割为地面。通过本文我们一起学习一种新的地面分割...

2018-11-27 17:02:04 26579 39

原创 无人驾驶汽车系统入门(二十六)——基于深度学习的实时激光雷达点云目标检测及ROS实现

无人驾驶汽车系统入门(二十六)——基于深度学习的实时激光雷达点云目标检测及ROS实现在前两篇文章中,我们使用PCL实现了在点云中对地面的过滤和点云的分割聚类,通常来说,在这两步以后我们将对分割出来的对象进行特征提取,紧接着我们训练一个分类器实现对这些对象的分类,这是一种基于激光雷达的目标检测方法。近年来,随着深度学习在图像视觉领域的发展,一类基于单纯的深度学习模型的点云目标检测方法被提出和应用...

2018-10-30 16:26:26 45966 73

原创 无人驾驶汽车系统入门(二十五)——基于欧几里德聚类的激光雷达点云分割及ROS实现

无人驾驶汽车系统入门(二十五)——基于欧几里德聚类的激光雷达点云分割及ROS实现上一篇文章中我们介绍了一种基于射线坡度阈值的地面分割方法,并且我们使用pcl_ros实现了一个简单的节点,在完成了点云的地面分割以后,为了使用激光雷达完成环境感知,我们通常会对非地面点云进行进一步的分割,换句话说,我们希望对地面以上的障碍物的点云进行聚类,通过聚类,我们可以检测出障碍物的边缘,并且使用3维的Boun...

2018-10-11 17:14:28 43479 86

原创 无人驾驶汽车系统入门(二十四)——激光雷达的地面-非地面分割和pcl_ros实践

无人驾驶汽车系统入门(二十四)——激光雷达的地面-非地面分割和pcl_ros实践在无人驾驶的雷达感知中,将雷达点云地面分割出来是一步基本的操作,这一步操作主要能够改善地面点对于地面以上的目标的点云聚类的影响。本文首先带大家入门pcl_ros,首先我们使用pcl_ros编写一个简单的ros节点,对输入点云进行Voxel Grid Filter。接着我们在此实践的基础上实现点云地面和非地面的分割节...

2018-09-29 18:19:10 43857 90

原创 无人驾驶汽车系统入门(二十三)——迁移学习和端到端无人驾驶

迁移学习和端到端无人驾驶 前面我们介绍了神经网络和深度学习的基础知识,在本文中我们将介绍迁移学习的概念,并将迁移学习应用于端到端无人驾驶模型。一般来说,大型深层神经网络的训练对计算资源要求较高。然而,很多普通开发者只拥有简单的深度学习计算环境,这成为阻碍深度学习广泛应用的瓶颈之一。例如,为了训练一个深度为50层的残差神经网络,利用NVIDIA M40 GPU需要大约14天才能完成模型训练。...

2018-09-05 09:50:29 12883 5

原创 无人驾驶汽车系统入门(二十二)——使用Autoware实践激光雷达与摄像机组合标定

无人驾驶汽车系统入门(二十二)——使用Autoware实践激光雷达与摄像机组合标定 单目相机分辨率高,我们可以使用各种深度学习算法完成对目标检测,但是缺乏深度,坐标等信息。激光雷达能够获得目标相当精确的三维坐标信息,但是分辨率低,目前主流的为64线和32线,稀疏的电云数据为模式识别带来了困难。一种简单的思路是融合相机和激光雷达对目标障碍物完成检测,在图像层面使用深度学习方法将目标检测识别,...

2018-08-14 17:21:16 58509 113

原创 无人驾驶汽车系统入门(二十一)——基于Frenet优化轨迹的无人车动作规划方法

动作规划动作在无人车规划模块的最底层,它负责根据当前配置和目标配置生成一序列的动作,我们前面讨论的三次样条插值实际上只是一个简单的路径,而非我们最终能够执行的轨迹,本文介绍一种基于Frenet坐标系的优化轨迹动作规划方法,该方法在高速情况下的ACC辅助驾驶和无人驾驶都具有很强的实用性,是目前普遍采用的一种动作规划算法。基于Frenet坐标系的动作规划方法由于是由BMW的Moritz W...

2018-06-22 23:20:35 47015 43

原创 无人驾驶汽车系统入门(二十)——基于自由边界三次样条插值的无人车路径生成

无人驾驶汽车系统入门(二十)——基于自由边界三次样条插值的无人车路径生成 前面我们提到,轨迹即包含时间这一维度的路径,而无人车的动作规划问题实际上就是要根据初始配置和目标配置生成一序列的动作,一种简单的思路即生成从当前位置x到目标位置y的轨迹,然后通过pure pursuit方法来完成循迹,其中,轨迹生成是非常重要的一步,在本节我们介绍一种基于三次样条插值的路径生成方法,后面我们将结合Mo...

2018-06-14 18:45:02 19107 10

原创 无人驾驶汽车系统入门(十九)——分层有限状态机和无人车行为规划

分层有限状态机和无人车行为规划 行为规划又称为行为决策,是无人车规划模块三层(任务,行为,动作)的中间层,本文将介绍行为规划的基本概念,设计核心,同时介绍一种具体的无人车行为规划方法——分层有限状态机,行为规划(Behavior Planning)是无人车规划模块的一层,位于全局任务规划和底层的动作规划层之间,驾驶行为规划也被称为驾驶行为决策,这一层的作用主要是依据来自上层(任务规划...

2018-06-09 15:08:13 18886 4

原创 无人驾驶汽车系统入门(十八)——使用pure pursuit实现无人车轨迹追踪

无人驾驶汽车系统入门(十八)——使用pure pursuit实现无人车轨迹追踪 对于无人车辆来说,在规划好路径以后(这个路径我们通常称为全局路径),全局路径由一系列路径点构成,这些路径点只要包含空间位置信息即可,也可以包含姿态信息,但是不需要与时间相关,这些路径点被称为全局路径点(Global Waypoint),路径(Path)和轨迹(Trajectory)的区别就在于,轨迹还包含了时间...

2018-06-03 11:22:40 65333 47

原创 无人驾驶汽车系统入门(十七)——无人驾驶系统基本框架

无人驾驶汽车系统入门(十七)——无人驾驶系统基本框架 前面的文章基本上是想写什么写什么,缺乏条理,本节我们完整的梳理一遍无人驾驶系统的基本框架,帮助读者建立对整个系统的完整认识无人驾驶系统的核心可以概述为三个部分:感知(Perception),规划(Planning)和控制(Control),这些部分的交互以及其与车辆硬件,其他车辆的交互可以用下图表示: 由上图可知,无人驾驶...

2018-05-29 10:50:37 42960 15

原创 无人驾驶汽车系统入门(十六)——最短路径搜索之A*算法

无人驾驶汽车系统入门(十六)——最短路径搜索之A*算法 路线规划中一个很核心的问题即最短路径的搜索,说到最短路径的搜索我们就不得不提A*算法,虽然原始的A*算法属于离散路径搜索算法(我们的世界是连续的),但是其使用启发式搜索函数的理念却影响着我们后面会介绍的连续路径搜索算法,所以在介绍连续路径搜索算法之前,理解基本的A*算法是很有必要的,本节我们从广度优先算法出发,一步步改良算法直到引出A...

2018-04-14 22:35:03 18342 6

原创 无人驾驶汽车系统入门(十五)——ROS入门与实践(2)

无人驾驶汽车系统入门(十五)——ROS入门与实践(2) 上一节我们讲了ros的核心概念以及命令行的基本操作,在本节我们一起了解一下ros的基本编程,我们讲通过Husky模拟器完成一个简易的ROS包,通过实例了解ROS下的CMake文件的语法,然后使用Rviz可视化激光扫描的结果创作不易,转载请注明出处:https://blog.csdn.net/AdamShan/article/...

2018-04-10 16:06:11 11622 1

原创 无人驾驶汽车系统入门(十四)——ROS入门与实践(1)

无人驾驶汽车系统入门(十四)——ROS入门与实践(1) 前言:作为目前最广泛使用的开源机器人软件平台,ROS(Robot Operating System)极大的提升了机器人开发的效率。目前无人驾驶系统的实际实现仍然依赖于ROS,作为一个相对成熟的机器人软件平台,ROS虽然存在一些缺点,在无人驾驶系统的系统实现上,ROS仍然是开源框架中最好的选择,这也是为什么诸如Apollo,Autowa...

2018-03-22 14:17:07 31886 4

原创 Move-it无人驾驶黑客马拉松记录

Move-it无人驾驶黑客马拉松记录 好久没有更新博客了,近段时间参加了在贵阳由pixmoving举办的无人驾驶黑客马拉松,和来自全球10余个国家的20余名黑客在5天时间内做了一辆具备场内驾驶能力的无人驾驶汽车,本片文章其实是我个人对于本次活动的一个记录,我是本文作者,原文首发在“优达学城Udacity”微信公众号,更多细节推荐大家关注这个公众号。原文链接:https://mp.we...

2018-03-16 17:02:01 5993 6

原创 无人驾驶汽车系统入门(十三)——正态分布变换(NDT)配准与无人车定位

无人驾驶汽车系统入门(十三)——正态分布变换(NDT)配准与无人车定位 定位即确定无人车在这个世界中的哪个位置,是无人驾驶技术栈中必不可少的一部分。对于无人车而言,对定位的要求极高,一般情况下,我们希望我们的无人车能够达到 厘米级 的定位精度,单纯使用GPS能够达到米级别的定位,显然,无人车的定位模块需要其他的技术支持以进一步提高定位的精度。本文介绍一种依赖于高精度地图和激光雷达的定位技术

2018-02-01 17:02:58 28679 23

原创 无人驾驶汽车系统入门(十二)——卷积神经网络入门,基于深度学习的车辆实时检测

无人驾驶汽车系统入门(十二)——卷积神经网络入门,基于深度学习的车辆实时检测 上篇文章我们讲到能否尽可能利用上图像的二维特征来设计神经网络,以此来进一步提高识别的精度。在这篇博客中,我们学习一类专门用来处理具有网格结构的数据的神经网络——卷积网络(Convolutional Network)。此外,我们使用keras来实现一种深层卷积网络——YOLO,使用YOLO对车辆进行实时检测。

2018-01-29 12:17:25 47947 43

原创 无人驾驶汽车系统入门(十一)——深度前馈网络,深度学习的正则化,交通信号识别

无人驾驶汽车系统入门(十一)——深度前馈网络,深度学习的正则化,交通信号识别 在第九篇博客中我们介绍了神经网络,它是一种机器学习方法,基于经验风险最小化策略,凭借这神经网络的拟合任意函数的能力,我们可以使用神经网络来表示任意的模式。然而,在前几十年,神经网络并没有受到人们的重视,直到深度学习的出现,人们利用深度学习解决了不少实际问题(即一些落地性质的商业应用),神经网络才成为学界和工业界关

2018-01-22 12:29:06 10810 5

原创 无人驾驶汽车系统入门(十)——基于运动学模型的模型预测控制

无人驾驶汽车系统入门(十)——基于运动学模型的模型预测控制 在前面的第五篇博客中,我们介绍了两种常见的车辆模型——运动学自行车模型和动力学自行车模型,本节我们基于运动学车辆模型引入一种新的控制理论—— 模型预测性控制 (Model Predictive Control) ,传统的PID控制器简单易于实现,被广泛应用,但是它并不一定能够以最“节约”的方式进行控制,即所谓的 优化控制, 而MP

2018-01-17 12:03:57 43395 21

原创 无人驾驶汽车系统入门(九)——神经网络基础

无人驾驶汽车系统入门(九)——神经网络基础 在上一节中,我们介绍了机器学习的相关基础,尤其是知道了监督学习的基本构成因素:数据,模型,策略和算法。在本节,我们具体学习一种监督学习算法——神经网络。现代深度学习模型其本质均为人工神经网络,所以在进一步探索深度学习在无人驾驶中的应用之前,我们先了解一下神经网络的理论基础和代码实现。创作不易,转载请注明出处:http://blog.csdn

2018-01-08 16:52:47 12829 5

原创 无人驾驶汽车系统入门(八)——机器学习入门

无人驾驶汽车系统入门(八)——机器学习入门 在上一章中,我们介绍了基于传统的计算机视觉的技术实现的车道线检测,在这个过程中我们不难发现,使用传统的计算机视觉,往往需要人为地设计特征,这些特征对于不同的任务来说是不同的,车道线检测和行人检测要分别设计特征,另一方面,人为地设计特征往往会存在疏漏,对于无人驾驶汽车来说,忽视了某种情况的程序设计缺陷可能会造成严重的后果。 在本节我们开始了解机器学

2017-12-29 12:31:38 16843 2

原创 无人驾驶汽车系统入门(七)——基于传统计算机视觉的车道线检测(2)

无人驾驶汽车系统入门(七)——基于传统计算机视觉的车道线检测(2)原创不易,转载请注明来源:http://blog.csdn.net/adamshan/article/details/78733302接上文,在获得ROI(透视变换)以后,我们对得到的“鸟瞰图”应用色彩阈值化和梯度阈值化,以得到鸟瞰图中“可能为”车道线的像素然后再使用滑动窗口来确定车道线的多项式系数,下面我们来具体讨论这两个步骤。边缘

2017-12-06 18:09:41 29178 23

原创 无人驾驶汽车系统入门(六)——基于传统计算机视觉的车道线检测(1)

无人驾驶汽车系统入门(六)——基于传统计算机视觉的车道线检测(1) 感知,作为无人驾驶汽车系统中的“眼睛”,是目前无人驾驶汽车量产和商用化的最大障碍之一(技术角度), 目前,高等级的无人驾驶汽车系统仍然非常依赖于激光雷达的测量,通过激光雷达构造周围环境的3D地图,从而为无人驾驶系统的决策和规划提供准确的环境信息和自身相对的位置信息。然而,激光雷达雷达在成本,解析度的方面都不理想,所以基于视

2017-12-04 18:52:02 27267 15

原创 无人驾驶汽车系统入门(五)——运动学自行车模型和动力学自行车模型

无人驾驶汽车系统入门(五)——运动学自行车模型和动力学自行车模型 在简要了解了PID控制以后,我们就要接触一些现代的控制算法。在了解高级的车辆控制算法之前,掌握车辆运动模型是非常有必要的。车辆运动模型就是一类能够描述我们的车辆的运动规律的模型。显然,越复杂的模型就越接近现实中的车辆运动规律,本节我们一起了解一下两个广泛使用的车辆模型——运动学自行车模型(Kinematic Bicycle

2017-12-02 16:59:21 71322 29

原创 无人驾驶汽车系统入门(四)——反馈控制入门,PID控制

前面几篇博客介绍了卡尔曼滤波的一些基本算法,其实目标追踪,定位,传感器融合还有很多问题要处理,这些我们在以后的系列博客中在进一步细讲,现在我想给大家介绍一下无人驾驶汽车系统开发中需要的控制相关的理论和技术,还是和第一篇说的那样,我想到哪就写到哪,追踪和定位等更高级的算法我在后面会继续写。所以感兴趣的同学可以关注我的博客,无人驾驶汽车系统入门系列博客会一直更新下去。这一篇主要讲控制的入门,为什么需要

2017-11-06 15:41:42 30020 19

原创 无人驾驶汽车系统入门(三)——无损卡尔曼滤波,目标追踪,C++

前面两篇文章我们了解了卡尔曼滤波以及扩展卡尔曼滤波在目标追踪的应用,我们在上一篇文章中还具体用Python实现了EKF,但是细心的同学会发现,EKF的效率确实很低,计算雅可比矩阵确实是一个很费时的操作,当问题(非线性的)一旦变得复杂,其计算量就变得十分不可控制。在此再向大家接受一种滤波——无损卡尔曼滤波(Unscented Kalman Filter, UKF)创作不易,转载请注明来源:ht

2017-10-26 21:37:15 34460 32

原创 无人驾驶汽车系统入门(二)——高级运动模型和扩展卡尔曼滤波

前言:上一篇文章的最后我们提到卡尔曼滤波存在着一个非常大的局限性——它仅能对线性的处理模型和测量模型进行精确的估计,在非线性的场景中并不能达到最优的估计效果。所以之前为了保证我们的处理模型是线性的,我们上一节中使用了恒定速度模型,然后将估计目标的加减速用处理噪声来表示,这一模型用来估算行人的状态其实已经足够了,但是在现实的驾驶环境中,我们不仅要估计行人,我们除了估计行人状态以外,我们还需要估计其他

2017-10-17 20:22:22 63522 86

kaist02.pcd

KAIST区域的点云地图,使用SC-LEGO-LOAM方法构建,详情见博客:https://blog.csdn.net/AdamShan/article/details/106589633

2020-06-12

基于欧几里德聚类的障碍物检测ROS实现

使用PCL实现的欧几里德聚类ROS节点,配合地面过滤可实现较为理想的激光雷达障碍物检测,具体见博客链接:https://blog.csdn.net/AdamShan/article/details/83015570

2018-10-11

基于ray filter的雷达点云地面过滤ROS节点

基于ray filter的雷达点云地面过滤ROS节点,使用PCL实现,具体参考博客:https://blog.csdn.net/AdamShan/article/details/82901295

2018-09-29

基于Frenet优化轨迹的无人车动作规划实例

基于Frenet优化轨迹的无人车动作规划实例,使用Python实现,主要为高速场景,具体参考博客:https://blog.csdn.net/AdamShan/article/details/80779615

2018-06-22

基于YOLO神经网络的实时车辆检测代码

基于深度学习的实时车辆检测代码,详情见博客:http://blog.csdn.net/adamshan/article/details/79193775

2018-01-29

深度前馈网路的交通信号检测

基于深度前馈网络的交通信号识别完整代码,keras框架实现,详情见博客:http://blog.csdn.net/adamshan/article/details/79127573

2018-01-22

神经网络入门代码(见系列博客)

神经网络入门代码,keras实现,MNIST数据集识别,详情见博客:http://blog.csdn.net/adamshan/article/details/79004784

2018-01-08

基于视觉的车道线检测完整代码

基于视觉的曲线车道线检测完整代码,采用滑动窗口,详情见博客:http://blog.csdn.net/adamshan/article/details/78733302

2017-12-06

扩展卡尔曼滤波代码和数据

基于扩展卡尔曼滤波的车辆追踪项目,C++实现,CTRV模型,激光雷达和雷达传感器融合,详情见博客http://blog.csdn.net/adamshan/article/details/78359048

2017-10-26

目标追踪-雷达-激光雷达数据

用于扩展卡尔曼滤波算法测试的目标追踪-雷达-激光雷达数据,详情请见博客:http://blog.csdn.net/adamshan/article/details/78265754

2017-10-21

空空如也

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

TA关注的人

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