ORB_SLAM3的ROS接口和ORB_SLAM2一样,可能因为还是Beta版就没有重写吧连名字空间都是ORBSLAM2的, 没有加入imu的节点。
我写了两个ROS接口双目IMU和单目IMU,通过修改DBow2的源码将词典的加载方式改为二进制,加载词典的时候就速不用等待了。实现方法也不难,把时间戳在当前帧之前的IMU帧(包括时间戳相同的)以这样ORB_SLAM3::IMU::Point的形式,全部加入到这样vector<ORB_SLAM3::IMU::Point>的结构中,注意处理帧的先后顺序,IMU帧频率高有可能有几帧在图片之后才能到达。
代码地址:https://github.com/xiefei2929/ORB_SLAM3-ROS-Interface
编译同ORB_SLAM3
2.1 配置Ros环境
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws
$ catkin_make
在home目录找到隐藏文件.bashrc,在最下面添加
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
2.2 安装依赖
# 安装 g++
$ sudo apt-get install gcc g++
# 安装 Pangolin
$ sudo apt-get install libglew-dev #安装Glew
$ sudo apt-get install cmake #安装CMake
$ sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev #安装Boost
$ sudo apt-get install libpython2.7-dev #安装Python2'Python3
$ git clone https://github.com/stevenlovegrove/Pangolin.git
$ cd Pangolin
$ mkdir build
$ cd build
$ cmake -DCPP11_NO_BOOST=1 ..
$ make
$ sudo make
# 安装Opencv
$ sudo apt-get update
$ sudo apt-get install libopencv-dev
# 安装Eigen
$ sudo apt-get install libeigen3-dev
# 安装BLAS,LAPACK
$ sudo apt-get install libblas-dev
$ sudo apt-get install liblapack-dev
2.3# 编译ORB_SLAM3-ROS-Interface
$ cd catkin_ws/src
$ git clone https://github.com/xiefei2929/ORB_SLAM3-ROS-Interface.git
$ cd ORB_SLAM3-ROS-Interface
$ chmod +x build.sh
$ ./build.sh #如果运行电脑卡死的话,请修改build.sh文件中所有的make -j为make
$ ./build_ros.sh
运行命令
单目IMU: rosrun ORB_SLAM3 Mono_inertial /YOUR_PATH/ORBvoc.bin /YOUR_PATH/EuRoC.yaml
双目IMU: rosrun ORB_SLAM3 Stereo_inertial /YOUR_PATH/ORBvoc.bin /YOUR_PATH/EuRoC.yaml
Matlab的fwrite()函数和fread()函数都是将从文件中读进来的数据按列顺序存放在矩阵中的。A = FREAD(FID,SIZE) reads the number of elements specified by SIZE. Valid entries for SIZE are:N read N elements into a column vector.inf ...
注意权限,不建议使用root,同es集群的启动用户相同即可1. 下载 & 解压# 下载wget https://github.com/lmenezes/cerebro/releases/download/v0.8.3/cerebro-0.8.3.zip# 解压unzip cerebro-0.8.3.zip# 软链ln -s cerebro-0.8.3 cerebro...
1.Carsim中车型的设置:选择B-Class,hatchback;2.Carsim工况的设置见下图:3.Carsim输入量依次是质心速度(km/h)、左前轮转角、右前轮转角、左后轮转角和右后轮转角。切记这里顺序一定不能打乱,因为这个而输入量与我们simulink中的控制器输出量是相对应的。carsim中角度的默认的单位为度(°),速度的默认单位为(km/h)。所以当在MPC控制器设计的时候,如果单位不统一,需要进行单位换算。设置见下图:3.Carsim输出量依次是X坐标
【学习难度:★★★☆☆,使用频率:★★★★☆】代理模式是常用的结构型设计模式之一,当无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问,为了保证客户端使用的透明性,所访问的真实对象与代理对象需要实现相同的接口。根据代理模式的使用目的不同,代理模式又可以分为多种类型,例如保护代理、远程代理、虚拟代理、缓冲代理等,它们应用于不同的场合,满足用户的不同需求。 15.1 代理模式概...
华为--MSTP实验一:概述1.1:作用二:实验2.1:实验目的2.2:实验环境2.3:实验拓扑结构图2.4:实验配置2.5:实验总结一:概述mstp是多实例生成树1.1:作用让指定的一个vlan或者多个vlan生成一棵树,实现链路的负载均衡二:实验2.1:实验目的实现trunk链路的负载均衡2.2:实验环境ENSP三台交换机两台PC一台路由器2.3:实验拓扑结构图2.4:实验配置SW1<Huawei>undo terminal monitor <Hua
加上去 X.backward(torch.ones_like(b))import torch a = torch.randn(2, 3, requires_grad=True) # 创建一个张量b = 3 * a b.backward(torch.ones_like(b)) # 自动计算所有梯度print(a.grad)
MySQL的安装过程还是比较繁琐,为了以后安装节约时间,将其详细安装过程总结如下:1>下载对应版本下载地址:https://dev.mysql.com/downloads/mysql/2>将下载的.zip文件 解压到需要安装的目录下,在该目录下创建一个名为data的空文件夹和一个my.ini文件3>配置初始化的my.ini文件,内容如下:[mysqld]#设置3307端口port...
明明电脑和网络配置不低,为什么笔记本电脑玩游戏延迟高
以下书籍都是现在业内主流的正则表达式好书,同步收录在顶书,通过下面网址进入,实时读书:顶书-提升IT技术和认知i-book.top正则表达式必知必会《正则表达式必知必会》从简单的文本匹配开始,循序渐进地介绍了很多复杂内容,其中包括回溯引用、条件性求值和前后查找,等等。每章都为读者准备了许多简明又实用的示例,有助于全面、系统、快速掌握正则表达式,并运用它们去解决实际问题。正则表达式是一种威力无比强大的武器,几乎在所有的程序设计语言里和计算机平台上都可以用它来完成各种复杂的文本处理工作。而且书
在进行python研发的时候,pycharm是一个很好的IDE,今天又发现了一个比较好的功能,就是可以直接通过这个IDE连接数据库,然后对数据库进行相关的操作,这样我们可以不适用navicat for mysql这样的可视化工具了。下面来说一下怎么通过pycharm来设置吧。首先打开database,一般在pycharm的右边侧栏中,也可以通过(View-->Tool Windows --
传统的文件系统中,ACL分为两个维度,一个是属组,一个是权限,子目录/文件默认继承父目录的ACL。而在Zookeeper中,znode的ACL是没有继承关系的,是独立控制的。zookeeper支持的权限CREATE(c): 创建权限,可以在在当前node下创建child nodeDELETE(d): 删除权限,可以删除当前的nodeREAD(r): 读权限,可以获取当前node的数据,可以li
1,创建配置文件:druid.propertiesdriverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/使用自己的数据库username=rootpassword=使用自己的密码initialSize=5maxActive=10maxWait=30002,创建Druid的工具类:DruidUtilspublic class DruidUtils { //1.私有构造方法 private D