orb-slam使用与调试-自己碰到的一些坑 Ubuntu16.04

------换了新目录之后,修改ros-package-path-------------
echo " export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/daysun/rros/src/ORB-SLAM2/Examples/ROS" >>~/.bashrc
. ~/.bashrc
echo $ROS_PACKAGE_PATH


export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/daysun/rros/src/ORB-SLAM2/Examples/ROS
不行的话就直接gedit ~/.bashrc
添加export ROS_PACKAGE_PATH=你的路径:${ROS_PACKAGE_PATH}

===初始编译orb:
orb-slam2放到了ros的工作空间src之下
到orb-slan2下才可以执行下述:
chmod +x build.sh
./build.sh

之后编译:
----------compile orb-slam-----------
cd ~/rros/src/ORB-SLAM2/Examples/ROS/ORB_SLAM2
cd build/
cmake ..
make


===初始编译octomap_ros
直接cd ~/rros/src
catkin_make
注意octomap版本问题,进行了大的修改,只能利用soversion这个版本
https://github.com/OctoMap/octomap/tree/soversion


===使用
----------usage of orb-slam-----------
---data: cd ~/rros/src/bag
    rosbag play -r 0.4 -s 5 --pause hpcl_office_asuse.bag

---slam:cd ~/rros/src/ORB-SLAM2
    rosrun ORB_SLAM2 RGBD ./Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml

---------usage of octomap-ros---------
------catkin_make
cd ~/rros/src/octomap_ros
rosrun octomap_ros rcv_test
octovis sample.ot


============================其他编译问题======================================
1、Error: package 'chapter3_tutorials' depends on non-existent package 'opencv2' and rosdep claims that it is not a system dependency. Check the ROS_PACKAGE_PATH or try calling 'rosdep update'
opencv的包,就不叫opencv2了,改成cv_bridge即可。

2、Error: package 'chapter3_tutorials' depends on non-existent package 'pcl' and rosdep claims that it is not a system dependency. Check the ROS_PACKAGE_PATH or try calling 'rosdep update'
因此,把manifest.xml中:
 
改为:
 
 
即可。

3、调用其他包的msg

然后声明即可
如果不行 考虑环境变量有没有声明正确、

4、references the file    "/usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so" but this file d/
check if this file is missing or not
== ls -l  /usr/lib/python2.7/dist-packages/vtk/libvtkRendering*
python-vtk6  (VTK6.2) is installed, and installed file list:

/usr/lib/python2.7/dist-packages/vtk/libvtkRenderingPythonTkWidgets.x86_64-linux-gnu.so

== sudo ln -s /usr/lib/python2.7/dist-packages/vtk/libvtkRenderingPythonTkWidgets.x86_64-linux-gnu.so /usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so

5、各种问题都可以尝试
 . ~/catkin_ws/devel/setup.bash

6、只编译一个pkg
catkin_make  -DCATKIN_WHITELIST_PACKAGES="grid_ndt"

7、qt5相关问题
找不到
cmakelist换成
find_package(OpenCV 3.0 QUIET)
if(NOT OpenCV_FOUND)
   find_package(OpenCV 2.4.3 QUIET)
   if(NOT OpenCV_FOUND)
      message(FATAL_ERROR "OpenCV > 2.4.3 not found.")
   endif()
endif()
然后出现了一个No rule to make target 'opencv_calib3d-NOTFOUND'的错误,看到如下解释
"opencv_calib3d242d.lib"的正确解释姿势应该是"opencv"+"_"+"calib3d"+"242d"+".lib"
所以就是opencv3没有找到
然后搜到了这一句
sudo apt-get install liblapacke-dev checkinstall
然后出现了一次系统更新,其中看到了类似于ros-kinetic-opencv3的安装
然后重启再编译就好了

=======================换源========================
https://blog.csdn.net/pangchengyong0724/article/details/52452878
https://blog.csdn.net/qingdu007/article/details/77142047

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 备份
换源-注意找相符合的版本
(deb http://archive.ubuntu.com/ubuntu xenial main universe restricted multiverse
deb-src http://archive.ubuntu.com/ubuntu xenial main universe restricted multiverse #Added by software-properties
deb http://security.ubuntu.com/ubuntu/ xenial-security main restricted multiverse universe
deb http://archive.ubuntu.com/ubuntu xenial-updates main restricted multiverse universe)
sudo apt-get update
不行的话 试试apt-get clean

你可能感兴趣的:(orb-slam使用与调试-自己碰到的一些坑 Ubuntu16.04)