Intel Euclid(三) with ORB-SLAM2
Intel Euclid 自带ROS Kinetic 系统,所以可以直接运行ORB-SLAM2,但是细节地方仍然需要注意。
1.ORB-SLAM2 配置
(1)从git下载ORB-SLAM2
(2)Pangolin配置
(2.1)opengl
sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install freeglut3-dev
(2.2)Glew
sudo apt-get install libglew-dev
(2.3)cmake
sudo apt-get install cmake
(2.4)下载编译
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
cmake --build .
(3)提前运行rosdep init 和sudo rosdep fix-permissions
(4)编译非ROS
cd ORB_SLAM2
chmod +x build.sh
./build.sh
可能是电脑带不起来,总是卡住,于是按照build.sh中一步步编译,使用make代替make -j
(5)编译ROS
(5.1)在.bashrc末尾添加
PATH替换成真实目录
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:
PATH/
ORB_SLAM2/Examples/ROS
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/euclid/ORB_SLAM2/Examples/ROS
(5.2)注意:不要自作聪明吧Kinetic的setup.bash添加到.bashrc!
(5.3).bashrc生效
source ~/.bashrc
(5.4)编译
chmod +x build_ros.sh
./build_ros.sh
(6)试运行
rosrun ORB_SLAM2 RGBD PATH_TO_VOCABULARY PATH_TO_SETTINGS_FILE
rosrun ORB_SLAM2 RGBD Vocabulary/ ORBvoc.txt /Examples/ROS/ORB_SLAM2/rgbd_euclid.yaml
PATH_TO_SETTINGS_FILE是相机标定生成的yaml文件
(7)说明ORB SLAM2 ROS已经配置好
2.相机标定
参考http://wiki.ros.org/camera_calibration/Tutorials/MonocularCalibration
(1)启动camera节点(包含rgb、d、fisheye、IMU)
roslaunch realsense_camera lr200m_camera_nodelet.launch
(2)启动相机标定节点
rosrun camera_calibration cameracalibrator.py --size 13x7 --square 0.027
image:=/camera/color/image_raw
这里13x7代表有14x8个格子,0.027代表每个格子的大小(m)
(3)scale默认为0,移动方位,直到右边X、Y、SIZE、SKEW变为绿色,Calibration可以点击
(4)点击Calibration,Save,Commit。
(5)生成/tmp//calibrationdata.tar.gz,解压,将yaml中的数据保存。
(6)从Examples/Mono/复制一个yaml,重莫名为rgbd_euclid.yaml,把数据填进去。放在目录/Examples/ROS/ORB_SLAM2/rgbd_euclid.yaml
3.运行ORB-SLAM2
roslaunch euclid_rgbd_orbslam.launch
rosrun ORB_SLAM2 RGBD Vocabulary/ORBvoc.txt /Examples/ROS/ORB_SLAM2/rgbd_euclid.yaml
euclid_rgbd_orbslam.launch从http://www.euclidcommunity.intel.com/下载,感觉是启动设备的launch