自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菠菜明灯的博客

希望可以在机器人领域闯出一片天~

  • 博客(21)
  • 资源 (2)
  • 问答 (25)
  • 收藏
  • 关注

原创 ORBSLAM2源码阅读(2)——算法部分

算法通用数据结构TrackingOrb特征提取oFASTrBRIEFORBSLAM中的实际应用从之前的关键帧中初始化位姿估计从全局重定位中初始化位姿估计本来的打算是直接进三个线程源码的,结果整理了一下发现如果直接进源码根本不知道他在干什么,而且虽然名字叫ORB-SLAM,但是内容却不仅仅是ORB,牵扯到论文很多也很细,内容也非常有意思。所以想着就先单独把算法部分提出来,统一梳理一边,也方便之后...

2019-09-30 22:02:14 757 1

原创 ORBSLAM2源码阅读(1)——概论

最近一直在沉迷明日方舟好久没更新博客了,好在这游戏理智少,而且想着自己不能再颓废下去,痛定思痛,决定开始开这个坑。ORBSLAM2应该会是目前能开的最大的坑了吧,我尽量做完(咕咕)。如果看到有什么错误的地方或者感觉需要改进的地方请务必和我说,大家一起努力嘛~关于整个orbslam的流程,请参考这个博客。现摘录如下:先要拿大名鼎鼎的ORB-SLAM系统框图镇楼,看着这张图能够完美的串起来整个流...

2019-09-16 22:31:21 461

转载 理解OSRM(4)-MLD算法总览

Multi-Level Dijkstra算法来源自论文Customizable route planning in road networks.。这部分目前是读书笔记。绪论可用的现实生活可用的规划引擎必须满足以下要求:必须包含路况的全部细节,包括转向代价等;算法必须有通用性,包括但不仅限于最短距离、走路、汽车等;路况更新应该更加有效;算法引擎不能成为app的瓶颈。将拓扑搜索与米...

2019-05-10 21:18:23 3016

转载 理解OSRM(3)-CH算法总览

引用自【Algorithms】最短路径算法CH:Contraction hierarchies预处理生成一个多层的结构,每个点都处在单独的一层。事先对点进行优先级排序(怎么排都行,但是排序的好坏直接影响到预处理的效率以及搜索的效率。举个例子,邻接点个数)点的优先级(高低)是人为指定的,根据优先级从低到高依次选点进行contraction.什么是contraction呢,假设拿掉这个点,看看会不...

2019-05-10 21:18:17 2178

原创 理解OSRM(2)-osrm-extract

to_do

2019-05-10 21:18:09 1620

原创 理解OSRM(1)-总览

OSRM内置2种算法:1、CH:Contraction Hierarchies。需要较长的预处理时间,但是处理完成后速度较快;2、MLD:Multi Level Dijkstra。预处理与查询时间都普通的快。其具体是现在\src\engine\plugins\viaroute.cpp中。首先,对算法与输入量进行核查,检查算法的支持以及输入量是否合法。...

2019-05-10 21:18:00 3261 1

