在ROS indigo下运行ORB-SLAM2

    xiaoxiao2021-03-25  134

    step1: 安装ROS indigo,并创建工作空间 . step2 : 将ORB-SLAM2代码拷贝到~/catkin_ws/src/目录下。 step3 : 进入~/catkin_ws/src/ORB-SLAM2目录,运行下面程序:

    cd catkin_ws/src/ORB_SLAM2/ chmod +x build.sh ./build.sh

    step4: 增加包含 Examples/ROS/ORB_SLAM2 的目录添加到 ROS_PACKAGE_PATH 的环境变量中。

    export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:PATH/ORB_SLAM2/Examples/ROS

    我的是: export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/hm/catkin_ws/src/ORB_SLAM2/Examples/ROS

    step5: 在.bashrc中添加环境变量:用gedit打开.bashrc 文件加入下面内容: export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/hm/catkin_ws/src/ORB_SLAM2/Examples/ROS

    cd ~ gedit .bashrc

    step6:在ros工作空间中执行build_ros.h脚本:

    进入catkin_ws工作空间中的ORB_SLAM2,执行下面代码:

    cd ~/catkin_ws/src/ORB_SLAM2 chmod +x build_ros.sh ./build_ros.sh


    ROS下实时跑ORB_SLAM2

    Step1 : 运行内核

    roscore

    Step2 : 启动相机

    cd catkin_ws/src/usb_cam/launch #进入usb_cam驱动的安装目录 roslaunch my_cam.launch #加载相机launch文件

    my_cam.launch文件

    <launch> <node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" > <param name="video_device" value="/dev/video1" /> <param name="image_width" value="640" /> <param name="image_height" value="480" /> <param name="pixel_format" value="yuyv" /> <param name="camera_frame_id" value="usb_cam" /> <param name="io_method" value="mmap"/> </node> <node name="image_view" pkg="image_view" type="image_view" respawn="false" output="screen"> <remap from="image" to="/usb_cam/image_raw"/> <param name="autosize" value="true" /> </node> </launch>

    Step3 : 运行orb_slam2

    cd /home/hm/catkin_ws/src/ORB_SLAM2 #进入ORB_SLAM2的主目录 source Examples/ROS/ORB_SLAM2/build/devel/setup.bash cd Examples/ROS/ rosrun ORB_SLAM2 Mono ../../Vocabulary/ORBvoc.txt ../../my_camera.yaml #自己的相机标定文件

    运行结果

    注 : 如果出现无法读取相机图像,是因为Mono节点读取图像流的路径错了,修改src/ros_mono.cc 自己发布的主题。双目和RGBD相似 然后进入ORB_SLAM2主目录在运行一下

    ./build_ros.sh
    转载请注明原文地址: https://ju.6miu.com/read-8990.html

    最新回复(0)