- 博客(36)
- 收藏
- 关注
原创 如何安装vcstool和python3-colcon-common-extensions
在基于Debian的平台上,推荐的方法是安装软件包python3-vcstool。在Ubuntu上,这是使用apt-get完成的:sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net..
2021-05-18 21:17:25 2441 1
原创 Cartographer代码阅读笔记:位姿推理器(PoseExtrapolator)
本人热衷于机器人导航算法研究,希望与志同道合伙伴一起探讨有关技术。文章目录前沿代码解析小结前沿Cartographer中位姿推理器(PoseExtrapolator)融合里程计数据和IMU数据,为Local SLAM提供初始位姿估计。Cartographer有关其他分析文章:回到目录本文的代码文件在:cartographer/mapping/internal/pose_extrapolator.cc接下来探讨一下该文件中关键函数的具体实现过程:代码解析PoseExtrapolator(.
2020-10-12 22:47:57 1614
原创 Cartographer代码阅读笔记:前后端的入口(GlobalTrajectoryBuilder)
本人热衷于机器人导航算法研究,希望与志同道合伙伴一起探讨有关技术。文章目录前沿代码解析小结前沿Local SLAM中的任务是接收激光雷达的扫描数据、进行扫描匹配、估计机器人位姿和将符合条件的扫描数据插入到子图中,而不具备任何闭环检测和全局优化的能力(这些是Global SLAM中的任务)。Local SLAM 和 Global SLAM之间一定存在某种通讯才使得后端(Global SLAM)能够看到前端(Local SLAM)构建的子图和位姿估计等信息,进而实现闭环检测和全局优化的目的。而这一工.
2020-10-12 17:57:09 495
原创 Cartographer代码阅读笔记:Local SLAM的实现
本文将研究一下Cartographer中前端实现的过程,其主要流程为:将激光雷达数据和位姿推理器(Pose Extrapolator)估计的位姿输入到扫描匹配器(Scan Matching),并使用Ceres库完成优化计算,得到机器人位姿的观测值。观测值一方面反馈给位姿推理器用于修正其估计值,另一方面提供给运动滤波器用于判断机器人是否运动了。如果运动了,就将此刻的点云数据插入到当前正在维护的子图中。同时输出插入的结果,包含了位姿、子图、激光扫描数据和时间信息。相关文件在:cartographer/ma..
2020-10-12 15:56:55 973
原创 Cartographer代码阅读笔记:后端优化器
###后端优化简介Cartographer的后端优化器是通过SPA(Sparse Pose Adjustment)的技术,根据路径节点和子图之间的约束关系,最终优化路径节点和子图的世界坐标。路径节点和子图之间的约束关系是由约束构建器通过回环检测方法得到的。而所谓的SPA技术,本质上还是通过LM(Levenberg-Marquardt)方法进行非线性寻优。并且由于不是所有的子图和路径节点之间都能成功构建约束,以至于LM的增量方程中的H矩阵是一个稀疏矩阵,这样就可以通过使用一些优化手段来降低对内存的需求,提高
2020-10-11 21:37:38 884
原创 Cartographer代码阅读笔记:位姿图的创建与更新
本文将深入研究一下Cartographer是如何创建和更新位姿图的,文件在:cartographer/mapping/internal/2d/pose_graph_2d.cc中。1.位姿图的构造和初始化PoseGraph2D()构造函数/** * @brief 位姿图构造函数,在构造列表中完成一些成员变量的构造 * @param options 是从配置文件中加载的关于位姿图的配置项 * @param optimization_problem 是一个智能指针指向后端优化问题求解器 * @pa
2020-10-11 15:24:37 1080
原创 ubuntu系统工具使用:chrome安装
chrome安装sudo wget http://www.linuxidc.com/files/repo/google-chrome.list -P /etc/apt/sources.list.d/wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -sudo apt-get updatesudo apt-get install google-chrome-stable/usr/bin
2020-10-08 14:27:12 137
原创 Linux下分割、合并PDF(pdftk)
安装pdftksnap install pdftk拆分pdftk 123.pdf cat 1-45 output out1_45.pdf合并pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdfpdftk A=1.pdf B=2.pdf C=pdf cat A1-2 B2-3 C3 output abc.pdf删除某页pdftk in.pdf cat A1-12 A14-end output out1.pdf
2020-10-08 14:23:35 380
原创 Cartographer代码阅读笔记:回环检测
1.fast_correlative_scan_matcher_2d.cppScoreCandidates函数分析// 计算当前层的候选解在对应分辨率地图中的匹配得分,并按照得分从大到小的顺序排序。void FastCorrelativeScanMatcher2D::ScoreCandidates( const PrecomputationGrid2D& precomputation_grid, const std::vector<DiscreteScan2D>&a
2020-10-07 17:10:39 2804 1
原创 ubuntu系统Tushare安装、注册与使用
1.Tushare 简介Tushare是一个免费、开源的python财经数据接口包。拥有如股票、基金、期货等行情数据,公司财务、基金经理等基本面数据,以及债券、外汇、行业、大数据、区块链。Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,因此非常方便用于进行数据分析和可视化。目前现已升级到tushare pro版本。2.注册地址: Tushare3.安装pip3 install tushare4.使用import tushare as tsts.set_
2020-09-29 22:34:33 909
原创 “抱歉,您没有访问该接口的权限,权限的具体详情访问:https://tushare.pro/document/1?doc_id=108”问题
1.报错原因未注册或积分不够。2.注册地址: Tushare3.获取积分方法https://tushare.pro/document/1?doc_id=13
2020-09-29 22:21:47 4867 1
原创 Tushare Pro安装、注册与使用
1.Tushare 简介Tushare是一个免费、开源的python财经数据接口包。拥有如股票、基金、期货等行情数据,公司财务、基金经理等基本面数据,以及债券、外汇、行业、大数据、区块链。Tushare返回的绝大部分的数据格式都是pandas DataFrame类型,因此非常方便用于进行数据分析和可视化。目前现已升级到tushare pro版本。2.注册地址:https://tushare.pro/register?reg=3948653.安装pip3 install tushare4.使用
2020-09-29 22:04:37 2694
原创 Linux常用工具配置
VSCode 插件C/C++C/C++ Snippets, C/C++ 重用代码块.C/C++ Advanced Lint, C/C++ 静态检测.Code Runner, 代码运行.Include AutoComplete, 自动头文件包含.Rainbow Brackets, 彩虹花括号.One Dark Pro, VSCode的主题.GBKtoUTF8, 将GBK转换成为UTF8.ARM ,支持ARM汇编语法高亮显示.Chinese(Simplified) , 中文环境.vsco
2020-08-17 20:08:25 155
原创 TensorFlow笔记
神经网络实现过程数据准备搭建网络训练网络预测损失函数预测值与已知答案的差距均方误差交叉熵误差:表征两个概率分布之间的距离自定义学习率每次参数更新的幅度指数衰减学习率滑动平均记录了每一个参数一段时间内过往值的平均,增加模型的泛化性。正则化在损失函数中引入模型复杂度指标,利用给W加权值,弱化训练数据的噪声,起到缓解过拟合作用。L1正则化L2正则化...
2019-09-21 23:02:33 124
原创 运动恢复结构
基本原理:在相机模型的基础上,通过图像的特征点匹配,建立不同视角拍摄图像的场景点之间的对应关系;再根据多视角几何原理,优化计算得到这些场景点的三维坐标和相机的位姿参数。...
2019-09-17 17:24:37 742
原创 贝叶斯公式
先验概率(P(θ)):根据历史规律确定原因的概率分布(由历史求因)。似然估计(P(x/θ)):根据原因来估计结果的概率分布(由因求果)。后验概率(P(θ/x)):根据结果估计原因的概率分布(知果求因)。贝叶斯公式:P(θ/x) = P(x/θ)*P(θ) / P(x);P(x)称为证据,不考虑原因只看结果的概率分布。...
2019-09-16 17:31:17 278
原创 优化方法(激光 VS 视觉)
增量式优化保持当前的状态估计,在有新数据加入时,更新已有的估计。KF:线性系统+高斯噪声。EKF:非线性系统+高斯噪声。PF:非线性系统+非高斯噪声。图优化:批量式优化给定一定规模数据(观测和运动),计算该数据下的状态估计。...
2019-09-16 16:32:28 246
原创 回环检测(激光 VS 视觉)
一、激光分支定界二、视觉检测指标准确率和召回率假阴性:算法检测不是回环,事实是回环。假阳性:算法检测是回环,事实不是回环。算法\事实是回环不是回环是回环真阳性假阳性不是回环假阴性真阴性词袋模型1、创建字典k-means:随机选取k个中心点。每个样本计算它与每个中心点的距离,取最小的最为它的归类。重新计算中心点。结束条件:迭代...
2019-09-16 15:41:41 970
原创 帧间匹配算法(激光里程计)
ICP参考点云和目标点云中寻找对应点。计算均方根误差,计算变换矩阵。迭代(使用获得的变换矩阵来变换目标点云,并重新寻找对应点),直到满足迭代终止条件(迭代次数或误差小于阈值)。NDT将空间划分成各个格子cell。将参考点云和目标点云(变换之后)投票到各个格子。计算格子的正态分布概率密度函数参数、响应的概率分布函数、目标函数。特征角点、平面点;计算曲率...
2019-09-16 11:05:40 3097
原创 相机模型
相机模型针孔相机模型:焦距(fx, fy)、偏移(cx, cy)、径向畸变(k1, k2, k3)、切向畸变(p1, p2)。双目相机模型:视差。深度相机模型:非线性畸变径向畸变:桶形畸变、枕形畸变;广角镜头、长焦镜头...
2019-09-16 07:15:44 171
原创 遗传算法
1、算法步骤编码、随机产生初始群体个体评价、选择、确定是否输出随机交叉运算随机变异运算转向个体评价,开始新循环2、遗传操作复制交换变异终止条件遗传算子选择算子复制算子交叉算子变异算子重排序算子倒序算子...
2019-09-15 23:37:09 135
原创 感知
Lidar、CameraLidar:测距准Camera:识别准感知目的小感知:检测、分割、识别、跟踪大感知:标注、建图、定位、障碍物行为预测
2019-09-15 11:36:49 240
原创 ROS
ROS一个目标:提高机器人研发中的软件复用率。五个特点:分布式设计、支持多语言、架构精简集成度高、组件工具包丰富、免费开源。四位一体:通讯机制、开发工具、应用功能、生态系统。缺点:通讯实时性不够、系统稳定性不满足工业级要求、安全性不够、ROS1仅支持Linux。...
2019-09-14 22:56:34 209
原创 激活函数
ReLU分段线性,计算简单。梯度消失;Sigmoid和双曲正切函数在两端时导数容易趋近于零。关闭左边;使部分节点输出为零,起到类似L1正则化作用,一定程度上缓解过拟合。...
2019-09-11 12:37:29 98
原创 前端-视觉里程计
梯度下降与高斯牛顿比较梯度下降:优点是计算量小,在步长设置的比较大时,可以有较快的收敛速度;缺点是在极小值点处发生震荡。高斯牛顿:有点是在极小值附近更快的收敛(二阶导数反应梯度的趋势);缺点需要计算H矩阵。...
2019-09-10 23:29:13 225
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人