接着上一篇,完成上一篇配置后继续:

1、Kinect驱动安装,不多说

2、cd到程序根目录,添加build_ros.sh文件,内容如下:

echo "Building ROS nodes"cd Examples/ROS/ORB_SLAM2
mkdir build
cd build
cmake .. -DROS_BUILD_TYPE=Release
make -j

然后将 /usr/lib/x86_64-linux-gnu/libboost_filesystem.so 和 /usr/lib/x86_64-linux-gnu/libboost_system.so   ,/usr/local/lib/libopencv_core.so   (libopencv_core3.so)拷贝到根目录的lib文件夹下。

CMakeLists.txt修改如下:

cmake_minimum_required(VERSION 2.4.6)
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)rosbuild_init()IF(NOT ROS_BUILD_TYPE)SET(ROS_BUILD_TYPE Release)
ENDIF()MESSAGE("Build type: " ${ROS_BUILD_TYPE})set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}  -Wall  -O3 -march=native ")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall  -O3 -march=native")# Check C++11 or C++0x support
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")add_definitions(-DCOMPILEDWITHC11)message(STATUS "Using flag -std=c++11.")
elseif(COMPILER_SUPPORTS_CXX0X)set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")add_definitions(-DCOMPILEDWITHC0X)message(STATUS "Using flag -std=c++0x.")
else()message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()LIST(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/../../../cmake_modules)find_package(OpenCV REQUIRED)
find_package(G2O REQUIRED)   ####
find_package(Eigen3 REQUIRED)
find_package(Pangolin REQUIRED)
find_package( PCL REQUIRED )   ###include_directories(
${PROJECT_SOURCE_DIR}
${PROJECT_SOURCE_DIR}/../../../
${PROJECT_SOURCE_DIR}/../../../include
${Pangolin_INCLUDE_DIRS}
${PCL_INCLUDE_DIRS}   ###
)add_definitions( ${PCL_DEFINITIONS} )   ###
link_directories( ${PCL_LIBRARY_DIRS} )   ###set(LIBS
${OpenCV_LIBS}
${EIGEN3_LIBS}
${Pangolin_LIBRARIES}
${PROJECT_SOURCE_DIR}/../../../Thirdparty/DBoW2/lib/libDBoW2.so
g2o_core g2o_types_slam3d g2o_solver_csparse g2o_stuff g2o_csparse_extension g2o_types_sim3 g2o_types_sba
${PCL_LIBRARIES}
${PROJECT_SOURCE_DIR}/../../../lib/libORB_SLAM2.so
# ${PROJECT_SOURCE_DIR}/../../../lib/libboost_filesystem.so
# ${PROJECT_SOURCE_DIR}/../../../lib/libboost_system.so
# ${PROJECT_SOURCE_DIR}/../../../lib/libopencv_core.so   ###
)# Node for monocular camera
rosbuild_add_executable(Mono
src/ros_mono.cc
)target_link_libraries(Mono
${LIBS}
)# Node for RGB-D camera
rosbuild_add_executable(RGBD
src/ros_rgbd.cc
)target_link_libraries(RGBD
${LIBS}
)

然后,

sudo gedit Examples/ROS/ORB_SLAM2/src/ros_rgbd.cc
做如下修改:message_filters::Subscriber<sensor_msgs::Image> rgb_sub(nh, "/kinect2/hd/image_color", 1);
message_filters::Subscriber<sensor_msgs::Image> depth_sub(nh, "/kinect2/hd/image_depth_rect", 1);

然后在根目录下添加kinect标定配置文件  kinect2.yaml,我的内容如下:

%YAML:1.0#--------------------------------------------------------------------------------------------
# Camera Parameters. Adjust them!
#--------------------------------------------------------------------------------------------# Camera calibration and distortion parameters (OpenCV)
Camera.fx: 1.0463505828017596e+03
Camera.fy: 1.0437078414277514e+03
Camera.cx: 9.5816557284218459e+02
Camera.cy: 5.4111840298331435e+02Camera.k1: 3.4696500016314420e-02
Camera.k2: -2.5306047171647417e-02
Camera.p1: 1.6317902928695393e-03
Camera.p2: 1.1387356663988056e-03
Camera.k3: -1.2753435167343403e-02Camera.width: 1920
Camera.height: 1080# Camera frames per second
Camera.fps: 30.0# IR projector baseline times fx (aprox.)
Camera.bf: 40.0# Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
Camera.RGB: 1# Close/Far threshold. Baseline times.
ThDepth: 50.0# Deptmap values factor
DepthMapFactor: 1000.0#--------------------------------------------------------------------------------------------
# ORB Parameters
#--------------------------------------------------------------------------------------------# ORB Extractor: Number of features per image
ORBextractor.nFeatures: 1000# ORB Extractor: Scale factor between levels in the scale pyramid
ORBextractor.scaleFactor: 1.2# ORB Extractor: Number of levels in the scale pyramid
ORBextractor.nLevels: 8# ORB Extractor: Fast threshold
# Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
# Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
# You can lower these values if your images have low contrast
ORBextractor.iniThFAST: 20
ORBextractor.minThFAST: 7#--------------------------------------------------------------------------------------------
# Viewer Parameters
#--------------------------------------------------------------------------------------------
Viewer.KeyFrameSize: 0.05
Viewer.KeyFrameLineWidth: 1
Viewer.GraphLineWidth: 0.9
Viewer.PointSize:2
Viewer.CameraSize: 0.08
Viewer.CameraLineWidth: 3
Viewer.ViewpointX: 0
Viewer.ViewpointY: -0.7
Viewer.ViewpointZ: -1.8
Viewer.ViewpointF: 500#--------------------------------------------------------------------------------------------
# PointCloud Mapping
#--------------------------------------------------------------------------------------------
PointCloudMapping.Resolution: 0.03

