slam
文章平均质量分 72
nudt_qxx
这个作者很懒,什么都没留下…
展开
-
基于OpenCV的四元数、旋转矩阵和欧拉角互相转换(二)
此处的代码都会有双版本:第一个版本假设输入是float数组,第二个版本假设输入是cv::Mat矩阵。#include <cstdlib>#include <cstdio>#include <cmath>#include <iostream>#include "opencv2/opencv.hpp"using namespace std;...原创 2019-11-09 22:52:37 · 5609 阅读 · 2 评论 -
ORB_SLAM2系列之三:ORB_SLAM2跑RGBD SLAM数据集
简介ORB-SLAM2是一套完整的SLAM方案,提供了单目,双目和RGB-D三种接口。它能够实现地图重用,回环检测和重新定位的功能。无论是在室内的小型手持设备,还是到工厂环境的无人机和城市里驾驶的汽车,ORB-SLAM2都能够在标准的CPU上进行实时工作。ORB-SLAM2在后端上采用的是基于单目和双目的光束法平差优化(BA)的方式,这个方法允许米制比例尺的轨迹精确度评估。此外,ORB-SLA...原创 2017-12-02 17:23:15 · 10249 阅读 · 2 评论 -
无法链接PCL库undefined reference to `pcl::PCLBase****
环境Ubuntu 14.04 +ROS Indigo +PCL 1.8报错日志../lib/libORB_SLAM2.so: undefined reference to `pcl::PCLBase<pcl::PointXYZRGBA>::setIndices(boost::shared_ptr<std::vector<int, std::allocat...原创 2018-03-11 08:32:55 · 9743 阅读 · 5 评论 -
PCL库之快速点特征直方图(FPFH)描述子
对于实时应用或接近实时应用中,密集点云的点特征直方图(PFH)的计算,是一个主要的性能瓶颈。此处为PFH计算方式的简化形式,称为快速点特征直方图FPFHFast Point Feature Histogram。由于大大地降低了FPFH的整体复杂性,因此FPFH有可能使用在实时应用中。 对于计算速度要求苛刻的用户,PCL提供了一个FPFH估计的另一实现,它使用多核/多线程规范,利用OpenMP开...原创 2018-03-25 12:52:58 · 8668 阅读 · 1 评论 -
Ubuntu14.04下载cuda-8.0安装包
wget http://172.20.216.118/files/11540000001C0F53/developer.download.nvidia.com/compute/cuda/8.0/secure/Prod2/local_installers/cuda.deb原创 2018-04-22 19:24:17 · 642 阅读 · 1 评论 -
四行代码把ply转为pcd
对应代码如下,需要PCL库。//main.cpp#include <pcl/io/pcd_io.h>#include <pcl/io/ply_io.h>#include <pcl/point_types.h>using namespace pcl;using namespace pcl::io;int main (int argc, ch...原创 2018-04-19 19:44:34 · 8159 阅读 · 2 评论 -
OpenCV生成一个矩形并填充颜色
编译命令: g++ main.cpp -std=c++11 -I/usr/local/include/opencv -I/usr/local/include -L/usr/local/lib -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d...原创 2018-04-25 12:57:43 · 11556 阅读 · 0 评论 -
Ubuntu 14.04/16.04/18.04安装最新版Eigen3.3.5
安装依赖sudo apt-get install libopenblas-devsudo apt-get install --no-install-recommends libboost1.58-all-devsudo apt-get install libx11-devsudo apt-get install libgl1-mesa-dev sudo apt-get in...原创 2018-07-27 14:13:45 · 12302 阅读 · 2 评论 -
Python根据欧拉角求旋转矩阵
利用numpy和scipy,我们可以很容易根据欧拉角求出旋转矩阵,这里的旋转轴我们你理解成四元数里面的旋转轴 import numpy as np import scipy.linalg as linalg import math #参数分别是旋转轴和旋转弧度值 def rotate_mat(self, axis, radian): rot...原创 2018-08-13 11:01:39 · 11112 阅读 · 0 评论 -
Apollo感知模块算法详解
原文出处:https://github.com/ApolloAuto/apollo/blob/master/docs/specs/perception_apollo_3.0.mdhttps://github.com/ApolloAuto/apollo/blob/master/docs/specs/perception_apollo_3.0_cn.md感知Apollo 3.0 June...转载 2018-08-30 15:55:27 · 25487 阅读 · 6 评论 -
基于PCL和Eigen3的cmakelist
需要频繁写关于点云的程序,每次cmakelist链接很麻烦,特此记录,防止继续踩坑。cmake_minimum_required(VERSION 2.8)project(ppp)find_package(cmake_modules REQUIRED)find_package(PCL REQUIRED)find_package(Eigen3 REQUIRED)add_definition...原创 2018-12-15 17:37:25 · 2013 阅读 · 2 评论 -
Ubuntu16/18.04下编译安装OpenVSLAM
简介5月20日,日本先进工业科技研究所(National Institute of Advanced Industrial Science and Technology )开源了一套视觉SLAM算法:OpenVSLAM。开源地址:https://github.com/xdspacelab/openvslam开源才一周star数目已逾800。OpenVSLAM是一套单目、立体、RGB-D视...原创 2019-05-27 11:26:25 · 7643 阅读 · 13 评论 -
C++根据三个点坐标计算夹角
计算角度ACB,其中C是中心点,A B C三个点的坐标为A(x1,y1),B(x2,y2),C(x3,y3)。#include <iostream>#include <cmath>using namespace std;/*get angle ACB, point C is the center pointA(x1,y1)B(x2,y2)C(x3,y3)...原创 2019-08-14 10:19:35 · 14389 阅读 · 9 评论 -
基于OpenCV的四元数、旋转矩阵和欧拉角互相转换(一)
void getRotation(double *Quaternion, double *rt_mat){ rt_mat[0] = 1 - 2 * (Quaternion[2] * Quaternion[2]) - 2 * (Quaternion[3] * Quaternion[3]); rt_mat[1] = 2 * Quaternion[1] * Quaternion[2] - 2 ...原创 2019-10-10 14:27:32 · 8988 阅读 · 4 评论 -
PCL编译提示CMake Error: Boost not Found(common is required but boost was not found)
不得不说ORB-SLAM2依赖库实在是太多了,库和库之间很容易冲突,这不,源码编译安装了boost1.54,然后在编译PCL1.8的时候报错了: CMake Error: Boost not Found(common is required but boost was not found)我搜了不少答案,其实就是解决如何让Cmake找到Boost库的问题。几个不错的有参考性的答案原创 2018-01-10 20:52:12 · 8227 阅读 · 1 评论 -
catkin: command not found解决方案
环境Ubuntu 14.04 + ROS indigo今天编译一个slam建图工具,提示“catkin: command not found”。我比较奇怪的是,我是按照官方教程安装的ROS,按理说应该catkin应该也被安装进去了。至少我在终端输入catkin_然后TAB键后还是会有一些命令:但是唯独catkin命令不存在。解决方案:git clone http原创 2017-12-18 10:30:29 · 23699 阅读 · 5 评论 -
SLAM介绍
SLAM是Simultaneous Localization and Mapping的缩写,意为“同时定位与建图”。它是指运动物体根据传感器的信息,一边计算自身位置,一边构建环境地图的过程。目前,SLAM的应用领域主要有机器人、虚拟现实和增强现实。其用途包括传感器自身的定位,以及后续的路径规划、场景理解。两大类随着传感器种类和安装方式的不同,SLAM的实现方式和难度会有很大差异。粗略来说,SLAM主原创 2017-11-10 21:23:43 · 2296 阅读 · 0 评论 -
Ubuntu 16.04 ROS-kinetic安装华硕Xtion Pro Live 驱动
今天老师提供了一个华硕的kinect设备,名叫Xtion Pro Live,拿来尝试跑一下ORBSLAM。驱动安装首先需要安装下设备驱动,在Ubuntu 16.04 ROS-kinetic环境下直接在命令行下输入:sudo apt-get install ros-kinetic-rgbd-launch ros-kinetic-openni2-camera ros-kinetic-openni2-la原创 2017-11-28 15:45:09 · 4141 阅读 · 4 评论 -
ROS 编译rgbdslam_v2报错:AttributeError: module 'em' has no attribute 'Interpreter'
解决方案:pip uninstall empip install empy原创 2017-11-28 22:47:19 · 3283 阅读 · 1 评论 -
利用华硕Xtion Pro Live 在ROS-kinetic下跑rgbdslam_v2
接上一篇Ubuntu 16.04 ROS-kinetic安装华硕Xtion Pro Live 驱动,这里把华硕Xtion Pro Live的驱动安装成功之后,我们可以尝试用这个kinect来跑一下 RGBD-SLAM-V2。 RGBD-SLAM-V2程序是由F. Endres大大写的。为什么首先选这个程序呢?因为它的原理在我们前面的博客中介绍过了。它是一个基于深度相机、Pose graph (图原创 2017-11-28 16:34:22 · 1033 阅读 · 0 评论 -
BRIEF描述子介绍及其opencv3实现
引出SIFT特征采用了128维的特征描述子,由于描述子用的浮点数,所以它将会占用512 bytes的空间。类似地,对于SURF特征,常见的是64维的描述子,它也将占用256bytes的空间。如果一幅图像中有1000个特征点(不要惊讶,这是很正常的事),那么SIFT或SURF特征描述子将占用大量的内存空间,对于那些资源紧张的应用,尤其是嵌入式的应用,这样的特征描述子显然是不可行的。而且,越占有越大的空原创 2017-12-11 10:47:01 · 5013 阅读 · 0 评论 -
ORB特征提取匹配opencv3代码实现
#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/features2d/features2d.hpp>#include <opencv2/highgui/highgui.hpp>using namespace std;using namespace cv;int main ( int argc, char原创 2017-12-12 22:13:19 · 3289 阅读 · 0 评论 -
ORB_SLAM2系列之一:Ubuntu 编译安装ORB_SLAM2
环境Ubuntu 14.04 +ROS indigo解决依赖首先需要编译安装GLEW和Pangolin安装GLEW:sudo apt-get install libx11-devsudo apt-get install libgl1-mesa-dev sudo apt-get install libglu1-mesa-dev sudo apt-get insta...原创 2017-11-29 18:53:24 · 1609 阅读 · 0 评论 -
Opencv3中FeatureDetector未定义标识符,不在cv命名空间下的解决办法
参考:Clion 下配置 Opencv3环境Win10 64位 + Clion 2017.1 + cmake-3.10.0-win64-x64 +opencv3.3.1 + tmd-gcc (tdm64-1) 5.1.0 + git version 2.13.1.windows.2 文件准备1.opencv-3.3.1-vc14.exe 2.opencv_contrib 3.mingw-w64-原创 2017-12-11 17:33:30 · 6242 阅读 · 0 评论 -
ROS 控制机器人走正方形
环境Ubuntu 14.04 +ROS indigo准备工作现在下载机器人程序包之前,我需要先安装一些必要的软件包。直接执行下面的命令进行安装: sudo apt-get install -y ros-indigo-turtlebot-bringup \ ros-indigo-turtlebot-create-desktop ros-indigo-openni-* \ ros-indigo-原创 2017-12-06 20:25:12 · 5410 阅读 · 1 评论 -
opencv3计算摄像头内参
ORB-SLAM2跑单目SLAM需要设定相机参数到yaml文件,这里来说下如何利用opencv进行相机参数设定。环境Win10,VS2015+opencv3.3.1对摄像机进行标定可以使用直接使用摄像头也可以事先拍好照片。利用自己摄像头批量拍摄图片见:[opencv3调用笔记本摄像头批量拍摄图片]。(http://blog.csdn.net/xiangxianghehe/article/detail转载 2017-12-14 22:12:30 · 4872 阅读 · 0 评论 -
ORB_SLAM2系列之二:ORB_SLAM2跑单目SLAM
接上一篇ORB_SLAM2系列之一:Ubuntu 14.04 ROS indigo下编译安装ORB_SLAM2,ORB_SLAM2提供了单目,双目和rgbd接口,这里我们先来尝试运行下最简单的单目SLAM(MonoSLAM)。理论上编译成功之后直接进入到ORB_SLAM2/Examples/Monocular文件夹下去执行文件就可以了,不过需要解决个错误:error while loading sh原创 2017-11-29 22:33:12 · 3437 阅读 · 0 评论 -
ORB_SLAM2系列之四:利用华硕Xtion Pro Live跑ORB_SLAM2
网上关于深度相机跑ORB_SLAM2的教程大多数是以Kinect作为传感器的。高博的博客中有一篇是用的Kinect2,在ROS运行的orb_slam2。今天我们来试一试不用ROS,通过OpenNI2直接调用xtion获取rgb数据和depth数据来重建环境。我的建议,要么xtion要么kinect2, 因为kinect很鸡肋,xtion比它轻巧,kinect2比它分辨率高。这里找到一份在ORB_SL原创 2017-12-15 21:39:20 · 1548 阅读 · 0 评论 -
编译ORB-SLAM2提示:undefined reference to symbol '_ZN2cv6String10deallocateEv'
环境Ubuntu 14.04 +opencv3.3.1编译orb-slam2,报错:undefined reference to symbol '_ZN2cv6String10deallocateEv'详细报错信息如下:/usr/bin/ld: warning: libopencv_core.so.3.3, needed by ../Thirdparty/DBoW2/lib/libDBoW2.so,原创 2017-12-17 21:56:50 · 9000 阅读 · 0 评论 -
Error: could not call python function 'rosdep2.rospack.init_rospack_interface'
环境Ubuntu 14.04 + ROS indigo 今早装了个catkin工具,装了部分依赖,然后下午在编译ORB-SLAM2的时候突然被卡住了,一个近乎诡异的报错,提示:[rospack] Error: could not call python function 'rosdep2.rospack.init_rospack_interface'详细报错信息如下:Failed to invo原创 2017-12-18 20:56:17 · 4191 阅读 · 2 评论