1.在安装依赖项时报错 :
终端输入sudo apt-get ros-melodic-camke-module
报错E: 无法定位软件包 ros-melodic-cmake-module
换源或检查系统版本都没法解决。
最终通过以下方法解决:
关于melodic无法在终端定位下载软件包,可以在https://github.com/网站搜索需要的软件包
进入后直接搜索ros-melodic-camke-module
找到后直接复制下载链接,然后在终端输入git clone +下载地址就可以下载无法定位的软件包到目标文件夹中,然后catkin_make进行编译就完成了。PS:若想安装到/usr/local可使用下面命令安装:catkin_make -DCMAKE_INSTALL_PREFIX=/usr/local
2执行catkin init报错:
catkin:command not found。
主要原因是 catkin 包默认情况下是没有安装的。
直接安装 python-catkin-tools就能解决
sudo apt-get update
sudo apt-get install python-catkin-tools
3.运行kalibr_calibrate_cameras进行标定时,报错:
kalibr_calibrate_cameras:未找到命令
命令前加rosrun kalibr 就可解决。
4在运行kalibr进行标定时会在弹出的窗口里显示Detection falied!
出现这个说明标定失败,原因是bag包没有录好。
可能的原因有:(1)镜头在移动的时候没有把标定板全部录进去。(2) 镜头移动速度太快。
(3) 镜头离标定板距离太远。
5. 报错[ERROR] [1668944382.174500]: initialization of focal length for cam with topic /color failed
应该是缺少初始焦距,解决方法:
如果提示不能得到初始焦距的时候,可以设置:export KALIBR_MANUAL_FOCAL_LENGTH_INIT=1(终端输入)。重新运行程序,当程序运行失败的时候,它会提示要手动输入一个焦距:Initialization of focal length failed. Provide manual initialization: 这时手动输入比如 400,给比较大的值,就能进行标定了。
6路径问题
报错ImportError: dynamic module does not define module export function (PyInit_libnumpy_eigen)
原因是安装了annaconda导致python版本不一,程序运行时的Python版本冲突。解决办法就是在kalibr的py文件中指定版本。
python/src/kalibr/aslam_offline_calibration/kalibr/python/kalibr_calibrate_cameras.py 文件中把 "#!/usr/bin/env python" 改成"#!/usr/bin/env python2"