$ 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:

  1. Make errors #380
  2. How to create and apply a patch with Git

[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的更多相关文章

  1. 谈谈RDD、DataFrame、Dataset的区别和各自的优势

    在spark中,RDD.DataFrame.Dataset是最常用的数据类型,本博文给出笔者在使用的过程中体会到的区别和各自的优势 共性: 1.RDD.DataFrame.Dataset全都是spar ...

  2. 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 ...

  3. 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 ...

  4. 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 ...

  5. Detectron2源码阅读笔记-(三)Dataset pipeline

    构建data_loader原理步骤 # engine/default.py from detectron2.data import ( MetadataCatalog, build_detection ...

  6. spark2.0新特性之DataSet

    1.Spark SQL,DataFrame,DataSet的错误类型检测时机 spark SQL:其类型检测与语法检测是在运行时检测的 DataFrame:在spark2.0以前的版本中,DataFr ...

  7. 三维视觉、SLAM方向全球顶尖实验室汇总

    本文作者 任旭倩,公众号:计算机视觉life,编辑成员 欧洲 英国伦敦大学帝国理工学院 Dyson 机器人实验室 http://www.imperial.ac.uk/dyson-robotics-la ...

  8. ROS:ubuntuKylin17.04-Ros使用OrbSLAM2

    忙于图像处理和DCNN,很长时间不使用ROS,重新安装系统后,再次使用ORB-SLAM2(ROS)进行三维重建和实时追踪的演示. 参考以前的文章:ROS:ubuntu-Ros使用OrbSLAM ORB ...

  9. 泡泡一分钟: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 ...

随机推荐

  1. Linux - rpm 软件包管理

    rpm 是 Red-Hat Package Manager(rpm 软件包管理器)的缩写 rpm 的命名规则: 第一部分为 rpm 软件包的名称,第二部分是版本号,第三部分是版本发布次数,第四部分是软 ...

  2. Lambda中的常用sql方法

    1.Groupby 对集合进行分组,如: var dllList = _menuMan.Load(c => c.TXT_ASSEMBLYNAME != null).GroupBy(c=>c ...

  3. js中,清空对象(删除对象的属性)

    在项目中,有些对象用完后需要重置,下面简单介绍下JS中清除对象的方法.方法如下: 方法一:字面量定义对象 第一步,定义一个空对象并打印出来,代码和效果: 代码: var student = {};co ...

  4. telnet测试端口是否正常打开

    点击计算机的开始菜单-->运行 ,输入CMD命令,然后确定.打开cmd命令行.   输入telnet测试端口命令: telnet IP 端口 或者 telnet 域名 端口 回车   如果端口关 ...

  5. 734. Sentence Similarity 有字典数组的相似句子

    [抄题]: Given two sentences words1, words2 (each represented as an array of strings), and a list of si ...

  6. zookeeper 面试题 有用

    .zookeeper是什么框架? zookeeper是一个开源的分布式协调服务框架. 2.有哪些应用场景? 应用场景:分布式通知/协调.负载均衡.配置中心.分布式锁.分布式队列等. 3.使用什么协议? ...

  7. ROS 不能安装 Ros Packages

    我的linux版本是16.04,安装的是kinetic 1. E: Some index files failed to download. They have been ignored, or ol ...

  8. 使用 dataview 组件制作一览表

    来自于<sencha touch权威指南>第八章,183页左右 ----------------------------------- 一.app.js代码: Ext.require([' ...

  9. seconds

    set_time_limit();//设置脚本运行时间为1秒

  10. linq to object 未完待续

    1.linq to string string s2 = "abc"; var data2 = s2.Where(x => x.CompareTo('a') > 0). ...