在ROS中使用自己的ueye相机跑ORB_SLAM2

step1.

创建一个ROS工作空间

mkdir -p ~/catkin_ws2/src

打开catkin_ws2:

cd ~/catkin_ws2/

这时用ls会发现catkin_ws2目录下只有一个src文件。

catkin_make

执行完这一步在catkin_ws2的目录下会多出两个文件   build和devel   ,同时在src下会有一个CMakeLists.txt。

step2.

到主目录下   Ctrl+H   打开隐藏文件,找到   .bashrc   ,打开并添加  

source ~/catkin_ws/devel/setup.bash
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/home/lcm/catkin_ws2/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2 

将对应的工作空间路径添加到环境变量ROS_PACKAGE_PATH中。

在终端运行

source ~/.bashrc
source ~/catkin_ws2/devel/setup.bash
echo $ROS_PACKAGE_PATH

如果终端显示:

/home/lcm/catkin_ws2/src:/opt/ros/kinetic/share

说明工作环境配置完成。

step3.

进入到src文件夹下

cd src

下载   ueye_cam   到src下

git clone https://github.com/anqixu/ueye_cam

进入到   ueye_cam   文件夹下,编译   ueye_cam

cd ueye_cam
mkdir build
cd build
cmake ..
make

下载   usb_cam   到src目录下

git clone https://github.com/bosch-ros-pkg/usb_cam.git
同样进入到   usb_cam   文件夹下,编译   usb_cam
cd usb_cam
mkdir build
cd build
cmake ..
make

step4.

安装好ORB_SLAM2依赖后

下载   ORB_SLAM2   到src下

cd src
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2

编译ORB_SLAM2库和例子程序

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

生成的  libORB_SLAM2.so  位于lib目录下,可执行程序mono_tum, mono_kitti, rgbd_tum, stereo_kitti, mono_euroc and stereo_euroc  位于  Examples  目录下。

step5.   

修改ros_mono.cc

进入~/catkin_ws2/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/src,打开 ros_mono.cc 查看程序里面的topic

将ROS下的mono获取单目图像的节点名称对应更改为ueye启动单目相机后发布的图像消息话题名称。

ORB_SLAM2单目图像所在的话题名是

/camera/image_raw

单目相机在ROS下发布的额话题名称是

/camera/image_rar

话题名称一致,直接编译。

chmod +x build_ros.sh
./build_ros.sh

这里会出现错误,但是不影响单目,所以暂时忽略

再运行一遍catkin_make,否则后面会报错。

catkin_make

step6.

在终端中运行相机

sudo /etc/init.d/ueyeusbdrc start

打开一个新的终端

roscore

再在第一个终端中开启单目相机

roslaunch  ueye_cam rgb8.launch

如果先在第一个终端roslaunch,再开启新终端运行roscore时会出现报错:

roscore cannot run as another roscore/master is already running.
Please kill other roscore/master processes before relaunching.

再打开一个新终端

source ~/catkin_ws2/devel/setup.bash
rosrun ORB_SLAM2 Mono /home/lcm/catkin_ws2/src/ORB_SLAM2/Vocabulary/ORBvoc.txt /home/lcm/catkin_ws2/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2/Asus.yaml 

运行成功。

猜你喜欢

转载自blog.csdn.net/lcmsir/article/details/80025459
今日推荐