当前位置:网站首页>ROS learning (XX) robot slam function package -- installation and testing of rgbdslam
ROS learning (XX) robot slam function package -- installation and testing of rgbdslam
2022-07-07 01:52:00 【Ice cream with code】
List of articles
Preface
In the previous study ,slam The constructed maps are all two-dimensional maps , At present, many algorithms can realize the map construction of three-dimensional information , Robots not only know where obstacles are in the map , And also know what the obstacle is .
ROS Provides a variety of 3D SLAM Function pack ,rgbdslam That's one of them , This chapter mainly studies rgbdslam Installation and testing of .
One 、 New workspace
The order is as follows :
mkdir -p ~/catkin_rgbdslam_ws/src
cd ~/catkin_rgbdslam_ws/src
catkin_init_workspace
cd ~/catkin_rgbdslam_ws
catkin_make
Two 、 download rgbdslam_v2 Corresponding to the author g2o
The order is as follows :
cd ~/catkin_rgbdslam_ws/src
sudo apt-get install libsuitesparse-dev
git clone https://github.com/felixendres/g2o.git
cd g2o
mkdir build
cd build
cmake ..
make..
sudo make install
among , The second command is responsible for installing dependencies .
3、 ... and 、 install pcl1.8
download , The order is as follows :
cd ~
wget https://github.com/PointCloudLibrary/pcl/archive/pcl-1.8.0.tar.gz
tar -xvzf pcl-pcl-1.8.0.tar.gz
cd ~/pcl-pcl-1.8.0
gedit CMakeLists.txt
Add the following to CMakeLists.txt Of the 146 That's ok ( stay endif() after ), Add C++11 Support :
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
compile 、 install , The order is as follows :
cd ~/pcl-pcl-1.8.0
mkdir build
cd build
cmake ../
make VERBOSE=1
sudo make install
Four 、 To configure rgbdslam_v2
The order is as follows :
cd ~/catkin_rgbdslam_ws/src
git clone https://github.com/felixendres/rgbdslam_v2
cd rgbdslam_v2
gedit CMakeLists.txt
modify CMakeLists The contents of the document , take
find_package(PCL 1.7 REQUIRED COMPONENTS common io)
Change it to :
find_package(PCL 1.8 REQUIRED COMPONENTS common io)
And add the following at the lowest end :
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
modify /opt/ros/kinetic/share/pcl_ros/cmake/pcl_rosConfig.cmake file , Will all /usr/lib/x86_64-linux-gnu/libpcl_ Change the beginning to /usr/local/lib/libpcl_( A total of 34 individual )
5、 ... and 、 structure siftgpu library
The order is as follows :
cd ~/catkin_rgbdslam_ws/src/rgbdslam_v2/external/SiftGPU
sudo apt-get install libglew-dev
sudo apt-get install libdevil1c2 libdevil-dev
make
6、 ... and 、 compile rgbdslam_v2
The order is as follows :
cd ~/catkin_rgbdslam_ws
catkin_make
cd build/rgbdslam_v2
make VERBOSE=1
make install
If compiled opencv error , According to this blog openCV Step on the pit diary To operate , Then recompile .
7、 ... and 、 test
1、 A simple test
Open a new terminal , function roscore
roscore
Switch to /catkin_rgbdslam_ws/devel/lib/rgbdslam/ Under the table of contents , Open another terminal , Run the following command :
./rgbdslam
The interface is as follows :
If this interface displays normally , Then prove rgbdslam Installation successful .
2、 Dataset testing
Download datasets , Download address :http://vision.in.tum.de/data/datasets/rgbd-dataset/download#freiburg1_room, Will download okay .bag The documents are stored in catkin_rgbdslam_ws/rgdb_data Under the table of contents .
modify rgdbslam.launch file , Make sure the topic you subscribe to is consistent with the data set , The modification is as follows :
<param name="config/topic_image_mono" value="/camera/rgb/image_color"/>
<param name="config/topic_image_depth" value="/camera/depth/image"/>
Open the terminal , Enter the command as follows :
roscore
Switch to rgdbslam_v2/launch Under the table of contents , Open a new terminal , The order is as follows :
roslaunch rgbdslam rgbdslam.launch
The interface is as follows :
Switch to catkin_rgbdslam_ws/rgdb_data Under the table of contents , Open a new terminal , The order is as follows :
rosbag play rgbd_dataset_freiburg1_room.bag
When the data package starts publishing data , You can see the image data and slam The process of , as follows :
When the construction is finished , Directly select Save as point cloud data in the menu bar , I keep it in rgdb_data Under the table of contents , The file named quicksave.pcd.
have access to pcl_ros Function pack view the saved point cloud map :
rosrun pcl_ros pcd_to_pointcloud quicksave.pcd
边栏推荐
- New job insights ~ leave the old and welcome the new~
- 使用nodejs完成判断哪些项目打包+发版
- What does front-end processor mean? What is the main function? What is the difference with fortress machine?
- Set WordPress pseudo static connection (no pagoda)
- Mysqlbackup restores specific tables
- Mongodb checks whether the table is imported successfully
- LeetCode. Sword finger offer 62 The last remaining number in the circle
- AcWing 346. Solution to the problem of water splashing festival in the corridor (deduction formula, minimum spanning tree)
- golang 基础 —— 数据类型
- 爬虫实战(六):爬笔趣阁小说
猜你喜欢
新工作感悟~辞旧迎新~
ROS学习(23)action通信机制
AcWing 361. Sightseeing cow problem solution (SPFA seeking positive ring)
JS how to quickly create an array with length n
2022/0524/bookstrap
[advanced C language] 8 written questions of pointer
Comparison of picture beds of free white whoring
Appium基础 — Appium Inspector定位工具(一)
LeetCode. Sword finger offer 62 The last remaining number in the circle
永久的摇篮
随机推荐
NPM install compilation times "cannot read properties of null (reading 'pickalgorithm')“
蓝桥杯2022年第十三届省赛真题-积木画
JVM memory model
盒子拉伸拉扯(左右模式)
刨析《C语言》【进阶】付费知识【二】
百度飞将BMN时序动作定位框架 | 数据准备与训练指南 (上)
hdu 4661 Message Passing(木DP&amp;组合数学)
修改px4飞控的系统时间
uva 1401 dp+Trie
Shortcut keys commonly used in idea
鼠标右键 自定义
今日问题-2022/7/4 lambda体中修改String引用类型变量
搭建【Redis in CentOS7.x】
What does front-end processor mean? What is the main function? What is the difference with fortress machine?
Yunna | work order management measures, how to carry out work order management
AcWing 1141. LAN problem solving (kruskalkruskal finding the minimum spanning tree)
How can I code for 8 hours without getting tired.
Use nodejs to determine which projects are packaged + released
AcWing 1148. Secret milk transportation problem solution (minimum spanning tree)
Mongodb checks whether the table is imported successfully