自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天才樱木

专注嵌入式和人工智能

  • 博客(61)
  • 收藏
  • 关注

转载 vio 入门概念

目前的研究方向可以总结为在滤波算法中实现高精度,在优化算法中追求实时性.当加入IMU后,研究方向分为松耦合和紧耦合,松耦合分别单独计算出IMU测量得到的状态和视觉里程计得到的状态然后融合,紧耦合则将IMU测量和视觉约束信息放在一个非线性优化函数中去优化.紧耦合的框架使得IMU数据可以对视觉里程计进行矫正,同时视觉里程计信息也可以矫正IMU的零偏,因此一般认为紧耦合的定位精度较高.个人认为松耦合和滤

2017-11-30 23:07:35 7877

转载 C++ 新解

前言    C++11这次的更新带来了令很多C++程序员期待已久的for range循环,每次看到javascript, lua里的for range,心想要是C++能有多好,心里别提多酸了。这次C++11不负众望,再也不用羡慕别家人的for range了。使用场景ex1:遍历字符串[cpp] view plain copy std::string 

2017-11-30 19:36:03 185

转载 关于const int*, int const*以及int *const的区别

使用C++也有些年了,这个语言确实有诸多繁琐和变态的地方,比如这次要说明的const int*、int const*以及int *const的区别就是一例。相信不少同学都会对这其中的差异表示不解,我尝试着用一段代码来对他们进行区别。        先用上一篇文章中提到的助记方法(从变量名开始从右往左读)来理解一下这三者的字面意思:        const int* ip;    // i

2017-11-30 10:46:43 312

转载 Google gflags使用说明

gflags是什么:gflags是google的一个开源的处理命令行参数的库,使用c++开发,具备python接口,可以替代getopt。gflags使用起来比getopt方便,但是不支持参数的简写(例如getopt支持--list缩写成-l,gflags不支持)。如何安装使用gflags:安装:请访问地址https://code.google.com/p/gflags/,下载最新版的gfla

2017-11-30 09:59:08 393

转载 cartographer 处理imu数据流程

cartographer_ros入口文件:node_main.cc入口函数main,如下图:初始化节点:cartographer_node;Run函数加载配置文件LoadOptions();根据配置文件处理所订阅的Topic。例如IMU注意cartographer是否接受imu数据,取决于if判断的条件,这些条件是在“backpack_2d.lua”中所配置

2017-11-29 15:27:17 6379

转载 ros tf tool

ROS进二阶学习笔记(1) TF 学习笔记1: -- TF介绍 + tf工具Ref:  http://wiki.ros.org/tf/Tutorials#Learning_tf>>Ref:  http://wiki.ros.org/tf/Tutorials/Introduction%20to%20tf惭愧的是,时隔10个月,重新来学习tf的东西。1. Running

2017-11-29 15:08:46 488

转载 usr/bin/ld: cannot find -lxxx的错误

通常在软件编译时出现的usr/bin/ld: cannot find -lxxx的错误或者....so undefine xxxx,主要的原因是库文件并没有导入的ld检索目录中。    解决方式:    1.  确认库文件是否存在,比如-l123, 在/usr/lib, /usr/local/lib,或者其他自定义的lib下有无lib123.so, 如果只是存在lib123.so.

2017-11-28 20:03:11 427

转载 pangolin install

前言大家好,好久没有写技术博客了,在工作学习中遇到一些问题及解决方法,希望能帮助到大家。Pangolin 想必大家都非常熟悉了,这个是一款开源的OPENGL显示库,可以用来视频显示、而且开发容易。代码我们可以从Github 进行下载:https://github.com/stevenlovegrove/Pangolin一般我们按照一个库的时候,都需要依赖其他的库才行。一般有Gl

2017-11-28 19:50:35 243

转载 ROS server and client

服务端和客户端的关系实际上就是请求和响应的关系。我们在定义服务类型的时候实际上只是定义了请求时客户端发送的数据类型及个数,还有服务端响应时返回来的数据类型和个数。对C++语言而言、服务端和客户端同样是.cpp文件编译生成的可执行文件。一、服务端:1、cd到包目录下,然后在src文件夹下创建.cpp文件;2、.cpp文件包括以下部分:     ①包含(include)依赖

2017-11-28 13:56:28 595

转载 service和topic区别

