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 ...
随机推荐
- ZedGraph类库之基本教程篇
第一部分:基本教程篇 ZedGraphDemo中一共有9个基本教程的例子.其中大部分都类似,我会讲解其中一些比较典型的例子.把ZedGraph类库的使用逐步展现给大 ...
- pymysql简单链接示例
#!/usr/bin/env python # encoding: utf-8 # Date: 2018/6/24 import pymysql username = input('username ...
- python使用pika链接rabbitmq Connection reset by peer 解决办法
记录一下, 最近在用机器学习打算做一个Rest API, 数据存入mongo,任务采用消息队列,rabbitmq 由于引擎采用python编写,所以WEB也直接打算用python编写了,比较省事. W ...
- STM32与PC机串口通讯
有时要将板子的信息输出到电脑上来调试之类的,或者把传感器收集到的数据显示到电脑. 当然了,这只是最基本的串口通信,简单的说,是有一根USB线连着的. mbed上并没有能显示printf的功能.需要自己 ...
- 如何解决quartz在集群下出现的资源抢夺现象
Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中.它提供了巨大的灵活性而不牺牲简单性.你能够用它来为执行一个作业而创建简单的或复杂的调度,简单的说就是可以 ...
- 思考ASP.NET网站静态化的利与弊
最近在思考网站要不要进行静态化的问题,在网上收集和整理了有关静态化利与弊的资料,于是写下此博文分享到网络上.由于本人是一名asp.net开发人员,所以本文的观点可能无法涉及到全部方面,但是比较注重于使 ...
- SQL中对数据截取替换
REPLACE(要修改字段名,‘被替换的特定字符’,‘替换的字符’) 表结构和插入数据 CREATE DATABASE TEST GO USE TEST GO CREATE TABLE TestTab ...
- 2-1 gradle安装
因为Gradle是基于JVM的,所以一定要确保本机已经安装了JDK,我们可以通过java -version来验证一下是否已经安装了JDK. bin目录里面是两个可执行文件,一个是Windows下面的 ...
- Linux 下Nginx 运行Vue
首相基础的安装Node.js npm 先建个目录把 /node/www 然后在这个目录下 wget https://nodejs.org/dist/v8.11.1/node-v8.11.1-linu ...
- 关于windows的锁定状态
本来以为要在项目里用上的,现在看来不需要了,把相关的函数列一下吧,以后如果用到了,再写详细点 锁定计算机 : LockWorkStation 注册Windows状态变化的监听函数: BOOL WTSR ...