Launch VINS example (Euroc dataset) in RTAB-MAP
$ roslaunch rtabmap_ros euroc_datasets.launch args:="-d RGBD/CreateOccupancyGrid false Odom/Strategy 9 OdomVINS/ConfigPath ~/catkin_ws/src/VINS-Fusion/config/euroc/euroc_stereo_imu_config.yaml" MH_seq:=true raw_images_for_odom:=true
$ cd ~/Downloads
$ rosbag play --clock MH_01_easy.bag
ERROR: cannot launch node of type [rtabmap_ros/yaml_to_camera_info.py]: can't locate node [yaml_to_camera_info.py] in package [rtabmap_ros]
ERROR: cannot launch node of type [rtabmap_ros/yaml_to_camera_info.py]: can't locate node [yaml_to_camera_info.py] in package [rtabmap_ros]
ERROR: cannot launch node of type [stereo_image_proc/stereo_image_proc]: stereo_image_proc
ROS path [0]=/opt/ros/kinetic/share/ros
ROS path [1]=/home/william/test_ws/src
ROS path [2]=/home/william/truss_ws/src
ROS path [3]=/home/william/catkin_ws/src
ROS path [4]=/opt/ros/kinetic/share
ROS path [5]=/home/william/Documents/demos/ORB_SLAM2/Examples/ROS
process[imu_base_link-5]: started with pid [5521]
process[camera_imu_link-6]: started with pid [5522]
process[leica_base_link-7]: started with pid [5531]
ERROR: cannot launch node of type [rtabmap_ros/point_to_tf.py]: can't locate node [point_to_tf.py] in package [rtabmap_ros]
Answer
I will never be able to launch node yaml_to_camera_info.py & point_to_tf.py, because they are not built from source but just files I put in the directory /opt/ros/kinetic/share/rtabmap_ros/scripts/ . I install rtabmap by command sudo apt install.
ERROR: cannot launch node of type [rtabmap_ros/rgbd_odometry]: can't locate node [rgbd_odometry] in package [rtabmap_ros]
ERROR: cannot launch node of type [rtabmap_ros/rtabmap]: can't locate node [rtabmap] in package [rtabmap_ros]
ERROR: cannot launch node of type [rtabmap_ros/rtabmapviz]: can't locate node [rtabmapviz] in package [rtabmap_ros]
Solution
$ source /opt/ros/kinetic/setup.bash
$ source ~/catkin_ws/devel/setup.bash
IF after sourcing .bash, the same errors still exist, it's time to rebuild rtabmap with a patch related to the ROS package VINS-Fusion.
First of all, clone the repository from GitHub. (Assume you have installed the prerequisites.)
$ cd ~/catkin_ws/src
$ git clone https://github.com/HKUST-Aerial-Robotics/VINS-Fusion.git
Then install this patch. To do this, you download, extract then put the patch in the directory of VINS-Fusion. (Maybe a ladder to some you know well will be use to check the patch and download it).
$ cd /home/william/catkin_ws/src/VINS-Fusion
$ git apply vins-fusion_e72b5f7.patch
$ cd ~/catkin_ws
$ catkin_make
Then rebuild rtabmap successfully. Some difference seems like this:
...
Scanning dependencies of target vins_lib
...
[ 44%] Building CXX object VINS-Fusion/vins_estimator/CMakeFiles/vins_lib.dir/src/estimator/estimator.cpp.o
...
[ 92%] Linking CXX shared library /home/william/catkin_ws/devel/lib/libvins_lib.so
[ 96%] Built target vins_lib
[ 96%] Linking CXX executable /home/william/catkin_ws/devel/lib/vins/kitti_gps_test
[ 96%] Linking CXX executable /home/william/catkin_ws/devel/lib/vins/vins_node
[ 97%] Linking CXX executable /home/william/catkin_ws/devel/lib/vins/kitti_odom_test
[ 98%] Built target kitti_gps_test
[ 98%] Built target kitti_odom_test
[100%] Built target vins_node
Reference:
[Error] DBDriverSqlite3.cpp:398::connectDatabaseQuery() Opened database version (0.19.1) is more recent than rtabmap installed version (0.17.6). Please update rtabmap to new version!
Launch VINS example (Euroc dataset) in RTAB-MAP的更多相关文章
- 谈谈RDD、DataFrame、Dataset的区别和各自的优势
在spark中,RDD.DataFrame.Dataset是最常用的数据类型,本博文给出笔者在使用的过程中体会到的区别和各自的优势 共性: 1.RDD.DataFrame.Dataset全都是spar ...
- APACHE SPARK 2.0 API IMPROVEMENTS: RDD, DATAFRAME, DATASET AND SQL
What’s New, What’s Changed and How to get Started. Are you ready for Apache Spark 2.0? If you are ju ...
- Along with all the above benefits, you cannot overlook the space efficiency and performance gains in using DataFrames and Dataset APIs for two reasons.
Of all the developers’ delight, a set of APIs that makes them productive, that are easy to use, and ...
- Launch VINS-Mono with Realsense D435i in RTAB-Map
Preparation: Remap topic from D435i to rtabmap Feed the odometry to rtabmap In the rqt_graph of vins ...
- Detectron2源码阅读笔记-(三)Dataset pipeline
构建data_loader原理步骤 # engine/default.py from detectron2.data import ( MetadataCatalog, build_detection ...
- spark2.0新特性之DataSet
1.Spark SQL,DataFrame,DataSet的错误类型检测时机 spark SQL:其类型检测与语法检测是在运行时检测的 DataFrame:在spark2.0以前的版本中,DataFr ...
- 三维视觉、SLAM方向全球顶尖实验室汇总
本文作者 任旭倩,公众号:计算机视觉life,编辑成员 欧洲 英国伦敦大学帝国理工学院 Dyson 机器人实验室 http://www.imperial.ac.uk/dyson-robotics-la ...
- ROS:ubuntuKylin17.04-Ros使用OrbSLAM2
忙于图像处理和DCNN,很长时间不使用ROS,重新安装系统后,再次使用ORB-SLAM2(ROS)进行三维重建和实时追踪的演示. 参考以前的文章:ROS:ubuntu-Ros使用OrbSLAM ORB ...
- 泡泡一分钟:FMD Stereo SLAM: Fusing MVG and Direct Formulation Towards Accurate and Fast Stereo SLAM
FMD Stereo SLAM: Fusing MVG and Direct Formulation Towards Accurate and Fast Stereo SLAM FMD Stereo ...
随机推荐
- 基本的Ceph性能测试工具和方法
测试环境 1. 测试准备 1.1 磁盘读写性能 1.1.1 单个 OSD 磁盘写性能,大概 165MB/s. root@ceph1:~# echo 3 > /proc/sys/vm/drop_c ...
- 优化深度神经网络(一) dropout 初始化
Coursera吴恩达<优化深度神经网络>课程笔记(1)-- 深度学习的实用层面 1. Train/Dev/Test sets 训练集(Training sets).验证集(Develo ...
- 委托小结及Func用法
首先,委托是一种类型,由关键字delegate声明.确切的说,委托是一种可用于封装命名或者匿名方法的引用类型. 它类似于 C++ 中的函数指针,而且是类型安全和可靠的. 委托类型的声明与 ...
- delphi c++builder 判断工程类型 超级系统变量
d:\program files (x86)\embarcadero\studio\16.0\SOURCE\RTL\SYS\SysInit.pas ModuleIsLib: Boolean; ...
- Just a Hook(树状数组)
In the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. T ...
- 使用jq.lazyload.js,解决设置loading图片的问题
最近在使用lazyload的时候,遇上一个问题.当对img做宽100%时,就是placeholder的loading图片也会100%宽,这样一般来说loading图片就会变得很大.实在是不能应用到项目 ...
- java定时任务调度工具Timer与Quartz的区别
Timer与Quartz的区别有三点: 1.出身不同:Timer由jdk直接提供,调用方式简单粗暴,不需要其它jar包支持.Quartz并非jdk自带,需要引入相应的jar包 2.能力区别:主要体现在 ...
- sqlplus客户端 navicat 使用sqlplus OCI
链接:http://pan.baidu.com/s/1i5otsUT 密码:cbux 解压后放到某个目录下 这是我的 sqlplus客户端出现乱码 - 一支小白 - 博客园 http://www.c ...
- Zookeeper Api(java)入门与应用
如何使用 Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper 并不是用来专门存储 ...
- mongo_1 新手之路
mongodb 进入.在bin目录下 至于安装各位自己查资料吧 .不废话了 直接上图.这种表示已经成功进入mongo 本人mongo 数据库存放地址.如有需要可以清空可以自己删除. 接下来就是 ...