ubuntu16.04下⽤笔记本摄像头和ROS编译运⾏ORB_SLAM2的
单⽬AR例程
要编译ORB_SLAM2的ROS例程⾸先需要安装ROS,以及在ROS下安装usb_cam驱动并调⽤,最后搭建ORB_SLAM2。
1.ROS的安装
我的电脑安装的是ubuntu16.04系统,所以我安装的是2016年的发⾏版本ROS_Kinetic,⼀般的话ROS的版本是⼀年⼀更新,和ubuntu的系统更新保持同步。如果你的系统是ubuntu14.04,你可以安装2014年的发⾏版本ROS_Indigo。
ROS_Kinetic在ubuntu16.04上的安装可以参考我的博客:
2.usb_cam在ROS中的编译
⾸先要新建⼀个ROS的⼯作空间
张敬轩哪些歌好听mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
建国多少周年了2022catkin_init_workspace
编译⼯作空间
cd ~/catkin_ws/
catkin_make
设置环境变量
阮巡source devel/setup.bash
如果你的终端为zsh,请⽤如下命令
source devel/setup.zsh
进⼊到catkin_ws/src⽬录下,下载usb_cam的源⽂件到此⽬录下
cd ~/catkin_ws/src
git clone github/bosch-ros-pkg/usb_cam.git
退出到catkin_ws⽬录下执⾏catkin_make命令进⾏编译并设置环境
cd ..
catkin_make
source ~/catkin-ws/devel/setup.bash
可以测试是否配置成功
roscd usb_cam
没报错就说明安装成功了
3.编译ORB_SLAM2库
最简单的根据orb_slam2在github上⾯的项⽬地址就可以安装成功
详细的可以参考我的博⽂:
4.编译ROS例程
⽹上编译ROS例程的教程很多,但我还是觉得github上⾯提供的最⽅便
⾸先进⼊到你的ORB_SLAM2源代码⽬录下,然后执⾏命令
chmod +x build_ros.sh
./build_ros.sh
这个可能不会100%编译成功,但Mono和MonoAR可以编译成功,主要是ros_rgbd不能编译成功,出现报错,我就没管他。
编译完之后,记得在.bashrc后⾯加⼊:
source /home/zn/ORB_SLAM2-master/Examples/ROS/ORB_SLAM2/build/devel/setup.bash
5. 运⾏ROS中的Demo
以上步骤都成功后,我们就可以运⾏ros中的demo了
开始之前还有个地⽅需要改:
把ros_中的
ros::Subscriber sub = nodeHandler.subscribe("/camera/image_raw", 1, &ImageGrabber::GrabImage,&igb);
改为:
ros::Subscriber sub = nodeHandler.subscribe("/usb_cam/image_raw", 1, &ImageGrabber::GrabImage,&igb);
(看到没有,路径变了哟。因为我们的图⽚都是从/usb_cam/image_raw发送过来的)
然后再把Example编译⼀下~
这下可以开始了:
喝多了怎么解酒⾸先我们要启动ros内核,新开⼀个终端,执⾏化妆品怎么进货
roscore
启动usb_cam摄像头节点,新开⼀个终端,执⾏
roslaunch usb_cam usb_cam.launch
启动 ORB_SLAM2 的 Mono 节点(单⽬)
rosrun ORB_SLAM2 Mono PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE
PATH_TO_VOCABULARY是⽂件路径,PATH_TO_SETTINGS_FILE是你的摄像机内参数⽂件路径
所以可以在第三个终端输⼊如下命令:
谢娜流产rosrun ORB_SLAM2 MonoAR /home/zn/ORB_SLAM2/ /home/zn/ORB_SLAM2/Examples/Monocular/TUM1.yaml
路径按照⾃⼰的电脑路径进⾏更改,TUM1.yaml是参数设置⽂件,主要是相机的内参,这个得⾃⼰标定。如果懒得标定,可以直接⽤TUM1.yaml,不影响程序的运⾏。
<
发布评论