ros下使用kinect2运行orbslam
发布时间
阅读量:
阅读量
kinect2驱动与标定
为使用kinect2设备需安装相应的驱动程序,并可通过以下链接获取详细指导:kinect2驱动安装。完成安装后需进行相机标定,请参考官方文档中的相关内容:github)。个人尝试进行标定后发现效果不理想,在此基础上利用ros平台中的iai_kinect2模块下的数据文件进行处理时发现效果显著提升,则需将数据文件中的序列号相应修改为自身体 camera 的序列号
运行slam
调用方式1
在orbslam2的Examples/ros/orbslam2/src下的os_rgbd.cc中修改为
message_filters::Subscriber<sensor_msgs::Image> rgb_sub(nh,"/kinect2/qhd/image_color",1);
message_filters::Subscriber<sensor_msgs::Image> depth_sub(nh,"/kinect2/qhd/image_depth_rect",1);
启动./build_ros.bash以实现重新构建ROS节点。
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/nikelee/catkin_ws/src/ORB_SLAM2/Examples/ROS
source ~/catkin_ws/devel/setup.bash
上面的具体路径根据自己的实际情况进行修改,保存之后 source .bashrc
在新的终端中运行
roslaunch kinect_bridge kinect_bridge.launch
在打开一个终端,在orbslam2下的examples/ros目录下运行
rosrun ORB_SLAM2 RGBD Vocabulary/ORBvoc.txt Examples/RGB-D/kinect2.yaml
为优化运行效果, 建议在ros环境下安装iai_kinect2/kinect2_bridge包, 并依据该包的数据参数进行Kinect2.yaml的配置. 该配置文件中qhd摄像头的分辨率设置为960x540
调用方案二
参考高博所著的相关博客
slam实战
对kinect2_viewer文件进行修改时,请相应地调整cmakelists文件,并提供一个具体的修改方案作为参考。
execute_process(COMMAND find ${PROJECT_SOURCE_DIR} -type f OUTPUT_VARIABLE FILES_STRING)
string(REPLACE "\n" ";" FILES_LIST ${FILES_STRING})
add_custom_target(additional_files_${PROJECT_NAME}
SOURCES
${FILES_LIST}
)
find_package(Pangolin REQUIRED)
set(INC_DIR /home/nikelee/catkin_ws/src/pointSlam/ORB_SLAM2_modified/include) // 设置slam的头文件目录
set(LIN_DIR /home/nikelee/catkin_ws/src/pointSlam/ORB_SLAM2_modified/lib) // 设置slam的库文件目录
include_directories(include
${catkin_INCLUDE_DIRS}
${OpenCV_INCLUDE_DIRS}
${PCL_INCLUDE_DIRS}
${kinect2_bridge_INCLUDE_DIRS}
${INC_DIR} // 加入头文件
${Pangolin_INCLUDE_DIRS}
)
link_directories(${LIN_DIR}) // 链接库文件目录
add_executable(kinect2_viewer src/slamViewer.cpp)
target_link_libraries(kinect2_viewer
${catkin_LIBRARIES}
${OpenCV_LIBRARIES}
${PCL_LIBRARIES}
${kinect2_bridge_LIBRARIES}
ORB_SLAM2 // 链接库文件
${Pangolin_LIBRARIES}
)
还要根据自己的情况修改词典文件和相机参数文件的路径
//打开终端
cd ~/catkin_ws/
#运行kinect2_bridge
roslaunch kinect2_bridge kinect2_bridge.launch
#打开一个新终端,查看点云图
rosrun kinect2_viewer kinect2_viewer qhd cloud
全部评论 (0)
还没有任何评论哟~