原创 使用cmake时遇到 undefined reference to `dlopen'怎么办?

在CMAKE_CXX_FLAGS中添加-ld时没用的,请在target_link_libraries中添加dl。

2019-04-25 14:54:10 6036 2

原创 vscode中c++的三个配置文件的作用

之前一直在linux上用vscode进行,抄的别人的配置文件,但是总感觉云里雾里的。今天回头重新看了一次,感觉突然就明白了,当然如果有什么问题的话还是请提出来,谢谢~c_cpp_properties.json:c与cpp选项。并不太需要去动它,如果出现明明在系统环境中的头文件找不到的情况,那就很可能是这里出问题了,在"includePath"里加上即可。launch.json:调试相关选项。选...

2019-04-22 17:58:35 2334 3

原创 Boost程序库开发指南阅读笔记

第2章 时间与日期timer,小精度短时间的时间测量。progess_timer 析构时自动输出事件,可以配合大刮号使用。

2019-04-12 17:19:30 332

原创 g2o学习-《视觉slam十四讲》中的g2o

如果想学好视觉slam,看来g2o是无论如何都绕不开的一个槛。我也在学习这个库的使用,希望可以分享一点学习心得~感谢无人的回忆的转载的博客以及半闲居士做的系列博客。目前的准备是讲《视觉slam十四讲》中所有用到g2o的部分都给弄明白,那么咱们开始吧~文章目录概论定义顶点和边的类型构建图并选择优化算法调用g2o进行优化,返回结果第6讲 拟合曲线:g2o_curve_fitting1. 定义顶...

2019-03-25 11:47:47 1914 1

原创 学习《视觉slam十四讲》中sophus遇到未定义引用问题

实际上因为安装了ros自带的sophus是模板类,而书上代码是非模板类,所以只需要:sudo apt-remove ros-版本-sophus然后按照例程重新安装就行。

2019-02-27 21:50:07 3504 8

原创 gmapping源码阅读

最近想着多学习学习slam的相关知识,所以这一篇源码阅读实际上更像是学习记录。openslam的官方上都吐槽这个当作黑盒子来用还是ok的但是想对算法进行修改需要相当的cpp功力,加油吧。。。对应的文件会用文件表示,对应的函数用粗体表示,对应的变量用斜体表示。因为本人水平有限,也是刚开始接触slam,欢迎在评论区交流或者直接邮箱联系我:[email protected],毕竟大家一起学习...

2019-02-17 22:56:46 3283 4

原创 Google 开源项目风格指南阅读笔记

头文件所有头文件要能够自给自足。换言之,用户和重构工具不需要为特别场合而包含额外的头文件。所有头文件都应该使用 #define 来防止头文件被多重包含, 命名格式当是: <PROJECT>_<PATH>_<FILE>_H_.尽量避免前置声明那些定义在其他项目中的实体.函数:总是使用 #include.类模板:优先使用 #include.只有函数少于10...

2019-02-12 11:00:18 188

原创 costmap_2D源码解读(有其他大神写的很好,所以这次只有一个链接)

这次带来的是对costmap_2D的源码解读。与base_local_planner不同,costmap_2D在move_base中是直接作为参数传入各个planner与controller,并且只要知道costmap是如何更新的话,costmap内部提供的api也就是水到渠成的。所以本文的重点也就不在move_base中如何使用costmap而是costmap是如何更新的。...

2018-12-19 15:07:39 1822

原创 navigation总览

navigation总览1. navigation总览2. move_base2.1 move_base概况2.2 move_base.launch分析3.全局路径规划(暂时不涉及,留空)4. 局部路径规划1. navigation总览打开一个终端,在github目录下输入 get clone https://github.com/ros-planning/navigation.git ...

2018-12-06 14:16:31 447

原创 base_local_planner源码解读

力图梳理出整个base_local_planner轨迹生成的过程(未完成,先去看move_base)

2018-12-04 17:24:05 5802 6

原创 navigation_plugin

为了写自己的局部路径规划方法,需要在navigation包中增加自己的base_local_planner。关于ROS插件,这里有英文WIKI对应的翻译。使用命令:rospack plugins --attrib=plugin nav_core查看navegation包目前支持的插件。首先参考navigation_wiki中的全局路径规划插件教程,同时github上也有别人写好的eband...

2018-12-03 15:33:45 908

原创 robot_pose_ekf源码解读

力图以详细的方式对robot_post_ekf源码进行解读

2018-11-10 12:01:24 12811 25

翻译 C++中贝叶斯滤波器包bfl的使用(3)-预测模型和测量更新模型皆非线性的粒子滤波器

C++中贝叶斯滤波器包bfl的使用(3)-预测模型和测量更新模型皆非线性的粒子滤波器

2018-11-07 17:08:46 1436

翻译 C++中贝叶斯滤波器包bfl的使用(2)-预测模型非线性的扩展卡尔曼滤波器

C++中贝叶斯滤波器包bfl的使用(2)-预测模型非线性的扩展卡尔曼滤波器

2018-11-07 16:58:43 5784 3

翻译 C++中贝叶斯滤波器包bfl的使用(1)-线性卡尔曼滤波器

C++中贝叶斯滤波器包bfl的使用(1)-线性卡尔曼滤波器

2018-11-07 13:50:41 6506 8

linux下可用的rplidar的静态链接库

在自己的头文件include例子中的.h文件,然后在链接的时候连接上这个.so就可以了

2019-01-16

ANSI/ITSDF B56.5 美国工业agv标准

ANSI/ITSDF B56.5 美国工业agv标准。在设计自己的机器人小车的时候可以参考里头的技术指标

2018-11-14

c++迭代器不是不允许运行时添加或者删除的吗,为什么这里可以?

2019-04-22

视觉slam14讲第四章,useSophus未定义的引用

2019-02-26

leetcode 416 位运算怎么做到的?

2019-02-18

链表中,dummyhead是怎么做到自动更新到新的节点的呢?

2019-01-16

leetcode100,想使用智能指针但是出错,请问为什么?

2019-01-04

C++在链表递归的过程中使用临时节点并且置NULL,那么二叉树需要吗?

2018-12-27

使用cmake将.cpp与.h分开,为什么会提示redefination?

2018-12-24

写并归排序时,提示“段错误 (核心已转储)”

2018-12-19

leetcode692,这个优先队列到底是怎么用的?

2018-12-17

怎么理解C++中的mutex锁?

2018-12-14

leetcode 501,为什么要传引用?

2018-11-26

leetcode95,指向函数的指针和指向vector的指针是干什么的?

2018-11-21

请问一下C++中,自己重写sort函数是怎么会事?

2018-11-14

leetcode165,想用stream思路,但是结果和我预期的不一样,我该怎么改?

2018-11-11

leetcode234和141题,均使用快慢指针思路,为什么退出条件不一样?

2018-10-29

leetcode 705,为什么执行出错呢?

2018-10-29

KMP算法,理解了k = next(k),但是为什么不会恰巧有中间长度满足呢?

2018-10-19

leetcode606题,这个式子又是如何完成遍历的呢?C++

2018-10-18

letcode606,这是怎么做到遍历二叉数的?

2018-10-18

c++,字符串为什么只能减单引号?

2018-10-17

leetcode661,为什么reference binding to null pointer of type 'struct value_type'?

2018-10-13

leetcode53,二分法,为什么会超过时间限制?

2018-10-10

leetcode66题,最简单的思路,某个时候没法通过

2018-10-09

ros中的navigation包可以用python写base_local_planner导航插件吗?

2018-09-27

ubuntu中已经对VIM进行设置,为什么仍然没有语法高亮?

2018-09-11

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

TA关注的人

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