orbslam2 ROS下RGBD实验记录(三) KINECT2通过ROS在线跑ORBSLAM2

1.配置ROS_PACKAGE_PATH环境变量
source ~/.bashrc
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/user/ORB_SLAM2/Examples/ROS
否则会出错说找不到路径和包

2.进入ORB_SLAM2主路径编译ros节点:
chmod +x build_ros.sh
./build_ros.sh
确保原程序可以编译

可能出来如下问题:/usr/bin/ld: CMakeFiles/RGBD.dir/src/ros_rgbd.cc.o: undefined reference to symbol ‘_ZN5boost6system15system_categoryEv’
- 出错原因为:libboost_system.so 与libboost_filesystem.so找不到链接目录
- 解决方案为

locate boost_system
//查找到目录
/usr/lib/x86_64-linux-gnu/libboost_system.a
/usr/lib/x86_64-linux-gnu/libboost_system.so
/usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0

locate boost_filesystem
//查找到目录
/usr/lib/x86_64-linux-gnu/libboost_filesystem.a
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so
/usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.58.0

将libboost_system.so与libboost_filesystem.so复制到ORB_SLAM2/lib下,并且将ORBSLAM2/Examples/ROS/ORBSLAM2下的Cmakelists.txt中加入库目录,具体为
在set(LIBS
${OpenCV_LIBS}
${EIGEN3_LIBS}
${Pangolin_LIBRARIES}
${PROJECT_SOURCE_DIR}/../../../Thirdparty/DBoW2/lib/libDBoW2.so
${PROJECT_SOURCE_DIR}/../../../Thirdparty/g2o/lib/libg2o.so
${PROJECT_SOURCE_DIR}/../../../lib/libORB_SLAM2.so

之后加入${PROJECT_SOURCE_DIR}/../../../lib/libboost_filesystem.so
${PROJECT_SOURCE_DIR}/../../../lib/libboost_system.so

3.打开一个终端,运行:roslaunch kinect2_bridge kinect2_bridge.launch
4.再打开另一个终端,输入:rostopic list查看此时Kinect2发布的topic,我用的是/kinect2/qhd/image_color_rect和/kinect2/qhd/image_depth_rect
5.找到源文件ros_rgbd.cc,按照上面的topic修改里面的ros订阅的内容
6.重新编译工程
./build_ros.sh

7.在~/ORB_SLAM2/Examples/ROS$ 目录下,运行
rosrun ORB_SLAM2 RGBD /home/user/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/user/ORB_SLAM2/Examples/RGB-D/kinect2_qhd.yaml
即可得到实时在线轨迹。

参考链接:
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ORB SLAM2是一个基于特征点的视觉SLAM(Simultaneous Localization and Mapping)系统,它可以通过单目摄像头实现实时的相机定位和地图构建。而ROS(Robot Operating System)是一个用于机器人开发的开源框架,提供了一系列工具和库来简化机器人软件开发。 要搭建ORB SLAM2 ROS单目摄像头环境,你需要按照以下步骤进行: 1. 安装ROS:首先,你需要在你的计算机上安装ROS。你可以根据你的操作系统版本选择合适的ROS版本进行安装。安装过程可以参考ROS官方网站提供的文档。 2. 创建ROS工作空间:在安装完ROS后,你需要创建一个ROS工作空间来存放ORB SLAM2和其他相关的ROS包。你可以使用以下命令创建一个新的工作空间: ``` mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make ``` 3. 下载ORB SLAM2 ROS包:在创建好工作空间后,你需要下载ORB SLAM2的ROS包并将其放置在工作空间的`src`目录下。你可以使用以下命令进行下载: ``` cd ~/catkin_ws/src git clone https://github.com/raulmur/ORB_SLAM2.git ``` 4. 编译ORB SLAM2 ROS包:下载完ORB SLAM2 ROS包后,你需要编译它。在`catkin_ws`目录下,运行以下命令进行编译: ``` cd ~/catkin_ws catkin_make -DCMAKE_BUILD_TYPE=Release ``` 5. 配置相机参数:在使用ORB SLAM2之前,你需要根据你的摄像头配置相机参数。你可以编辑ORB SLAM2的配置文件,将相机的内参和畸变参数填入其中。 6. 运行ORB SLAM2:完成以上步骤后,你可以运行ORB SLAM2来进行相机定位和地图构建。首先,启动ROS核心节点: ``` roscore ``` 然后,在另一个终端中运行ORB SLAM2节点: ``` rosrun ORB_SLAM2 Mono /path/to/ORB_SLAM2/Vocabulary/ORBvoc.txt /path/to/ORB_SLAM2/Examples/Monocular/your_camera.yaml ``` 其中,`/path/to/ORB_SLAM2/Vocabulary/ORBvoc.txt`是ORB SLAM2的词汇文件路径,`/path/to/ORB_SLAM2/Examples/Monocular/your_camera.yaml`是相机参数配置文件路径。 7. 可选:可视化结果:如果你想可视化ORB SLAM2的结果,你可以使用rviz工具。在另一个终端中运行以下命令: ``` rosrun rviz rviz -d `rospack find ORB_SLAM2`/Examples/Monocular/ORB_SLAM2.rviz ``` 以上就是搭建ORB SLAM2 ROS单目摄像头环境的基本步骤。希望对你有帮助!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值