- 博客(41)
- 资源 (1)
- 收藏
- 关注

原创 卡曼滤波推导
主要参考文献:MIT Kalman filter tutorialps: 有错误请指出。1. 卡曼滤波推导的前言首先,我接下来的推导是基于离散系统的(非连续系统)。其次,卡曼滤波成立的条件是默认当前研究的离散系统是一个马尔可夫过程,即等同基于这个假设:当前的状态只与上一时刻的状态相关。马尔可夫过程是一类随机过程,它的原始模型是马尔可夫链。马尔可夫过程是研究离散事件动态系统状态空间的...
2018-10-26 23:39:49
1349

原创 PCL提供的几种点云分割的方法
前言:点云识别的深度学习极其需要噪声少的物体点云来作为训练集。获得噪声少的物体点云需要一个好的点云分割器。PCL官方网站:http://pointclouds.org/documentation/tutorials/#segmentation-tutorial提供10来种点云分割的方法,让我来聊聊我的浅见。PCL提供的点云分割的方法:1. Plane model segmenta...
2018-05-11 16:35:34
19511
3

原创 PCL点云(平面点云)分割:Plane Model Segmentation
背景:pcl官方教程:http://www.pointclouds.org/documentation/tutorials/planar_segmentation.php#planar-segmentation注:这个算法并不是真正意义上的分割算法,因为它只能分割出平面的点云。这种情况和PCL地面点云分割算法:Progressive Morphological Filter很像,后者只能分割出地面...
2018-05-11 16:20:03
17686
6