最后,

chmod +x build_ros.sh
./build_ros.sh运行:
新开一个终端:
roslaunch kinect2_bridge kinect2_bridge.launchcd到程序根目录下:
rosrun ORB_SLAM2_with_pointcloud RGBD Vocabulary/ORBvoc.txt kinect2.yaml

编译高博ORBSLAM2_with_pointcloud_map,ros下用kinect进行测试。相关推荐

  1. 编译高博ORBSLAM2_with_pointcloud_map,用TUM数据集测试。

    1.下载源代码 git clone https://github.com/gaoxiang12/ORBSLAM2_with_pointcloud_map.git 2. cd ORBSLAM2_with ...

  2. Ubuntu16.04编译高博的ORBSLAM2_with_pointcloud_map详细过程

    我在编译过程中主要参考了以下几篇博客: Ubuntu16.04编译高博的ORBSLAM2_with_pointcloud_map_Andyoyo007的博客-CSDN博客编译高博ORBSLAM2_wi ...

  3. 关于思岚s1激光雷达ROS下的使用与测试

    笔者在很长一段时间,对于激光雷达的测距具体细节不是了解,很长一段时间就是调用人家写好的package,根本不清楚具体里面的技术细节,但是要做项目,要自己写算法,不清楚就很难进行下去. 首先介绍一下ro ...

  4. rtabmap_ros 下使用kinect xbox360 测试(一)

    参考 :http://wiki.ros.org/rtabmap_ros/Tutorials/HandHeldMapping 启动: 1. roslaunch freenect_launch freen ...

  5. ros下用kinectv2运行orbslam2

    目录 前提 创建工作空间 orbslam2源码配置.测试: 配置usb_cam ROS功能包 配置kinect kinectv2标定 在ROS下用kinect运行orbslam2 出错: 前提 vim ...

  6. 高博十四讲中第六章非线性优化 由于g2o更新出现的问题解决

    在高博视觉slam十四讲中的第6讲中实践g2o中出现了编译错误: /home/yk/桌面/slambook-master/ch6/g2o_curve_fitting/main.cpp: In func ...

  7. NLOPT ros下的使用

    NLOPT是优化库,在路径规划中可以用于对目标函数的优化,在这里对它的使用进行记录,这个是初稿,后面还会进行修改. 1.NLOPT的安装 直接使用安装包进行编译安装,否则ros下会无法找到这个包. 2 ...

  8. ROS下获取USB免驱动高速摄像头图像数据

    开发环境 使用uvc_camera package 1. 安装uvc_camera package 2. 测试和查看安装结果 3. 配置自己的.launch文件 深入研究库文件 开发环境 PC系统 u ...

  9. ros下Kinect的“跟屁虫”

    ros下Kinect的"跟屁虫" 此文为很久之前工作的整理,以此作为记录,以免遗忘.纯属笔记. 实现的功能:用Kinect跟随人. 平台:Ubuntu14.04+Kinect1+全 ...

最新文章

  1. ((void *) 0)的含义和void的一些细节
  2. 1.8 ionic3入门——测滑菜单(side menu)中的界面跳转
  3. Pandas基本操作指南-2天学会pandas
  4. Spket在Eclipse/MyEclipse下的安装和配置(图文教程)
  5. check your cluster UI to ensure that workers are registered and have sufficient resources
  6. 【转】C#数据结构-有限状态机
  7. java 安卓调试_【转】Android 调试技术
  8. e-006 matlab,基于MATLAB进行潮流计算
  9. python从语音生成语谱图
  10. Node.JS——NodeJS引用路径的小问题
  11. Django-----模板嵌套
  12. vector插入和删除操作
  13. 区块链基础:交易模型解读
  14. brpc中的协程bthread源码剖析(一):Work Stealing以及任务的执行与切换
  15. 100句永久珍藏的人生格言
  16. 在react项目中使用highCharts图表,并给图表添加事件
  17. P4279 [SHOI2008]小约翰的游戏(博弈论)(Anti-SG)
  18. matlab:Invalid character code sequence detected
  19. python --安装pylab
  20. 最新emoji表情代码大全_中老年专用表情包最新,下午好表情图片大全,真诚的人,走到哪里都会有人喜欢!...

热门文章

  1. PC微信逆向--调用sqlite3_exec执行SQL
  2. 2021-03-4:task04_NFM模型
  3. 时间序列预测模型TBATS
  4. unity ugui改变pos,width,height
  5. 区块链 - 若只如初见
  6. 基于PCI接口的数据采集卡!(第一次做的板卡)
  7. 【Ansible自动化运维工具】Ansible变量之lookup生成变量方法
  8. 前端基础:通过表单元素实践《健康体检单》
  9. 微信开发工具制作会动的海绵宝宝
  10. 画鸟的猎人计算机操作题,《画鸟的猎人》读写迁移