仿照/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src目录下的ros_stereo.cc建立一个新文件,如zed_stereo_rect.cc。将代码复制过去,修改以下部分:
message_filters::Subscriber<sensor_msgs::Image> left_sub(nh, "/zed/zed_node/left/image_rect_color", 1);
message_filters::Subscriber<sensor_msgs::Image> right_sub(nh, "/zed/zed_node/right/image_rect_color", 1);
此处选取了ZED的两个数据流。
然后修改CmakeLists.txt,仿照加入:
# Node for ZED camera
rosbuild_add_executable(zed_Stereo_rect
src/zed_stereo_rect.cc
)
target_link_libraries(zed_Stereo_rect
${LIBS}
)
重新编译
./build_ros.sh
会新生成一个可执行文件 zed_Stereo_rect
然后
命令行
cd ~/catkin_ws
source ./devel/setup.bash
roscore
//另开一个命令行
cd ~/catkin_ws
source ./devel/setup.bash //不知道为什么不执行这一步就无法找到zed.launch
roslaunch zed_wrapper zed.launch
//另开一个命令行
cd ~/catkin_ws/src/ORB_SLAM2
rosrun ORB_SLAM2 zed_Stereo_rect Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml false