根据前面两篇博客,我们已经会使用ROS启动usb摄像头节点了,并且ORB-SLAM3也安装了,下面我们利用usb单目摄像头实时跑一下
#第一个窗口启动ROS服务
roscore
#第二个窗口启动usb摄像头节点
roslaunch usb_cam usb_cam-test.launch
#第三个窗口启动SLAM3
rosrun ORB_SLAM3 Mono /home/saners/ORB_SLAM3/Vocabulary/ORBvoc.txt /home/saners/ORB_SLAM3/Examples/ROS/ORB_SLAM3/Asus.yaml
如果不成功就要照着下面操作:
注意:ORB_SLAM3要想变成节点,如下操作
vim ~/.bashrc
#编辑.bashrc,在该文件的最后几行应该是这样的
source /opt/ros/noetic/setup.bash 这个之前就有了
source /home/saners/catkin_ws/devel/setup.bash 这个是之前创建工作空间加的
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/saners/ORB_SLAM3/Examples/ROS 这个是ROS-SLAM3的位置
source ~/.bashrc
sudo vim /opt/ros/noetic/setup.sh
#编辑setup.sh,在该文件的最后几行应该是这样的,注意顺序,最好和我一样,不然报错
source /home/saners/catkin_ws/devel/setup.bash
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/saners/ORB_SLAM3/Examples/ROS
source /opt/ros/noetic/setup.sh
说明:前面编译usb摄像头节点的时候是把源码放到了工作空间的src里然后编译而成,现在SLAM3里面已经有了ROS的节点,当编译完./build_ros.sh的时候应该是可以直接用的,另外如果要用usb摄像头,要改下面的文件并重新./build_ros.sh编译
跑的实际情况:
|