自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

翎风的博客

积极动手,实现一切可能!

  • 博客(50)
  • 资源 (4)
  • 收藏
  • 关注

原创 在ROS中使用VScode编译环境的相关技巧

最近迷上了vscode,发现它的功能更全,使用更加方便,于是想总结一下他的使用技巧,使得想使用它的人能够快速上手,少走弯路。如果有写的不对的地方,欢迎大家指出。内容大纲一、软件安装参考网站:ubuntu安装vscode的两种方法ros项目调试:vscode下配置开发ROS项目一、软件安装关于vscode的安装,建议不要使用ubuntu的软件中心进行一键式安装,不利于后续修改启动器,设置相关参数,推荐从官网手动下载deb包,进行手动安装。...

2020-07-11 13:24:11 2092

原创 Karto_slam源码框架分析

Karto_slam可以说第一次把因子图优化内容用于slam当中,是具有划时代意义的开源激光slam系统。它的主要贡献有两个:(1)提出了一个效果更好的扫描匹配过程;(2)利用观测信息、位姿关系构建因子图,求解最佳回环估计。参考:Karto_slam框架与代码解析Karto SLAM算法学习一、整体框架整体来说,看代码的话,karto代码框架还是比较整洁的,唯一的不好就是把多个类都放在...

2019-07-24 11:34:57 3008

原创 Hector_slam源码框架分析

这是另一个激光slam系统,特点是用IMU解决了激光的运动畸变问题,另外主要贡献还是对扫描匹配和栅格地图的构建提出了新的思路。下面,我将从阅读源码的角度,对该slam系统做一个简单的分析,也当作是个人的学习笔记。参考:Hector SLAM算法学习与代码解析...

2019-07-19 08:55:14 5370 6

原创 Gmapping_slam源码框架分析

作为非常经典的激光slam系统,发展到现在,它基本上快要被遗弃了,但是仍然有值得学习的地方。同样因为经典,类似的分析类博客也是非常多了,这里仅从阅读源码入手,就当作是一次学习记录吧。参考论文:Improved Techniques for Grid Mapping with Rao-Blackwellized Particle Filters源码阅读详解GMapping原理分析gmapp...

2019-07-12 11:51:16 3109

原创 EKFmonocularSLAM论文阅读笔记(二)

参考博客:Ubuntu下使用OpenCV显示中文,文件下载连接注意:这里的文件还是必须下载的,因为simhei.ttf文件必须要有,但是好多Ubuntu系统找不到,所以这里需要注意一下f...

2018-12-31 17:52:51 746 7

原创 EKFmonocularSLAM论文阅读笔记(一)

论文全名是:1-Point RANSAC for EKF Filtering. Application to Real-Time Structure from Motion and Visual Odometry论文下载链接,可以去这里下载!EKFmonocularSLAM系统介绍,有一个开源网址,可供参考。MATLAB源码可以参考官方提供的github。中文标题:单点RANSAC的EKF...

2018-12-16 15:07:06 2105

原创 从程序中学习EKF-SLAM(五)

七、状态更新在完成了数据关联后,就确定了路标是新路标还是旧路标,最后就能进行状态更新了。这里同样有新landmark下的状态更新和旧landmark下的状态更新。这里先介绍旧landmark下的状态更新,大致有下面几个步骤:(1)利用观测模型计算每个landmark的观测矩阵z^\hat{z}z^以及对应的协方差矩阵HHH(这一步骤和上一篇博客“从程序中学习EKF-SLAM(四)”中的一样,...

2018-12-08 22:00:50 1938 10

原创 从程序中学习EKF-SLAM(四)

六、数据关联数据关联的概念在之前的博客中已经解释了,这里就不在赘述了,这里重点说说程序中的两种实现,在本project里有两种数据关联:(1)已知数据关联,是指路标landmark的观测顺序已知,即观测的信息含有路标id代号(这一种方法,和之前的博客“UKS-SLAM入门”中的类似);(2)未知数据关联,是指landmark的观测顺序未知,也即观测信息只有距离和角度(本project中使用的...

2018-12-07 19:52:39 2081 4

原创 从程序中学习EKF-SLAM(三)

四、ekf预测ekf预测过程主要有两个重要过程:(1)机器人位姿的预测;(2)预测位姿的协方差更新。对应到伪代码里,就是开头两句:μ‾t=g(ut,μt−1)Σ‾t=GtvΣt−1GtvT+GtuQGtuT\overline{\mu }_t=g\left( u_t,\mu _{t-1} \right) \\\overline{\varSigma }_t=G_{t}^{v}\varS...

2018-12-05 15:24:20 1818

原创 在ROS中使用Kdevelop编译环境的技巧

在ROS中使用kdevelop这么久了,越来越觉得它非常好用啊,现在就总结一下它的使用技巧,希望对大家有帮助,谢谢。参考博客:Kdevelop的简单使用和简单调试用kdevelop构建ROS程序包ROS入门教程-1.1.3 创建ROS程序包(创客智造)一、软件安装它的安装方式是非常简单的,可以说是我见过的所有软件之中安装最简单的软件了。一条指令搞定:sudo apt-get inst...

2018-12-05 09:49:25 3257 5

原创 从程序中学习EKF-SLAM(二)

三、ekf预测之前3.1 计算真实位姿这里通过仿真器计算观测信息,添加噪声后送入ekf滤波器,那么,这里先看看真实位姿的计算。个人觉得它的计算思想特别巧妙,可以熟悉熟悉编程方法。首先,这里贴出代码:void ekf_console::compute_steering(){ Eigen::Vector2d current_wp; current_wp = waypoints.col(i...

2018-11-30 19:55:55 2904

原创 从程序中学习EKF-SLAM(一)

在一次课程结课作业上,作业要求复写一个EKF-SLAM系统,我从中学到了好多知识。作为一个典型轻量级slam系统,这个小项目应该特别适合于slam系统入门,可以了解到经典卡尔曼滤波器在slam系统中的应用以及一个slam系统的重要组成部分。下面,我将以原理+代码形式来介绍这个project,如有问题,欢迎讨论;如有错误,欢迎指出。它的原代码是用matlab写的,已经上传GitHub:ekf_sl...

2018-11-28 20:51:51 10054 12

原创 从程序中学习UKF-SLAM(三)

下面接着说UKF的更新部分,在这个环节里需要分开两种情况进行讲述:观测到已知路标时,需要对已有的所有的状态变量和协方差进行更新;观测到未知路标时,需要将新路标的信息添加到状态变量中,同时更新协方差(换句话说,就是需要对状态变量和协方差进行扩充);这里说到了已知路标和未知路标的问题,在SLAM领域就叫做数据关联。五、数据关联数据关联技术来源于多目标跟踪环境和传感器的观测过程之间的不确定...

2018-11-22 14:49:25 1979 10

原创 从程序中学习UKF-SLAM(二)

接下来具体说说UKF中的状态预测部分,将会从原理和代码两个方面来进行说明。四、状态预测1.UKF概述概括起来说,就是指解决一个高斯分布经过非线性变换后,怎么用另一个高斯分布近似它。假设x N(μx,Σxx),y=g(x)x~N\left( \mu _x,\varSigma _{xx} \right) ,y=g\left( x \right)x&amp

2018-11-19 14:58:58 2435 1

原创 从程序中学习UKF-SLAM(一)

偶然间从GitHub上发现一个小项目,做的是一个基于UKF的状态估计,使用C++版本的mathplot做显示,编译之后却发现显示一直有问题,于是萌生了一个想法:能不能把它移植到ROS中?然后就有了接下来的学习过程,以此记录。如有问题,欢迎提出。这是需要复写的代码:在GitHub上它最终实现的效果如下:复写完成的代码请看最后一篇博客。在ROS中实现的效果如下:一、项目解决的问题首先解释...

2018-11-17 20:52:06 4114 4

原创 在Ubuntu下配置Bayes++ Library库环境

近期由于需要,开始关注bayes++库的使用,Bayes++是一个开源的C++类库。这些类表示并实现了用于离散系统的贝叶斯滤波的各种数值算法。该库中的类提供测试和一致的数值方法,并且用层次明确的结构表明了各种滤波算法和系统模型类型。参考网站:Bayes++ Library入门学习 bayes++库官方网站1.准备编译环境:kdevelop ...

2018-11-15 16:52:26 467

原创 给英伟达TK1安装固态硬盘系统盘

用过英伟达TK1板子的都知道,它的使用空间特别小,它的存储是16GB快速eMMC 4.51(路由到SDMMC4),所以安装东西多了之后经常容易卡顿。当然,它毕竟是老式ARM板,和TK2,TX2比不了,但是我又想使用它,毕竟不想浪费了。所以,如果安装一个固态硬盘,肯定是可以缓解资源的紧张的。因此,我就开始给NVIDIA TK1安装固态之旅了。由于目前资料较少,所以我就写一篇博客记录一下,如果错误,...

2018-11-04 20:55:58 1318

原创 在Gmapping中的Bresenham算法解析

引入在gmapping算法中,需要计算激光在每个粒子相应的位姿所扫描到的区域,这一步骤用到了Bresenham算法,他的实现函数是:void GridLineTraversal::gridLineCore( IntPoint start, IntPoint end, GridLineTraversalLine *line )刚好想了解一下这个算法具体实现流程,利用这个算法来完成其他工作。下...

2018-09-27 22:34:44 2323 2

原创 Maplab开源VI-SLAM框架学习(三)使用ZR300

非常高兴拿到了ZR300,可以愉快地做实验了。首先用它跑了一下maplab框架的ROVIOLI部分,体验了一下,发现系统写的真是稳定啊,非常具有鲁棒性,怎么晃都没事。下面针对使用过程做一个简单的介绍。参考网址:maplab推荐驱动安装 maplab的ROVIOLI使用教程一、ZR300介绍1、参数2、官网提到的亮点一款集成鱼眼摄像头与一...

2018-09-04 20:19:00 2261 37

原创 开源体积映射库Voxblox框架学习(一)安装过程总结

参考网址:官方github一、概况Voxblox是一个主要基于截断的有符号距离场(TSDF)的体积映射库。它在以下方面与其他SDF库不同:仅限CPU,可以为某些集成商运行单线程或多线程 支持多种不同的图层类型(包含不同类型的体素) 使用protobufs进行序列化 在合并期间处理加权的不同方式 插入有关扫描的姿势信息的不同方式 紧密的ROS集成(在voxblox...

2018-07-18 13:01:01 4130 7

原创 Maplab开源VI-SLAM框架学习(二)在Ubuntu 14.04上安装相关依赖环境

在Ubuntu 14.04上安装相关依赖环境参考网站:Installation Ubuntu——github一、安装所需的系统包系统环境:Ubuntu14.04系统+indigo版本的ROS打开终端输入如下指令: # Install framework dependencies. # NOTE: clang-format-3.8 is not available anymor...

2018-07-02 20:29:32 711 5

原创 Maplab开源VI-SLAM框架学习(一)Maplab框架介绍

最近开始学习上了一个VI-SLAM框架,现在将相关学习过程记录下来。Maplab框架介绍参考文章:Maplab框架介绍(一) Maplab框架官网 Maplab开源VI-SLAM框架介绍 Maplab框架介绍 github源码一、术语地图:通过地图...

2018-07-02 14:41:12 1892

原创 使用STM32F103做CAN的收发通信

下面也是搭建嵌入式系统所必须的一个部分。参考网站:https://www.cnblogs.com/craigtao/p/3645148.html https://blog.csdn.net/qq_29413829/article/details/53230716以下部分内容来自于上述网站。一、can通信CAN 是Controller Area Network 的缩写(以下称为CA...

2018-06-07 13:49:31 93872 47

原创 使用STM32F103控制蜂鸣器发声播放音乐

近期,由于某些需要,要搭建一个机器人移动平台,需要用到STM32嵌入式系统,所有开始了某些方面的研究。这里准备有蜂鸣器来做一个下位机与上位机连接状态的指示。 参考网站:http://www.china-buzzer.com/new_detail/nid/1691.html https://blog.csdn.net/fanxp66/article/details/80264700 https...

2018-06-07 11:46:33 89772 81

原创 LIFT: Learned Invariant Feature Points完整调试记录(四)测试程序

相关的论文和开源代码,这里再次贴出一次, 论文:Kwang Moo Yi, Eduard Trulls, Vincent Lepetit, Pascal Fua, ” LIFT: Learned Invariant Feature Transform”, in ECCV 2016, https://arxiv.org/abs/1603.09114代码: alexgkendall/caffe-...

2018-04-27 22:32:29 2692 15

原创 LIFT: Learned Invariant Feature Points完整调试记录(三)安装theano+Lasagne

基本环境到这里算是安装结束了,接下来就是安装论文所需的工具了,对这部分的过程也做一个简单记录。参考网址:LIFT: Learned Invariant Feature Points完整调试记录 ubuntu14.04安装theano配置GPU环境 ubuntu16.04安装lasagne 测试Theano使用GPU并行计算,以验证环境搭建是否成功依据第一篇参考博客所说的,LIFI所需...

2018-04-27 21:20:38 1364 2

原创 LIFT: Learned Invariant Feature Points完整调试记录(二)安装cuda8.0

接着上面的博客,对CUDA8.0的安装过程做一个简单的记录。参考网站:ubuntu14.04 + nvidia驱动安装+cuda8.0(显卡GTX1050TI) Ubuntu 14.04安装CUDA-8.01.安装环境系统:ubuntu14.04 显卡:GTX1050 CUDA版本:8.0 准备好NVIDIA CUDA Toolkit安装包,到这...

2018-04-27 19:32:02 687

原创 LIFT: Learned Invariant Feature Points完整调试记录(一)安装NVIDIA英伟达显卡驱动

在一个知乎讨论中https://www.zhihu.com/question/66006923/answer/238755364,看到了用thenao框架解决特征点提取与匹配的问题,代码开源了,于是准备自己跑一遍,学习一下。论文:Kwang Moo Yi, Eduard Trulls, Vincent Lepetit, Pascal Fua, ” LIFT: Learned Invariant...

2018-04-27 17:18:08 1430

转载 多目录工程的CmakeLists.txt编写(自动添加多目录下的文件)

实现类似于vs中工程的CMakeLists.txt的编写。功能为main.cpp调用hello.cpp 的hello()函数,world.cpp的world()函数。使用自动添加多目录下的文件,用add_library方式形成library添加进工程中,适合ubuntu环境下的cmake编译方式。转发自:https://blog.csdn.net/ktigerhero3/article/det...

2018-04-24 09:06:31 13273 1

原创 用ROS自带的gazebo仿真器搭建自己的环境

近期需要搭建一个室内仿真环境,用于实验调试,所以想把相关技巧记录下来,如有错误,还请批评指正,谢谢。参考网页:使用gazebo中的building editor创建一个建筑环境并用于仿真1.配置要求系统:ubuntu14.04(其他版本也行,这个要求不严) ROS版本:indigo版本(这个关系到gazebo版本,每个ROS的都会有对应的gazebo版本,所以还是用indigo版本自...

2018-04-21 20:27:20 40635 63

原创 ubuntu14.04系统里的常用软件安装,设置及优化汇总

1.系统安装(1)如果设置连接网络在线安装系统,本人推荐强烈推荐,安装许多次之后发现,只要是在线安装的能解决很多棘手的问题,虽然过程漫长,但是相比于以后配置相关软件还是值得的。 首先给出系统安装教程:http://jingyan.baidu.com/article/76a7e409bea83efc3b6e1507.html 现在说说他能解决什么问题: a.输入法问题。 网络条件

2017-11-05 10:04:01 2591

原创 在ubuntu14.04下openni+opencv+kinectV1的学习五:边缘检测

1、编写代码代码参考了博客Kinect+OpenNI学习笔记之4(OpenNI获取的图像结合OpenCV显示) 仿照上面的博客,也将openni库封装成了一个类,用于读取kinect的彩色图像数据和深度数据,也方便以后,模块化编程。 NIKinect.cpp文件代码如下:#include<XnCppWrapper.h>#include<iostream>#include <boost/con

2017-08-09 19:23:55 1491 2

原创 在ubuntu14.04下openni+opencv+kinectV1的学习四:人体骨架

1、学习了解在OpenNI中,要对人进行骨架追踪,需要人先摆出PSI的姿势,然后系统根据该姿势进行骨骼校正,待校正完成后才进行骨骼的跟踪,其流程图可以参考下面的图: 由图可以看出,其完成骨骼跟踪主要分为3个部分,首先需检测到人体,然后需要固定的PSI姿势来对人体的姿势进行校正,待姿势校正完成后,才能进行人体骨骼的追踪。参见博客文章Kinect+OpenNI学习笔记之6(获取人体骨架并在Qt中显

2017-08-08 14:10:12 1217

原创 在ubuntu14.04下openni+opencv+kinectV1的学习三:手势识别

1、编写代码代码摘自小斤的博客: Kinect开发教程三:利用OpenNI进行手势识别 #include <stdlib.h>#include <iostream>#include "opencv/cv.h"#include "opencv/highgui.h"#include <XnCppWrapper.h>using namespace std;using namespace cv;/

2017-08-07 10:46:01 1255 4

原创 在ubuntu14.04下openni+opencv+kinectV1的学习二:图像的读取与显示

1、编写代码直接使用了博客上的代码,详见下面的博客: Kinect开发教程二:OpenNI读取深度图像与彩色图像并显示 除了主函数文件以外,配置文件也是非常重要的,如果工程找不到相关的库,也是不能实现效果的,此处列出CMakeLists.txt文件代码:cmake_minimum_required(VERSION 2.8)project(2_hellokinect02)# 寻找OpenCV

2017-08-06 10:02:48 2459

原创 在ubuntu14.04下openni+opencv+kinectV1的学习一:学习准备

在ubuntu14.04版本的系统(使用kinect不能使用虚拟机,要给自己的电脑装双系统)下,利用开源openni驱动,和opencv图像处理库,在kinect一代的帮助下学习图像处理。

2017-08-05 15:02:43 811 3

原创 ROS官方手机APP--Rocon Remocon在ROS concert中的使用

         尝试了那么多次,一个突如其来的想法,竟然终于成功了,决定把它记录下来,因为这方面的资料太少了。曾经想自己编写APP,来控制turtlebot在gazebo里进行仿真,但是也是失败了,现在就先用这官方APP来做实验吧。以下内容都是看官网教程得来的,附上官网:rocon_app_platform   一、下载使用工具1、使用的手机APP感谢  利用Rocon Rem...

2017-04-13 22:10:38 8079 13

原创 在ubuntu系统里给程序添加启动器

笔者在ubuntu 14.04系统安装 Scientific Toolworks Understand 软件后,发现破解软件找不到启动器,每次都要命令行启动,特别麻烦。上网查阅资料了解到,可以自己制作启动器,所以又开始了一趟学习之旅。       以给Scientific Toolworks Understand 软件添加启动器为例,软件位置在/home/application/scitool

2017-03-17 15:16:38 4498

原创 ubuntu 14.04系统安装 Scientific Toolworks Understand 软件教程

       为了能方便的看代码,想安装 Scientific Toolworks Understand 软件,以图表形式学习代码编写,可是整了将近一天时间,总算满意了。诶,走的弯路太多,现在把具体教程分享如下:       参考网址:http://blog.csdn.net/u011722133/article/details/52742599      首先说明一下,笔者是ubun...

2017-03-17 14:44:30 23146 9

转载 ROS常用命令集锦

一、创建 ROS 工作空间1、启动 ROS        $     roscore2、创建工作环境$     mkdir -p ~/catkin_ws/src$     cd ~/catkin_ws/src$     catkin_init_workspace3、编译 ROS 程序$     cd ~/catkin_ws$     catkin_make4

2017-03-16 15:50:51 3273

uwb官方文档资料合集

收集整理的decaware公司关于dw1000的相关资料,包括应用文档,dw1000源码以及API手册,用户手册,一些白皮书以及论文等。

2020-11-16

BayesFilter库

bayes++是一个C++编写的开源贝叶斯函数库。从官网下载下来,制作出来的一个共享库,它是cmake编译,可以下载下来直接使用。

2018-05-01

计算机视觉中的多视图几何 Multiple View Geomet的PPT课件

计算机视觉中的多视图几何 Multiple View Geomet的PPT课件,共25-1个,少了第20节,是Berkeley的课件,值得学习!

2018-04-05

在ubuntu14.04系统中安装indigo版本ROS的教程

参照其他人的博客,绝对正确,在ubuntu14.04系统中安装indigo版本ROS的教程,亲手实践的!

2017-03-08

空空如也

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

TA关注的人

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