文章目录前言1.安装Pangolin所需依赖2.下载源码(旧版本)3.安装Pangolin(两种编译方法)4.Pangolin库测试遇到的问题解决方法前言Pangolin是一个用于OpenGL显示/交互以及视频输入的一个轻量级、快速开发库,下面是Pangolin的Github网址:https://github.com/stevenlovegrove/Pangolin下面介绍一下Pangolin的安装过程1.安装Pangolin所需依赖sudoaptinstalllibgl1-mesa-devsudoaptinstalllibglew-devsudoaptinstallcmakesudoapti
Ubuntu18.04+Android手机IMU+ROSMelodic跑ORB-SLAM2前言一、ROSMelodic在ubuntu系统18.04版本上的安装二、基于ROS,ORB_SLAM2的安装、配置、运行SLAM单目实例1、前期SLAM环境配置2、ROS下安装ORB_SLAM23、运行单目SLAM实例(1)下载数据集(2)编译(3)结果三、Android手机摄像头与PC建立通信传输1、Android工具下载2、连接热点将PC和Android手机置于同一局域网下四、Android手机摄像头相机参数标定(1)采集并保存图片(2)进行标定新建一个工作目录(3)编译运行,标定(4)参数填入ORB
SLAM可以说是近几年最火的机器人技术之一,也是机器人领域的关键技术。不少同学表示,学了几年还在「爬坑」,甚至感觉「越学越难」。本文通过整理机器人领域常用的SLAM算法架构及特点,希望为大家的方向选择提供一些参考。01 SLAM是啥?我们先界定一下SLAM技术。SLAM,是指即时定位和地图构建,一种同时实现机器人自身定位和环境地图构建的技术。原理是使用相机、激光雷达、惯性测量单元等传感器,来收集环境信息,然后用算法将这些信息融合起来,以确定机器人在未知环境中的位置,并构建一张环境地图。通过SLAM技术,机器人可以在未知环境中进行自主探索和导航。像家用的扫地机,就是一个非常好的应用实例。 SLA
车载地面激光扫描仪的主题是一个令人兴奋的探索主题。它只是更广泛的主题领域的一部分,即从动态车辆平台进行测绘作业。到目前为止,这个更广泛的主题领域主要关注从这些平台获得的图像,使用多个视频和数码相机,并结合同时获取的数据通过集成的GPS/IMU单元赋予绝对位置信息。然后,在高度自动化的基础上对图像进行摄影测量评估,以处理在这些操作期间收集的大量小格式图像。最初,这项活动是俄亥俄州立大学测绘中心在1980年代后期使用其GPSVan进行的一项开创性研究工作(Bossler和Toth,1996年;托特和格雷纳-布热津斯卡,2003年,2004年)。不久之后,卡尔加里大学使用其类似的VI
前言 由于ORB-SLAM2在构建的时候只在地图中保留了特征点,对于使用RGB-D相机的小伙伴而言,更希望得到一个点云地图。好在ORB-SLAM2这个框架结构清晰,只需要单独添加一个线程用于维护点云地图,将ORB-SLAM2生成的关键帧传入点云地图构建线程,利用传入关键帧来生成点云地图,这就是基本思路了。其实这个工作高翔博士在早期就已经做过了,并上传到了github中。我的系统属性:操作系统:ubuntu20.04ROS:Noetic版本依赖库版本:eigen3.1.0、pcl-1.12、opencv3.2、vtk6.2、octomap1.9网站上流行的方式分为两种:一种是对o
在上一篇博文的最后提到过,基于高通QXRService已经开发出了能够获取到几乎所有基础数据的工具应用。今天就开始详细讲解如何基于高通QXRService进行程序开发,这一篇主要讲如何获取高通SLAMPose和IMUData。在之前的博文中已经介绍过,由于高通新的SDK在创建几个关键结构体句柄时,需要传入Java虚拟机内存首地址(JavaVM*)以及运行上下文(Context),所以对QXRService的开发是JNI层的Native开发,需要具备一些JNI编程的基础知识。另外,此文的一些具体细节对之前的这一篇博文进行了补充和修正:《QVRService:基于SnapdragonXR-SDK4
我尝试直接从互联网上复制源代码,但由于出现以下错误,我无法构建/调试整个文件。请帮忙ErroroccurredwhilerestoringNuGetpackages:System.ArgumentException:Thepathisnotofalegalform.atSystem.IO.Path.NormalizePath(Stringpath,BooleanfullCheck,Int32maxPathLength,BooleanexpandShortPaths)atSystem.IO.Path.GetDirectoryName(Stringpath)atNuGet.VisualSt
旋转轴/旋转角、旋转矩阵、四元数、李代数都可以表示旋转,那么这几者的转换是如何实现的呢?绕一个轴,旋转角度的旋转,例如,在三维空间中,以为轴,旋转45°,表示为,注意,旋转轴模长要化为1,旋转角度乘旋转轴即为旋转向量假如有一个点P(1,2,3),那么点P绕轴(0,0.7071,0.7071)转,后的位置,R为旋转矩阵,旋转向量到旋转矩阵的转化通过罗德里格斯公式实现 n右上面一个小帽子表示将向量n(n1,n2,n3)转化为反对称矩阵(skew-symmetirc) 从旋转矩阵转化回旋转轴和旋转角的方法是对旋转矩阵求迹tr(R) 转轴n是旋转矩阵R特征值1所对应的特征向量。通过特征向量的求解方法求
1.地图分类环境地图是机器人进行定位(特征地图)和规划(栅格地图)的前提尺度地图拓扑地图语义地图2.覆盖栅格建图算法把环境分解成一个一个的小栅格每个栅格有两种状态:占用(Occupied)或者空闲(free)非参模型随着地图的增大,内存需求急剧增加天然区分可通行区域,适合进行轨迹规划1.数学描述给定机器人的位姿和传感器的观测数据(主要是激光雷达)data=x1,z1,x2,z2,⋯ ,xn,zn(2-1)data={x_1,z_1,x_2,z_2,\cdots,x_n,z_n}\tag{2-1}data=x1,z1,x2,z2,⋯,xn,zn(2-1)估计出最可能的地图m∗=arg
多激光雷达标定multi_LiDAR_calibration对于多激光雷达的标定主要采用ICP、NDT等配准方法进行估计多个激光雷达的外参变换矩阵TTT。在这里先介绍一些先前关于多激光雷达外参标定的工作:M-LOAM:采用多个激光雷达固定到一个机器人上进行一起SLAM建图,在线标定得到外参矩阵。multi_lidar_calibration:代码地址https://github.com/AbangLZU/multi_lidar_calibration,博文说明https://zhuanlan.zhihu.com/p/362709744,作者原版的博文需要收费。该算法采用的是NDT配准,需要提供