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 ...
随机推荐
- Linux操作系统下的多线程编程详细解析----条件变量
条件变量通过允许线程阻塞和等待另一个线程发送信号的方法,弥补了互斥锁(Mutex)的不足. 1.初始化条件变量pthread_cond_init #include <pthread.h> ...
- 讲解一下this (作用域)
this的指向:普通函数内的this指向全局变量 构造函数内部this指向新创建出来的对象 对象方法内的this指向的是调用该方法的对象 call,apply,bind可以改变this的指向
- java成神之——MySQL Connector/J 的基本使用
使用示例 DBCP连接池 结语 使用示例 public class demo { static Connection con = null; static Statement st = null; s ...
- 5.solr学习速成之语法
常用查询参数 q - 查询字符串,必须的. fl - 指定返回那些字段内容,用逗号或空格分隔多个. start - 返回第一条记录在完整找到结果中的偏移位置,0开始. rows - 指定返回 ...
- struct 方法使用
struct _Worker { _Worker() { pWokerbase=NULL; hThread=INVALID_HANDLE_VALUE; pListConn=NULL; } struct ...
- Jenkins+maven+SVN构建java项目中遇到的问题及解决
[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a g ...
- easylogging++学习记录(二):流式日志
easylogging++日志库流式日志的写入,依赖于el::base::Writer类的析构,以debug日志为例:具体代码如下: #define LOG(LEVEL) CLOG(LEVEL, EL ...
- Mac设置Root密码
[Mac设置Root密码] Mac系统重新设置root用户密码 如果不知道root用户密码,需要重设. 命令[sudo passwd root ] 然后提示你输入当前登录用户密码,通过以后, ...
- 安装express.js(NODEJS框架)
express.js是nodejs的一个MVC开发框架,并且支持jade等多种模板.下面简单来说说express的安装和app.js文件的配置,然后在今后的教程中一步一步使用express.js搭建个 ...
- codeforce 462DIV2 C题
题意 给出一个只含有1和2的序列,有n个元素,可以选择一段区间进行翻转操作,求再反转后的最大非递减子序列的长度 分析 太菜了只想出了N^2的做法.序列只有1和2,那么每个非递减子序列都会有一个分界点, ...