版本一览:
opencv:3.4.1
vtk7.1.1+pvl1.12.0(不要用sudo apt-get直接安装,不好使的)
pangolin0.6
eigen 3.3.7(命令行直接安装的)
一、配置参考链接1参考链接2(配置最好关闭anaconda环境):
主要按照参考链接来配置(pcl单独自己安装):
1、rar(不安也可):
sudo apt install rar
sudo apt install unrar
来解压rar版本的pangolin0.6,ubutun20一定要用参考链接中的0.6pangolin版本,其他的版本我试过很多都不可以用。
2、sudo: updatedb:找不到命令
sudo apt-get install mlocate
sudo updatedb
3、安装网盘:参考链接
sudo dpkg -i baidunetdisk_4.12.5_amd64.deb
4.opencv安装的是3.4.1,dsp-slam里自带的。
如果安乐很多版本,可以如下语句删除重新安(参考):
sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*
slam14讲第二版ch12,运行参考链接:
在dense_mono/CMakeFiles/dense_mapping.dir/dense_mapping.cpp文件,bool update 函数里面补充 上 return true参考链接。
5、pcl:
参考链接
2、clion参考链接:
下载后直接运行人如下代码即可打开:
$ sh /你解压后clion的文件路径/bin/clion.sh
CLion顶部菜单栏点击 Tools > Creat Desktop Entry,创建桌面图标。
5、安装pcl:
参考链接
(1)vtk安装的时候,如果configure之后上面还是有红色条目,继续点configure。VTK-Group-Qt版本勾选5。
(2)安装pcl报错:/usr/lib/x86_64-linux-gnu/libSM.so: undefined reference to `uuid_generate@UUID_1.0’
和anaconda有关,把libuuid*的文件移走,之后再移动回来。
ls ~/anaconda3/lib/libuuid*
mkdir ~/anaconda3/libuuid
mv ~/anaconda3/lib/libuuid* ~/anaconda3/libuuid
#移回来
mv ~/anaconda3/libuuid/libuuid* ~/anaconda3/lib
(3)若报错L/usr/include/pcl-1.10/pcl/point_types.h:550:1: error: ‘plus’ is not a member of ‘pcl::traits’,参考链接:
set(CMAKE_CXX_STANDARD 14)
(4) ‘Index’ is not a member of ‘Eigen’:(原本安装3.3.7的eigen是不报错的,后来改成了3.1,报错)
/home/fuyouao/下载/source/pcl/sample_consensus/include/pcl/sample_consensus/impl/sac_model_circle3d.hpp:288:15: error: ‘Index’ is not a member of ‘Eigen’
for (Eigen::Index i = 0; i < coeff.size (); ++i)
^~~~~
#/pcl/sample_consensus/include/pcl/sample_consensus/impl/sac_model_circle3d.hpp中288行
for (Eigen::Index i = 0; i < coeff.size (); ++i)
#改为
for (int i = 0; i < coeff.size (); ++i)
6、稠密建图:
错误:
(1)cmake时候 :so.16 不用管
(2)‘make_shared’ is not a member of ‘boost’:
boost::make_shared<PointCloud>();
全部改为:
std::make_shared<PointCloud>();
(3)报错std::shared_ptr
//icp.setInputCloud(cloud_in);
改为:
icp.setInputSource(cloud_in);
(4) libvtkglew-7.1.so.1: cannot open shared object file: No such file or directory(参考链接):
这是由于环境变量当中没有设置libvtkIONetCDF的目录导致的,解决方法:
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
但是每次都要export,参考这个链接。
ldconfig
(5)surfel_mapping.cpp:31:9: error:
‘class pcl::MovingLeastSquares
has no member named ‘setPolynomialFit’;
did you mean ‘setPolynomialOrder’?:
#按提示修改
mls.setPolynomialFit(polynomial_order > 1);
改为
mls.setPolynomialOrder(polynomial_order > 1);
7、anaconda
换源:https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
安装库或者编译的时候,经常会链接到anaconda,参考这个连接,编译之前关掉它。
conda config --set auto_activate_base false
之后重启终端,路径前面的base就消失了,之后用虚拟环境的时候,就输入:
conda config --set auto_activate_base true
conda activate spacename//环境的名称
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/fuyouao/文档/ORB_SLAM2_dense/data/rgbd_dataset_freiburg1_xyz
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml /home/fuyouao/文档/ORB_SLAM2_dense/data/rgbd_dataset_freiburg1_xyz/ /home/fuyouao/文档/ORB_SLAM2_dense/data/rgbd_dataset_freiburg1_xyz/associate.txt
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml /home/fuyouao/文档/ORB_SLAM2_PointCloud-master/data/rgbd_dataset_freiburg1_xyz
./bin/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml /home/fuyouao/文档/ORB_SLAM2_PointCloud-master/data/rgbd_dataset_freiburg1_xyz /home/fuyouao/文档/ORB_SLAM2_PointCloud-master/data/rgbd_dataset_freiburg1_xyz/associate.txt
但是运行只有坐标系,改为eigen3.1.0不可用。
./bin/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml /home/fuyouao/文档/data/rgbd_dataset_freiburg1_room /home/fuyouao/文档/data/rgbd_dataset_freiburg1_room/associate.txt
vim ~/.bashrc
gedit ~/.bashrc
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/fuyouao/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/fuyouao/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/fuyouao/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/fuyouao/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
export PATH="/home/fuyouao/anaconda3:$PATH"
source ~/.bashrc