1. no module named rospkg
首先在终端使用python -V看一下当前环境使用的python版本,如果版本不是python2.7则需要更改到python2.7。
- 如果是之前系统安装了anaconda或者miniconda则需要在bashrc里面屏蔽其环境。
- 如果是之前切换了版本则使用 sudo update-alternatives --config python 切换回python2.7
如果此时依然出现这个错误,则可能是没有安装这个包,sudo pip install rospkg安装,若安装后仍然添出错,则可能是没有加python2.7的环境变量,使用命令
echo $PYTHONPATH
查看是否有包含
/usr/lib/python2.7/dist-packages
没有则输入
export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages
或将其者添加到bashrc里面。此时编译应该不会再报错。
注意:如果build目录下之前有编译生成的文件,在调整后再次编译之前最好将其删除重新编译。原因是之前生成的文件中包含原有环境变量,如果再次编译依然会加载原有的环境。
2.在编译ROS接口时出现的系列错误
GeometricCamera.h、KannalaBrandt8.h、Pinhole.h
文件找不到
这三个文件其实在 ORB_SLAM3/include/CameraModels 目录下,可以将其复制到include目录下即可。
- rospack found package "ORB_SLAM2"
将src里面的所有源码中的ORB_SLAM2改为ORB_SLAM3即可。
- 如果之前编译过ORB_SLAM其他版本,可能会出现找不到boost库的情况
在cmakelist里面${LIB}里面添加boost_system boost_filesystem即可。