一直从事室内定位相关,之前的研究方向都是惯性导航和滤波,现在发现基于视觉能够和移动端的这些原有方法做很好的结合,所以开始研究vins这个方向,主要希望能在移动端上和原有技术结合,完成移动端的位姿估计。
slam十四讲认真过了一遍,代码也基本自己写了一下,也尝试了直接两两单目的方式,位姿极度不稳定,所以尝试看一下vins的源码,了解一下实际这个部分的搭建过程。
之前没有接触过ROS,惯导是专业,视觉部分也只接触过slam十四讲,不过有一个GEOAR的项目
因为一直使用Ubuntu16.04,所以在此基础上搭建。因为之前已经在slam十四讲里过了eigen,opencv,ceres,g2o,sophus这几个库都已经预先安装了。还有之前一直在ubuntu上使用python,anaconda以及一些常用的python库也都已经安装。
第一个坑是里面有两个选择:ROS Kinetic Kame和ROS Melodic Morenia,果然每次有两个选择的时候都选择了错误的那个,ROS Kinetic Kame是对应16的,ROS Melodic Morenia是对应18的。
具体安装过程可以参考打开网页后的顺序,感觉从头安装下来没什么压力。
在这里安装的时候发现,这个catkin_ws
的文件夹并没有建立,查了一下发现ros安装完之后是要建立工作区的,所以到home/yourname/
下建立文件夹catkin_ws/src
执行拷贝和编译.
ImportError: “from catkin_pkg.package import parse_package” failed: No module named catkin_pkg.package
-- Using Python nosetests: /usr/bin/nosetests-2.7
ImportError: "from catkin_pkg.package import parse_package" failed: No module named catkin_pkg.package
Make sure that you have installed "catkin_pkg", it is up to date and on the PYTHONPATH.
CMake Error at /opt/ros/kinetic/share/catkin/cmake/safe_execute_process.cmake:11 (message):
execute_process(/home/aaron/anaconda2/bin/python
"/opt/ros/kinetic/share/catkin/cmake/parse_package_xml.py"
"/opt/ros/kinetic/share/catkin/cmake/../package.xml"
"/home/aaron/home/aaron/catkin_ws/build/catkin/catkin_generated/version/package.cmake")
returned error code 1
Call Stack (most recent call first):
/opt/ros/kinetic/share/catkin/cmake/catkin_package_xml.cmake:74 (safe_execute_process)
/opt/ros/kinetic/share/catkin/cmake/all.cmake:163 (_catkin_package_xml)
/opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:20 (include)
CMakeLists.txt:52 (find_package)
-- Configuring incomplete, errors occurred!
See also "/home/aaron/home/aaron/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/aaron/home/aaron/catkin_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed
这个问题有的网页说是python 使用了anaconda的python导致的引入错误。这个方法我测试没有通过。
我这里最后使用了这个网页的
3. 与Python兼容问题(No module catkin_dkg.package)
1.conda install setuptools
2.pip install -U rosdep rosinstall_generator wstool rosinstall six vcstools
但是1运行的时候报错,我觉得没关系,所以直接运行2,虽然在安装时也有些警告
但是安装python包多年的经验表示,这都是小事。
然后接着编译就一直到底了,虽然有个有无符号的警告,这个问题之前写c++代码的时候也发现了,很奇怪的是vector或者之类的size都是定义的无符号。
这个测试数据用的是The EuRoC MAV Dataset:来自ETH,采用装备了VI-Sensor的四旋翼采集数据。
这些数据集下载的太慢了,都没有云盘下载的吗