- 博客(20)
- 资源 (4)
- 收藏
- 关注
原创 基于OpenMP对orbslam中提取orb特征并行加速
写在前面Orb特征的原理部分可以搜到很多讲解内容,这里就不赘述了,直接记录如何通过openmp对orb特征提取进行加速。Orb特征提取参考的orbslam2的代码实现,作者对提取过程加了很多包装,包括构建四叉树分散特征点等。加速代码在这个地方。https://github.com/BlackApple-LMZ/orb_extractor_with_openmp加速首先要分析从代码实现角度来讲哪个地方可以并行加速;然后考虑这个地方的时间消耗占比,如果占比很低,用openmp加速反而会变慢,适得其反
2021-03-18 20:33:57 1441
原创 手写rgbd-slam 并用TUM数据集进行测试以及用evo评价结果
这篇博客主要介绍自己写的一个rgbd的前端里程计,并用TUM的数据集(包括ROS和非ROS的接口)进行测试。代码在这里原理前端里程计主要借助opencv的pnp算法实现,具体的思路是对每一帧提取特征,然后根据深度图计算出这些特征对应的三维点。对新来的图像做tracking,找到对应的特征,然后求解pnp就可以计算出位姿。对所有相邻的帧之间都进行这样的计算,就得到了视觉里程计。。果然还是很简单粗...
2020-03-27 22:50:29 1509 2
原创 mcl_3dl阅读整理
算法简介(这部分是github上ReadME搬运过来的)mcl_3dl节点的基本算法是蒙特卡洛定位(MCL),也称为粒子滤波定位,通过用粒子的密度和权重来表示待估计位姿的概率分布。观测:1 LIDAR测量模型:通常波束模型与似然域模型相比,可以减少地图中被测点的false positive匹配,但更复杂。mcl_3dl节点同时使用这两个模型来以良好的计算能力实现好的匹配结果。计算粒子的li...
2020-02-20 23:03:56 1763 8
原创 自研三维激光雷达ROS驱动以及发布数据整理
这个短期的任务主要是给自研的一款三维激光雷达做ROS驱动,以及将数据发布成ROS下的pointcloud2的形式Mark参考velodyne的驱动编写方式,以及发布点云的方式,整理出了自己的驱动ipn.因为三维激光雷达数据量大,所以内部节点间采用nodelet进行数据通讯,也就是共享内存的方式,加深了对其使用程度现在的状态是等联合测试,所以先记录到这里,实时更新...
2020-01-09 16:04:41 826 2
原创 CUDA编程之机器人SLAM点云视觉学习与实践0.1——各种BUG集合
这一节是记录学习过程中遇到的各种BUG1、Eigen运行错误/usr/include/eigen3/Eigen/src/Core/DenseStorage.h:128: Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 32>::plain_array() [with T = float; int Size = ...
2019-12-09 10:27:19 505
原创 CUDA编程之机器人SLAM点云视觉学习与实践0——预备知识
准备开一个cuda的专栏,记录自己对cuda点云、视觉学习与实践的过程,希望能坚持更下去,最终的目标是想实现基于cuda对每个粒子并行加速的视觉gmapping。这一节记录从零开始使用cuda编程的一些基础知识GPU架构和属性cudaDeviceProp prop;cudaGetDeviceProperties(&prop, 0);上面可以获取gpu的属性。这里实践采用的是GT...
2019-11-29 11:54:24 536
原创 LSD 直线段检测算法
想在视觉slam里面引入直线特征,所以上周读了一篇直线检测算法的论文:LSD a Line Segment Detector这篇文章不是很难读懂,翻译以及详细的解释可以参考这篇博客这里主要说说自己的理解:其中一点是对于论文中提到的用来验证矩形是否可以作为检测线段的一个衡量标准NFA,如果计算得到的NFA小于预先设置的阈值,则认为这个矩形通过了检测。NFA计算公式在论文中有写,其推导过程...
2019-11-25 10:52:49 731
原创 深度学习与SLAM:2D3D-MatchNet 阅读笔记
2D3D-MatchNet: Learning to Match Keypoints Across 2D Image and 3D Point Cloud 这篇文章发表在今年的ICRA上,主要提出了一个3D点云到2D图像的匹配网络,从而完成了数据关联的任务,有了3D到2D的匹配之后,就可以做pnp估计位姿。IntroductionPrevious:it is hard to ens...
2019-10-17 11:08:32 2330 1
原创 uefi + gpt ubuntu和win10双系统安装
在此次安装双系统之前,本以为会和之前一样顺利,但谁知道遇到很多问题,所以趁机学习一波。 问题主要有这么几个:1.台式机英伟达显卡与ubuntu系统不支持,进入安装后,一直黑屏2.分区以及grub安装失败3.装好系统之后,无法从ubuntu引导进入win10 首先说说显卡,由于台式机和笔记本构造不同,所以这个英伟达的独显,就是不显示ubuntu界面……从其他大神那里得
2017-10-12 21:32:22 861
原创 ROS学习之pluginlib
有错误或不足的地方还请大家指正随着项目的不断进行,对ROS的学习也不断深入。ROS的一些基础操作已不能满足需求,所以最近开始学习ROS的一些更“好”的机制,首先介绍比较基础的插件机制pluginlib。ROS的很多项目都是用插件的形式来加载的,比如navigation这个包,里面的costmap_2d中的各个地图层,就是以插件的形式动态加载。采用插件的形式有什么好处呢,我个人理解就是可以在
2017-06-24 10:33:10 502
原创 FPGA学习之基于MicroBlaze软核的推箱子游戏设计
有不足或错误的地方还请大家指正有一段时间没有做fpga的项目了,趁现在还有一丝丝映像,把之前做的一款推箱子小游戏项目写在这里。经典的推箱子是一个来自日本的古老游戏,目的是在训练你的逻辑思考能力。在一个狭小的仓库中,要求把木箱放到指定的位置,稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙的利用有限的空间和通道,合理安排移动的次序和位置,才能顺利的完成任务。本次项目就是设计这样
2017-06-20 13:59:30 3334 1
原创 FPGA学习之设计平台学习:win10用ISE14.7 OPEN project闪退
如果有不足或者错误的地方,还请大家指正FPGA处理速度快,所以抽时间简单学习了一下,现在把之前的学习过程记录下来。当时使用的是spartan3开发板,软件使用的ISE14.7。这里先吐槽一下14.3版本,大家最好不要使用这个版本,当时调试遇到一个error,怎么都找不出问题,交给师兄看了一下,发现问题竟然神奇的解决了,然后我重新安装14.7,问题也没有出现。并且14.3对Win10
2017-03-13 20:10:43 1567
原创 ROS Navigation 学习之Clear_Costmap_Recovery
clear_costmap_recovery和rotate_recovery是ROS导航包中的一种恢复机制:接下来主要分析clear_costmap_recovery包:调用这个包,会将global_costmap和local_costmap中给定半径(reset_distance默认值3.0)范围之外的区域进行清理,即将栅格占有或者非占有状态清除为未知。namespace
2017-03-06 09:37:54 2567 2
原创 kinetic 安装arbotix模拟器
在学习到用arbotix模拟器的时候,由于使用最新版本,其他的很多网站的命令,包括sudo apt-get install ros-kinetic-arbotix-*,没有安装成功接下来尝试使用git下载源码编译:下载源码:git clone https://github.com/vanadiumlabs/arbotix_ros.git然后在/arbotix_ros文件夹下新
2017-03-02 10:22:30 3855 3
原创 结构体使用以及函数优化
通过学习高博一起做RGBDSLAM系列,体会到一个工程项目由简单到复杂的过程,列出自己认为重要的地方:1.将一些相关的变量封装到结构体中,归类之后一是方便观察,二是处理起来很有条理;2.将写好,不经常改动的函数写到新的文件中,通过链接库以及包含头文件来实现调用函数;3.项目要引用到的参数,可以专门写一个参数文件,通过对其访问来获取,这样改动也会很方便;4.调试的时候定期保存,每次保
2017-02-23 09:36:43 477
原创 RGBDSLAM 问题解决:create’ is not a member of ‘cv::FeatureDetector {aka cv::Feature2D}’ detecto
在学习高博士一起做RGBD-SLAM3时,遇到一些问题,现在记录下来:1、detectFeatures.cpp:37:16: error: ‘create’ is not a member of ‘cv::FeatureDetector {aka cv::Feature2D}’ detector = cv::FeatureDetector::create("ORB"
2017-02-19 15:52:43 4086 3
原创 RGBDSLAM 运行出错:terminate called after throwing an instance of 'pcl::IOException'
在学习高博士一起做RGBDSLAM2时,遇到一些问题,现在记录下来:由于安装了OpenCV 3.2.0,所以在编译的时候,每次需要添加一下cmake路径:cmake -DCMAKE_PREFIX_PATH=/home/limz/Cmake_module/opencv-3.2.0/build ..中间的路径是opencv安装的路径;运行时出错,提示:point
2017-02-17 16:31:32 20447 8
翻译 ROS学习 cpp参数服务器
wiki 链接 ROS的参数服务器可以存储字符串,整型,浮点型,布尔型,列表,字典,iso8601数据,64基编码数据.字典数据要有字符串键. roscpp的参数API支持所有这些,尽管在使用中常使用strings,integers,floats,booleans.XmlRpc::XmlRpcValue类实现了其它数据类型 roscpp有两类参数API,直接版
2017-02-16 20:48:23 648
原创 第一篇博客
第一篇博客该怎么写才显得不像是第一篇?刚开始写博客,简单记录自己学到的知识,以及分享一些自己的代码;坚持就是胜利,希望自己能坚持下来!
2017-02-16 20:45:02 293
FPGA之基于MicroBlaze软核的推箱子游戏设计
2017-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人