这学期当TA了,改作业的时候service和topic这两个一直比较模糊的问题又跳了出来,觉得这个坑还是得填上,那就留一篇博客吧。实验速度1. via topic上图是以前ROS课上做的一个实验,内容是测试一个publisher和一个subscriber之间通讯所用的时间。两个node都很简单,publisher发送一个字符串,字符串带有标号;subscriber回显该字符串,

2017-11-28 13:50:15 1293

转载 laserscan数据格式

本文介绍了LaserScan消息的格式以及各个参数的意义,并且在文章的最后编写了一个subscriber用来读取激光数据.LaserScan是ROS定义的激光数据格式,消息定义在sensor_msgs/LaserScan.msg文件中,路径为:/opt/ros/indigo/share/sensor_msgs/msg.LaserScan消息的示例如下:header: seq: 1

2017-11-27 19:49:19 6974

转载 Gmapping hector cartogarpher 三种激光雷达算法的比对

一、Gmapping是基于粒子滤波的算法。缺点:严重依赖里程计,无法适应无人机及地面不平坦的区域,无回环(激光SLAM很难做回环检测),大的场景,粒子较多的情况下,特别消耗资源。源码的核心函数:processScan()算法框架:①  drawFromMotion()运动模型(因为有这步,所以特别依赖里程计信息)②  scanMatch()扫描匹配这

2017-11-23 20:13:21 6694

转载 ros 循环

ros::spin() 和 ros::spinOnce() 区别及详解版权声明:本文为博主原创文章,转载请标明出处: http://www.cnblogs.com/liu-fa/p/5925381.html博主提示:本文基于ROS Kinetic Kame,如有更(gèng)新版本,可能存在细微差别,请大兄弟以官方资料为准。博主向来愚钝,若大兄弟发现该文章有不妥之处,还请速速告知。

2017-11-22 12:02:11 3719

转载 C++ explicit的作用

C++ explicit的作用explicit作用:在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。explicit使用注意事项:    *      explicit 关键字只能用于类内部的构造函数声明上。    *      explicit 关键字作用于单个参数的构造函数。

2017-11-22 10:19:28 228

转载 c++ thread

C++11中引入了一个用于多线程操作的thread类,简单多线程示例:[cpp] view plain copy #include   #include   #include     using namespace std;    void thread01()  {      for (int i = 0; i     {          cout 

2017-11-21 17:24:09 768

转载 视觉和imu

目前单目slam存在初始化的尺度问题和追踪的尺度漂移问题,而双目也存在精度不高和鲁棒性不好的问题。针对这些问题,提出了融合imu的想法。那么imu的作用是什么呢?单目(1)解决初始化尺度问题(2)追踪中提供较好的初始位姿。(3)提供重力方向(4)提供一个时间误差项以供优化双目(1)追踪中提供较好的初始位姿。(2)提供重力方向

2017-11-20 21:26:32 4848 7

转载 OKvis

OKVIS 属于 VIO(Visual Inertial Odometry),视觉融合 IMU 做 odometry。系统配置视觉和 IMU 关系图如下: 待估计的状态量包括机器人在图像 k 获取时刻的 state xkR 和特征点的坐标 xL .其中 xR 包括: 机器人在世界系下的位置坐标 WrS 旋转矩阵(用四元数表示) qWS senso

2017-11-20 21:24:07 3843

转载 v+i的一些方案

