之前处理了github上关于evo的一个demo配置,开一个新贴讲一下里面可能遇到的一些问题。
github源代码地址:
https://github.com/uzh-rpg/rpg_dvs_evo_open
环境:
Ubuntu18.04LTS+ROS Melodic
问题1
跟随getting started部分的指导一路做下来,建立新工作空间的一步因为我之前已经做过别的ROS实验,所以没太在意,导致catkin build时不通过。当时想了好久没明白怎么回事。
因为我们大部分实验都用的catkin_make,如果采用同样的空间编译build,不论其他步骤再正确也无法编译,结果全部不成功。
所以如果需要做这个实验,一定要开一个新的catkin_ws,或者说这个是自己第一个做的实验且还没有make过,才可以做其他的步骤,这点很容易被忽略
问题2
做到这一步的时候可能会发现,即使写了对应版本的命令,结果仍然是No such file or directory。
- 1.需要先cd到/catkin_ws/src中
- 2.我是通过.zip文件解压得到的文件夹,文件名为rpg_dvs_evo_open_master,不知道git clone的情况是如何。需要先把后面的master删掉,重新执行该命令即可
(这里真的走了很大的弯路,原本以为无法执行后直接跳过到后面的build各种报错)
问题3
查看上一个命令执行的结果,可以发现中间有一行代码是无法定位的:
这里的libcaer-dev包是定位不到的,而且在网上查找之后也无法找到。后面看了一位博主的评论区(抱歉忘了是哪一个链接),说到这个包是作者uzh自己弄出的库,算是一个整合,实际操作时无法定位到。所以需要手动下载:
sudo apt-get install libcaer-dev
这里如果没发现而直接进行了下一步build,到13个包时会出现失败的现象:
问题4
这个问题未必会出现,取决于计算机的性能。在catkin build步骤内,opengv make过程中我出现了内存不足的现象,具体为:
如果你也有同样问题,可以参考如下解决方法建立临时的交换空间:
sudo dd if=/dev/zero of=/swapfile bs=64M count=16
#count的大小就是增加的swap空间的大小,64M是块大小,所以空间大小是bs*count=1024MB
sudo mkswap /swapfile
#把刚才空间格式化成swap格式
sudo swapon /swapfile
#使用刚才创建的swap空间
工作完成后可以去掉这部分:
swapoff -a
#详细的用法可以:swapoff --help
#查看当前内存使用情况:free -m
按照网上部分说法是必须去除,否则会引起不必要的一些问题。不过我没有这样尝试过,不多描述。
问题5
经过这个环节后陆续还会有一些小问题(直接看error即可,也可能你在build时并不会出现这些),包括:
- tf convension
- pcl_ros
- fatal error: fftw3.h: No such file or directory
- fatal error: sophus/se3.hpp: No such file or directory
对应的解决方法(一一对应):
sudo apt-get install ros-melodic-tf*
sudo apt-get install ros-melodic-pcl*
sudo apt-get install libfftw3-dev
sudo apt-get install ros-melodic-sophus
最后看到如下即成功,记得再source一下:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)