原创 PCL点云(地面点云)分割:Progressive Morphological Filter
背景:pcl官方教程:http://www.pointclouds.org/documentation/tutorials/progressive_morphological_filtering.php#progressive-morphological-filtering论文:http://users.cis.fiu.edu/~chens/PDF/TGRS.pdf注:这个算法本身用于处理高空获取...
2018-05-10 18:45:58
21484
17
原创 IMU误差模型和校准(转)
卜乂对于A robust and easy to implement method for IMU calibration without external 这篇论文作了最好的解释,并加入自己的一些看法。
2019-08-13 11:00:10
1536
转载 IMU IIR 滤波经验之谈(转)
如何分析IMU数据质量?滤波器截止频率选择滤波器是否有差别?IIR与FIR的区别?详见http://shequ.dimianzhan.com/articles/367/fei-kong-imu-shu-ju-jin-jie-chu-li-fft-lv-bo-qi...
2019-07-17 14:56:16
1047
转载 IMU 各种滤波器(转)
滤波算法滤波是传感器处理中的重要算法,经常接触底层常常用到,以下总结了一些滤波算法,供以后参考调用。下文分为三部分1、低通滤波2、高通滤波3、融合滤波详见https://www.cnblogs.com/HongYi-Liang/p/7002718.html...
2019-07-17 14:52:10
3322
原创 Could not find .... following names:glogConfig.cmake glog-config.cmake
背景:当我在用catkin_make 编译一个刚下载下来的库时候遇到: Could not find a package configuration file provided by "glog" with any of the following names: glogConfig.cmake glog-config.cmake我就去https://gi...
2019-07-10 11:43:10
3979
8
原创 学习IMU预积分(3)李群与李代数关系
背景:目前开始学习IMU的预积分与Christian Forster 与其组员的论文:IMU Preintegration on Manifold for Efficient Visual-Inertial Maximum-a-Posteriori Estimation。这文章涉及到基础知识李群与李代数,此文章先铺垫一下基础知识,大部分东西都从《视觉SLAM十四讲》搬运过来。1....
2019-06-27 16:24:20
853
原创 学习IMU预积分(2)李代数
背景:目前开始学习IMU的预积分与Christian Forster 与其组员的论文:IMU Preintegration on Manifold for Efficient Visual-Inertial Maximum-a-Posteriori Estimation。这文章涉及到基础知识李群与李代数,此文章先铺垫一下基础知识,大部分东西都从《视觉SLAM十四讲》搬运过来。1...
2019-06-26 11:15:02
618
原创 学习IMU预积分(1)李群
背景:目前开始学习IMU的预积分与Christian Forster 与其组员的论文:IMU Preintegration on Manifold for Efficient Visual-Inertial Maximum-a-Posteriori Estimation。这文章涉及到基础知识李群与李代数,此文章先铺垫一下基础知识,大部分东西都从《视觉SLAM十四讲》搬运过来。1...
2019-06-25 18:21:31
754
原创 /usr/bin/ld: cannot find -lvtkproj4 解决办法
背景:安装LOAM链接的时候,遇到编译问题如下:/usr/bin/ld: cannot find -lvtkproj4解决办法:sudo ln -s /usr/lib/x86_64-linux-gnu/libvtkCommonCore-6.2.so /usr/lib/libvtkproj4.so参考:https://github.com/PointCloudLibrary/pc...
2019-06-21 15:50:52
710
1
原创 git 有用的指令
-- 检查当前branch $ git branch -- 本地仓库创建新的branch $ git branch new_branch_name -- 本地仓库换到其他branch上工作 $ git checkout branch_name -- 远程仓库下载到本地仓库并转到新的branch继续工作 $ git checkout -b branch_nam...
2018-10-24 16:16:53
298
原创 在树莓派上,raspbian jessie里安装ROS indigo以及raspbian strech里安装ROS kinetic
背景:我花了好几天在捣鼓怎么在raspbian系统里安装ros。我发现非常的麻烦,遇到一堆依赖问题。直至到找到这两个网址:https://answers.ros.org/question/200504/raspbian-jessie-ros-indigo-download-image/https://neverbenever.wordpress.com/2017/12/20/insta...
2018-09-19 14:45:20
1209
原创 in ?? () from /lib/ld-linux-armhf.so.3的解决办法
背景:在turtlebot3的树莓派3代上用gdb调试ROS程序,系统为Ubuntu MATE burger 16.04, 架构为armhf。首先我在我的ros的launch file 里<node />里加入一行launch-prefix="gdb -ex run --args"来启动gdb调试。然后启动launch文件。然后在gdb里输入run。遇到这个...
2018-09-13 18:46:48
3999
1
原创 Opencv 踩坑日志:不要img.at<float>(r,c) += val
背景:measurement_count++;for (int r = 0; r < img.rows; ++r){ for (int c = 0; c < img.cols; ++c){ float new_val = static_cast<float>(img.at<unsigned short>(r,c)); ...
2018-08-30 18:27:26
3188
原创 在Ubuntu中调试你写的c++代码或者ROS节点
背景:在ubuntu 16.04环境下,我一般用Qt creator (ROS插件版本),我的版本现在为4.5.1, 安装教程可以按着这个链接. 调试ROS节点步骤:1. 打开Qt creator 以及开启roscore2. 在你的ROS项目里的CMakeLists.txt里加入 set(CMAKE_CONFIGURATION_TYPES "Debug")3. 在Qt这个界...
2018-08-30 14:49:17
1789
1
原创 在类里面实现ros的subscribe或message_filter的回调遇到的坑
坑1:没有在ros的subscribe的输入参数里写上这个类对应的指针,也就是this关键词。Segmentator{public: void run(){ pub = nh2.advertise<sensor_msgs::PointCloud2>("/cloud_without_floor", 1000); sub = nh.subscribe("/came...
2018-08-14 14:49:30
4690
原创 make[2]: No rule to make target 'xxx/xx.so'解决思路
背景:要基于某一tof相机开发,在利用catkin_make安装github上别人提供的ros包,遇到了这个问题make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/hdf5/serial/lib/libhdf5.so', needed by xxx, stop. 原因:通常来说这个问题的起因都是那个路径下没有...
2018-08-09 15:23:46
13117
1
原创 开机不正常,遇见Failed to open \EFI\BOOT\grubx64.efi - Not Found, Failed to load image \EFI\... 解决办法
背景:我的Thinkpad 安装了Ubuntu16.04以及windows7双系统。突然一天,电脑开机就见到下图这个错误信息:解决办法:1. 使用Ubuntu boot repair这个软件,详见我的另一个文章:点击打开链接...
2018-07-14 17:36:45
17603
2
原创 Windows7+Ubuntu16.04 Thinkpad T470 的双系统引导方法
背景:我的Thinkpad 先安装了windows7,然后安装了Ubuntu16.04(Ubuntu16.04安装详见我的博客点击打开链接)。但是呢,开机自动打开windows7,没出现系统选择界面。注:默认你在安装Ubuntu16.04的时候已经关闭secure boot等相关操作,已经可以开机启动U盘安装盘里的Ubuntu安装程序。解决办法:1. 开机,插入与进入U盘ubuntu安装盘,选择T...
2018-07-14 17:28:03
13619
14
原创 代码分享:为了训练PointNet, 把一堆pcd(点云数据)以及标记写成HDF5文件
背景:当你有一堆点云(pcd格式)以及对于的标记,你想放到PointNet里面训练。你需要把收集的点云(.pcd)存到一个h5文件里。首先你需要把pcd们写成一个3x1024xN的数据集,3指的是(一个点的维度),1024指的是多少个点,N指的是多少个点云。然后把标记写成一个1XN的数据集。合成放到h5文件里。详见下面代码。注:项目结构- src -...
2018-06-28 11:20:38
9944
53
原创 安装cartographer遇到Unrecognized syntax identifier "proto3". This parser only recognizes "proto2"问题
背景:安装cartogapher 0.3.0版本时候,(注意不是在catkin_ws安装cartographer_ros时)在cd cartogapher, mkdir build, cd build, cmake .. , make后遇到Unrecognized syntax identifier "proto3". This parser only recognizes "proto2"。检查...
2018-06-22 15:45:41
5480
原创 catkin init/build 遇到catkin:command not found 的解决办法。
背景:安装ROS环境点击打开链接后,catkin_make可以跑,但是如果跑catkin init或者catkin build就会遇到catkin:command not found。原因:发文的此时,包含catkin init/build 的catkin_tool 包还没发布。单纯的安装ROS,是不会安装这个包的。我们需要手动装。解决办法:先试试:$ sudo apt-get update$ s...
2018-06-20 10:13:48
24733
7
原创 C++里获得数据类型(int, float ...)的理论数值上下界
背景:但我手写获取点云的bounding box的时候,发现点云bounding box最大最小值时候,需要对最大最小初始为float的理论数值上下界才能搜索的正确的界点。不理解的话,看看我的代码。1. 如何获得数据类型(int, float ...)的理论数值上下界:max_point = std::numeric_limits <float>::max();2. 用处何在:void...
2018-05-26 16:01:05
1759
原创 代码分享:c++里获取当前年月日时分秒
背景:使用 <time.h>头文件1. 代码:string getDataAndTime(){ time_t rawtime; time(&rawtime); struct tm * timeinfo = localtime(&rawtime); string output = "("+std::to_string(timeinfo->tm_mon+...
2018-05-23 17:12:45
2472
原创 Ubuntu下使用hdf5库时候遇到编译问题: error adding symbol: DSO missing from command line
背景:已经在Ubuntu里安装后libhdf5-serial-dev的情况下,或者说在/usr/lib/x86_64-linux-gun里能找到libhdf5_serial.so.10的情况下,我在我的cpp里include了"H5Cpp.h",然后也调用了H5 namespace 下的很多函数。但在编译的时候遇到了如下问题:/usr/lib/x86_64-linux-gnu/libhdf5_se...
2018-05-23 16:36:33
2859
原创 踩坑日志:CMAKE里的ADD_SUBDIRECTORIES要在INCLUDE_DIRECTORIES后面
背景:我想include一个第三方库。我已经把库放到third_party这个文件夹里了,也在CMakeLists里设置了INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/third_party)。但是编译器死活找不到这个库。错误:project(LabelAndStore)cmake_minimum_required(VERSION 2.8) SET(CM...
2018-05-23 11:39:15
5961
1
原创 实用常用的Ubuntu指令(个人日志)
- 解压 tar.gz 文件 $ tar -xvzf filename.tar.gz-运行.run文件 $ chmod +x some-app.run $ sudo ./some-app.run - 查看进程cpu和内存占用量 $ top - 查看cpu信息 $ lscpu - 查看栈大小:$ ulimit -s - 查看ip地址 $ ifconfig ...
2018-05-23 10:36:22
307
原创 PCL点云上采样(固定输出点数): Random Sample
背景:这个算法,pcl官方没有指导教程。注:一些场景中,需要点云集里的点云的点数量恒定。那么我们就需要点云下采样。pcl 的voxel grid filter能下采样,但不能保证输出点的数量恒定,而Random Sample能。我自己也动手写了一个类似的算法,点击打开链接。1. 代码:#include <pcl/filters/random_sample.h>#include <...
2018-05-21 16:00:34
9537
4
原创 阅读笔记(全覆盖路径规划算法):The path planning of cleaner robot for coverage region using Genetic Algorithms
论文下载:点击打开链接环境模型(see figure 1):1.1. 环境被描述为圆形为了方便描述机器人的移动1.2. 默认圆形半径和机器人半径一样1.3. 每个圆形可以表示有障碍或无1.4. 每个圆形有八个相邻圆1.5. 连接线R_ij 表示距离1.6. 每个圆有它自己到号码,一一对于机器人到每一运动。算法细节:2.1. 概述: 2.1.1. 由遗传算法启发,解决optimizati...
2018-05-19 18:32:54
12790
39
原创 代码分享:点云下采样至一个固定数量点的点云
背景:我获取了一些物体点云集,我想拿他们来搞深度学习。但是呢,他们每个点云的点数量不统一,无法作为网络的输入。那我们就需要对他们下采样至一个固定数量点的点云。注:pcl的voxel grid filter可以下采样,但无法保证输出的点云的点的数量。1. 代码:#include <iostream>#include <cstdlib>#include <pcl/i...
2018-05-19 18:09:54
6474
6
原创 代码分享:基于PCL获取Kinect1数据+可视化+突出某个区域+一键保存点云数据
背景:基于PCL获取Kinect1的实时点云,并可视化,这个功能在官方的指导教程点击打开链接里有。但是,我需要突出视野中心的那部分点云,还有加一个一键保存点云数据的功能。所以我自己写了个小程序,代码在下面有。注:如果...
2018-05-19 17:13:20
2238
3
原创 PCL点云上采样: Moving Least Squares
背景:pcl官方教程:点击打开链接运行版本:pcl 1.8.11. 使用感受:这一官方的教程是一个垃圾。对,就是这么直白。你跑一下代码,你就会首先遇到这个编译错误:/home/camsense/Desktop/UpSample/src/main.cpp:122: warning: ‘void pcl::MovingLeastSquares<PointInT, PointOutT>::s...
2018-05-19 16:02:25
6800
6
原创 使用PCL库里与openni相关的库时遇到error: pcl/io/openni_grabber.h: No such file or directory的解决办法
背景:我打算用pcl获取kinect数据(根据官方代码:点击打开链接)候遇到了:error: pcl/io/openni_grabber.h: No such file or directory的编译问题。我是在ubuntu环境下的,我发现usr/include/pcl-1.8/pcl/io里真的没有这个头文件。我当时是按着点击打开链接的方式三安装pcl的。问题出现...
2018-05-15 10:01:22
4906
2
原创 Qt里使用PCL库时候遇到的编译问题:undefined reference to 'boost::system::generic_category()'的解决方法
前言:ubuntu 16.04刚装的PCL 1.8.1Qt环境下c++开发使用CMAKE我做了什么呢:在程序里include <pcl/...> (pcl的库)如:#include <iostream>#include <stdio.h>#include <stdlib.h>#include <pcl/io/pcd_io.h>using ...
2018-05-11 16:42:11
3647
原创 如何安装Ubuntu16.04
1.安装USBinstaller:下载地址:https://linux.linuxidc.com/index.php?folder=cHViL7Oj08O5pL7fL1XFzLLZ1/fPtc2zsLLXsLmkvt8tIFVuaXZlcnNhbCBVU0IgSW5zdGFsbGVy1+7QwrDm2. 下载ubuntu-16.04-desktop-amd64.is...
2018-05-11 16:41:01
2314
原创 如何在Ubuntu16.04安装Tensorflow-GPU1.6
前言:在这之前,在ubuntu16下,我$ sudo apt-get purge nvidia-367然后去安装nvidia-384,就是这个过程不知道同时删除了什么,先是无限循环,再重启后更是黑屏。。。破釜沉舟,只能重装系统。你们可以参照我《安装Ubuntu16.04之旅》来重装,记得先把以前备份拷出来。重装完先是查看了一下nvidia的显卡驱动$ sudo dp...
2018-05-11 16:38:51
1775
原创 PCL点云分割:Conditional Euclidean Clustering
背景:pcl官方教程:http://www.pointclouds.org/documentation/tutorials/conditional_euclidean_clustering.php#conditional-euclidean-clustering1.使用感受这个算法实际就是region growing segmentation的扩展版。你可以先看看我的另一个文章,关于region ...
2018-05-11 14:33:40
9021
14
原创 PCL点云分割:Region Growing Segmentation
背景:官方网站指导:http://www.pointclouds.org/documentation/tutorials/region_growing_segmentation.php#region-growing-segmentation
2018-05-10 15:39:19
8450
4
hdf5 库 v1.8.20
2018-05-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人