转载:jing胖目的:学习、存档==============================================================感觉细节还是看paper比较清楚呢。知道的V+I开源项目就下面OKVIS和ROVIO这俩:OKVIS,紧耦合,BRISK的稀疏前端,滑动窗口优化后端。支持单目、多目。( Stefan Leutenegger, Simon

2017-11-19 12:33:11 575

转载 OKvis整理

整理部分代码中公式OKVIS 中的 propagation 代码公式版 http://blog.csdn.net/fuxingyin/article/details/53449465OKVIS 中的 propagation 公式版 http://blog.csdn.net/fuxingyin/article/details/53449502OKVIS 计算 lift

2017-11-19 12:26:24 2393 1

转载 slam发展

当前的开源方案本文将带着读者去看看现有的SLAM方案能做到怎样的程度。特别地,我们重点关注那些提供开源实现的方案。在SLAM研究领域,能见到开源方案是很不容易的。往往论文中介绍理论只占20%的内容,其他80%都写在代码中,是论文里没有提到的。正是这些研究者们的无私奉献,推动了整个SLAM行业的快速前进,使后续研究者有了更高的起点。在我们开始做SLAM之前,应该对相似的方案有深入的了解,然后

2017-11-19 12:25:23 4257 2

转载 mpu9250

摘要MPU6050是一种非常流行的空间运动传感器芯片,可以获取器件当前的三个加速度分量和三个旋转角速度。由于其体积小巧,功能强大,精度较高,不仅被广泛应用于工业,同时也是航模爱好者的神器,被安装在各类飞行器上驰骋蓝天。随着Arduino开发板的普及,许多朋友希望能够自己制作基于MPU6050的控制系统,但由于缺乏专业知识而难以上手。此外,MPU6050的数据是有较大噪音的,若不进行

2017-11-19 01:45:47 10331 3

转载 AMP 源码分析---转载

口算求解半圆面、半圆弧重心位置、…(1/207)2015-02-26 14:40磁力计的基本工作原理(0/598)2015-02-14 13:31HMC5883L 磁力计校准(0/334)2015-02-14 11:48HMC5883L磁力计常见问题解答(0/240)2015-02-12 16:31Crazyflie笔记七: PC端 …

2017-11-17 17:13:25 297

转载 协方差矩阵

概念编辑设为n维随机变量,称矩阵为n维随机变量的协方差矩阵(covariance matrix),也记为,其中为的分量和的协方差(设它们都存在)。例如,二维随机变量的协方差矩阵为其中由于,所以协方差矩阵为对称非负定矩阵。[1] 

2017-11-17 16:50:32 1497

转载 slan 十四讲

目录前言参考文献Eigen线性代数库的安装Sophus李代数库的安装OpenCV计算机视觉库的安装PCL点云库的安装Ceres非线性优化库的安装G2O图优化库的安装Octomap八叉树地图库的安装 正文回到顶部前言  本篇博客主要写了视觉SLAM常用库的安装方法,主要包括Eigen线性代数库、Sophus李代数库、OpenCV计算机视觉库、PCL点云库、

2017-11-16 10:14:45 840

转载 Ubuntu gedit 中文乱码问题---秒解

在中文支持配置还不完整的Ubuntu 14.04中,使用gedit打开带有中文字符的文件有时会出现乱码的情况,这是由于gedit对字符编码匹配不正确导致的,解决方法如下:    在终端中输入如下命令,然后重新打开gedit即可:    gsettings set org.gnome.gedit.preferences.encodings auto-detected "['GB180

2017-11-14 21:20:27 152

原创 vins mono 系统学习 六

论文中讲到用DJI A3 飞控,这里搜集一下大疆A3信息官网:http://www.dji.com/cn/a3?site=brandsite&from=nav优酷介绍视频:点击打开链接

2017-11-12 19:24:15 441

转载 VINS mono 系统学习 五

转载:白眼哥哥目的:学习存档==================================vins是今年刚开源的vio系统,跑了数据集效果挺好的,所以看了paper和代码。视频地址:https://www.youtube.com/watch?v=I4txdvGhT6Igithub:https://github.com/HKUST-Aerial-Roboti

2017-11-12 15:58:25 773

转载 VINS mono 系统学习 四

转载: 白眼哥哥目的:学习存档vins是今年刚开源的vio系统,跑了数据集效果挺好的,所以看了paper和代码。视频地址:https://www.youtube.com/watch?v=I4txdvGhT6Igithub:https://github.com/HKUST-Aerial-Robotics/VINS-Mono.Git上

2017-11-12 15:56:23 540

转载 VINS mono 系统学习 三

vins是今年刚开源的vio系统,跑了数据集效果挺好的,所以看了paper和代码。视频地址:https://www.youtube.com/watch?v=I4txdvGhT6Igithub:https://github.com/HKUST-Aerial-Robotics/VINS-Mono.Git在上一篇博文中,我们对数据预处理做了简单的笔记,这篇博文主要是对

2017-11-12 15:54:07 467

转载 VINS mono 系统学习 二

转载:白眼哥哥目的: 学习 存档========================vins是今年刚开源的vio系统,跑了数据集效果挺好的,所以看了paper和代码。视频地址:https://www.youtube.com/watch?v=I4txdvGhT6Igithub:https://github.com/HKUST-Aerial-Robotics/VINS-Mono.g

2017-11-12 15:45:03 945

转载 港科 vins mono 系统学习 一

转载: 白眼哥哥博客目的:学习,并且存档========================vins是今年刚开源的vio系统,跑了数据集效果挺好的,所以看了paper和代码。视频地址:https://www.youtube.com/watch?v=I4txdvGhT6Igithub:https://github.com/HKUST-Aerial-Robotics/VINS-

2017-11-12 13:22:15 873

转载 UKF MATLAB

ukf(无迹卡尔曼滤波)算法的matlab程序.function [x,P]=ukf(fstate,x,P,hmeas,z,Q,R)% UKF   Unscented Kalman Filter for nonlinear dynamic systems% [x, P] = ukf(f,x,P,h,z,Q,R) returns state estimate, x and state c

2017-11-11 22:05:45 2623

转载 EKF matlab

卡尔曼是真的强,我只能这么说,前面说了卡尔曼滤波,它是针对线性系统的滤波方法。但在实际工作中,我们的系统几乎都是非线性的,所以如何解决非线性系统的滤波问题呢,这就是我们要讲的EKF(扩展卡尔曼滤波),它的原理很简单,就是在估计状态的地方进行线性化,线性化的方法也很简单,只需要进行泰勒的一阶展开就行。当然我们也要说一下缺点,因为我们选择的线性化方法,所以只能达到二阶的精度(UKF可以达到四阶的精度)

2017-11-11 22:00:35 5536 1

转载 kalman 滤波器及其MATLAB实现

卡尔曼滤波是一个很常用的滤波算法,与维纳滤波相比有很多长处。这里我们把Kalman Filter简称为KF。KF的基本思想是:采用信号、噪声、状态空间模型,利用前一时刻的状态最优估计值及其误差方差估计和现时刻的量测值来更新对状态变量的估计,求出现在时刻的最优估计值。说白点就是对现在时刻的估计(可能是同时估计好几个变量)是取决于前一时刻估计误差和现在时刻的某个观测值。通过不断的预测和实测来修正自

2017-11-11 21:47:04 24125 6

转载 vins mono 刚开始学习 一

简介VINS-Mono 是香港科技大学开源的一个VIO,我简单的测试了,发现效果不错。做个简单的笔记,详细的内容等我毕设搞完再弄。代码主要分为前端(feature tracker),后端(sliding window, loop closure),还加了初始化(visual-imu aligment)Feature tracker这部分代码在feature_tracker包下面

2017-11-11 19:10:59 2214 1

转载 pangolin简单学习 一

0.1. 资料泡泡机器人github exampleopengl中摄像机的位置,观察的方向gluLookAt函数0.2. 使用说明使用这个gluLookAt矩阵坐标观察矩阵可以很高效地把所有世界坐标变换为观察坐标LookAt矩阵find_package(Pangolin REQUIRED)include_directories(${Pangolin_INCLUDE

2017-11-11 19:04:18 7169 1

转载 路径规划

资料A literature review of UAV 3D path planning上面那个论文把uav的路径规划分为以下5类:sampling-based algorithmsnode-based algorithmsmathematical model based algorithmsBio-inspired algorithmsmulti-fusion based al

2017-11-11 19:00:46 3831

转载 絮叨---imu

在一些对角度要求不高的场合,要得到角度,只用加速度计就可以了,比如做一个自平衡小车。可是要得到一个更加精确的角度,就需要用到陀螺仪了,比如四旋翼飞行器。陀螺仪测量的是角度的变化率,对这个变化率积分,就可以得到角度值。    我们一般用的是比较常见的卡尔曼滤波(当然还有其他融合方式)。我们先来说说用加速度计和陀螺仪测量倾角的原理,等会儿再说卡尔曼滤波的原理。(以下测量倾角的说明摘抄自文档《MPU

2017-11-09 23:40:24 1024

转载 别人家的kalman 二

这部分主要是通过对第一部分中提到的匀加速小车模型进行位移预测。先来看看状态方程能建立准确的时候,状态方程见第一部分分割线以后内容,小车做匀加速运动的位移的预测仿真如下。[plain] view plain copy clc  clear all  close all    % 初始化参数  delta_t=0.1;   %采样时间  t=0:delta_t:5;

2017-11-09 11:06:07 205

转载 别人家的kalman 一

前言          卡尔曼滤波器是在估计线性系统状态的过程中,以最小均方误差为目的而推导出的几个递推数学等式,也可以从贝叶斯推断的角度来推导。          本文将分为两部分:第一部分,结合例子,从最小均方误差的角度,直观地介绍卡尔曼滤波的原理,并给出较为详细的数学推导。第二部分,通过两个例子给出卡尔曼滤波的实际应用。其中将详细介绍一个匀加速模型,并直观的对比系统状

2017-11-09 11:03:22 490

空空如也

空空如也

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

TA关注的人

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