一、SLAM是什么 SLAM的全称是Simultaneous Localization And Mapping,翻译过来就是即时定位与地图构建。这里有两个关键词:定位和地图构建,也就是说机器人会在未知的环境中,一边确定自己的位置,一边去构建地图,最后输出类似这样的地图。 简而言之,SLAM地图构建的过程就是用深度传感器测量机器人和周围环境的距离信息,从而完成对周边环境的地图构建,同时,机器人会对
联合标定三维雷达和IMU,第一步要先对齐两种传感信息的时间戳。 ros官网提供了message_filters用于对齐多种传感信息的时间戳。 http://wiki.ros.org/message_filters#Time_Synchronizer 注意,对齐传感信息时间戳有两种方式,一种是时间戳完全对齐 ExactTime Policy ,另一种是时间戳相近 ApproximateTime P
1. Here的高精地图 1.1 简介 很多厂家都有自己的高精地图产品, 其中有Here、 Mobileye这类专门提供高精地图的厂商, 也有像Waymo、百度这样的自动驾驶公司. 本文章将选取其中的两个代表Here和百度Apollo进行分析.Here官方的宣传视频:Here HD Live MapHere的高精实时地图以云服务为基础, 基础架构包含了道路模型、车道模型、定位模型三个层次结构[[4
整个论文的思路请参考: 搬砖的旺财:基于DQN的快速避障路径规划 initialisingtarget.py生成每个训练图像对应的初始Q值,保存在TXT文件targets200_new中,产生的Q值只是随机初始化模型的输出。 一、定义函数 定义一个函数,用于初始化所有的权值W def weight_variable(shape): initial = tf.truncated_n
我眼中的SLAM 从最开始接触SLAM已经3年了,从二维激光SLAM到三维激光SLAM,再到视觉SLAM,都有一些接触,现将简单梳理一下SLAM的各个模块的功能以及实现方式,为本系列文章起到个总领作用。 1 SLAM是什么 SLAM(simultaneous localization and mapping)的中文翻译为 同步定位与地图构建。目的有2个,一个是进行定位,一个是进行周围环境的地图的构
前言 PCL库中有很多配准的方式,主要都是基于ICP ICP算法最初由Besl和Mckey提出,是一种基于轮廓特征的点配准方法。基准点在CT图像坐标系及世界坐标系下的坐标点集P = {Pi, i = 0,1, 2,…,k}及U = {Ui,i=0,1,2,…,n}。其中,U与P元素间不必存在一一对应关系,元素数目亦不必相同,设k ≥ n。配准过程就是求取 2 个坐标系间的旋转和平移变换矩阵,使得来
跑别人的数据集总感觉不如自己跑这舒服,所以我就自己用自带的摄像头跑了一次orb_slam2,结果发现坑还不少,所以把坑都写出来,避免以后有和我一样的朋友踩坑,这是一篇资源汇总帖。 我的环境:ubuntu14.04+ros indigo+opencv2.8.4(最开始是3.1,后来发现不行,所以就改了) 首先,先标定相机吧,我这里用的是MATLAB标定工具箱,我觉得能够用工具箱解决的,没有必要自己
前言 对于自动驾驶来说,高精度定位必不可少。为了让自动驾驶系统更高频率的获取定位信息,就必须引入更高频率的传感器,这时就体现出了惯性测量单元(Inertial Measurement Unit,IMU)的重要性。本文基于工程角度出发,简述工业中IMU评估的方法,以供参考。 一、通讯要求 针对惯性传感器来说,目前的主流通信形式为can通信,需要根据自动驾驶系统架构确认是否支持CAN或者CAN FD通
整个论文的思路请参考: 搬砖的旺财:基于DQN的快速避障路径规划 training2.py开始训练模型。随机batch-size的图片从训练数据中选出来喂给模型。该模型的权值更新取决于损失函数。 一、函数 1. 定义一个函数,用于构建卷积层 def conv2d(x, W): return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding
1. 前言 在自动驾驶或机器人领域,我们目前接触最多的惯性器件就是MEMS了,偶尔会接触到采集车里的光纤惯导。这是我们处在这个行业所看到的情况,但其实它只是惯性领域的局部,把局部放在全局里去看,会对它有更深的理解。为了做到这一点,我们需要在横向上了解还有哪些其它的惯性器件,在纵向上了解每种器件的发展历史。 2. 发展历史 惯性技术的发展史,本质上就是惯性器件的发展史。惯导系统的每一次突破,都是从惯
前言 这篇博客主要是 之前总是被坐标变换的 各种说法弄糊涂,这篇博客就不管别人怎么定义了通过模拟场景 定义一个自己的说法,爱谁谁 首先坐标变换的数学计算实质就是 矩阵的计算,这里先安利一个 矩阵在线计算的网站 不用手动算了矩阵在线计算的网站这里面有很多的 矩阵的计算的在线求解 挺不错的包含:矩阵乘法、线性方程组、矩阵的逆矩阵、行列式的值、特征值和特征向量、Cholesky分解、上三角下三角分解、奇
高精地图HD-Map 1. 介绍 高精地图相对于传统地图精度更高(厘米级), 而且增加了路的几何形状、路标、交通信号灯等信息[1].不同的自动驾驶阶段对地图也有着不同的要求: L0只需要导航地图(是一种有向图结构) L1-L2不需要高精地图 L3及以上需要高精地图 2. 高精地图的采集 高精地图的数据由各种传感器采集而来, 它们各自有着自己的优势和缺陷. 2.1 利用传感器采集数据 GPS 通
《多传感器融合定位理论基础》是《从零开始做自动驾驶定位》系列的第二阶段,这一阶段的文章是根据我之前在《泡泡机器人》公众号上写的《组合导航系列文章》重新修改而来。 在这里必须向《泡泡机器人》的读者道歉,当时写那几篇系列文章时,我的认真度不够,尤其到了后期,交了几篇潦草的稿子,干货太少,浪费了各位读者的宝贵时间。这件事后来让我非常自责,这是我在那段时间里,在技术上做过的最后悔的一件事,一直耿耿于怀,心
本文直接使用的github上的orb_slam_2_ros实现在ROS上运行ORB-SLAM2,这个ros包能够得到相机的位姿以及稀疏点云,而且删掉了对Pangolin的依赖,进行可视化时要用RViz。 运行环境硬件环境:Intel Up2、Realsense D435i软件环境:Ubuntu18.04、ROS melodic、librealsense2.29、realsense-ros2.2.9
功能包名称:lidar_aligngit网址:链接 功能介绍 一种 校准 3D 激光雷达和 6 自由度位姿传感器 外参 的 方法 适配的ROS版本有 Indigo、Kinect、Melodic 准确的结果需要 大量 非平面的运动,这使得该方法不适合 校准 安装在汽车上的传感器以为只有在那个方向上有数据的变化才能计算出最终的结果。 整个功能包大体上实现了下面的功能:1、读取lidar和位姿传感器的数
看这篇之前建议先看这篇,里面讲了非线性优化的原理即相关名词的概念,然后介绍了NLopt的使用方法,这个方法是基于C语言的,本片介绍一个NLopt的实例,用的C++语言。 在实例之前,先介绍下NLopt支持的算法,以及算法使用的注意事项 NLopt 支持的算法 NLopt 包含很多种不同的优化算法。 在头文件里面算法名称的枚举类型为 enum algorithm { GN_DIRECT
前言 什么是NLopt ?NLopt(nonlinear optimization)是一个免费的开源的库,提供了很多种非线性优化算的使用接口。 NLopt的优点:1、其中非常大的优势就是提供多种支持的语言,包括C/ C++/ Julia/ Python/ R/ Fortran/ Lua/ OCaml/ Octave等都支持2、它还可以让你对一个问题尝试不同的算法,调整一个参数就行\3、支持一些高维
0.目的 A*在搜索过程中对对称路径的搜索,造成了算法的效率低下。JPS的提出就是为了打破搜索过程中的对称路径,从而提高搜索算法的效率。 1.概述 JPS算法里只有跳点才会被加入openlist里,排除了大量不必要的点,最后找出来的最短路径也是由跳点组成。这也是 JPS高效的主要原因。 除了扩展节点的方法不同,JPS 算法流程和 A* 算法流程几乎是一样的: 李忠:路径规划学习笔记之二—Dljks
0 概述 基于搜索路径规划算法最常用的是Dljkstra(迪杰斯特拉)和A算法,A*算法可认为是迪杰斯特拉算法的扩展。这两种算法流程基本相同,唯一的区别是A*在代价值计算中增加了启发函数 1. 区别 Dijkstra算法的实质是广度优先搜索(队列的先入后出),是一种发散式的搜索。 A*=Dijkstra+贪心算法(启发式函数) 2. A*算法原理 2.1 算法流程 A*算法流程 首先A*算法使
搜素关键词:"indoor location", "indoor localization", "indoor tracking" and "indoor positioning" 对于移动机器人,定位技术是保证移动机器人轨迹/运动作业的前提技术,特别是跟踪作业的基础。与自动驾驶车辆定位不同,小型移动机器人所需要的定位精度。根据作业环境,小型移动机器人定位技术可以视为室内定位系统(Indoor
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信