在迷茫的时候,最不能停下来的就是努力,至少这样到头来你不会一无所获。
这篇博客的标题可能只是一个引子,就是为了做这件事,导致我遇到了一系列的问题,以致于花费了3天的时间去解决它。当然,如果是想要看Kinect2保存图片序列的朋友,你可以去参考下面这篇博文,我就是按照他所说的来的,最后可以实现保存图片:
https://blog.csdn.net/sunbibei/article/details/51594824
接下来我会记录一路碰到的问题,期望我的解决过程对你能够有所帮助。
一、Project 'compressed_depth_image_transport' specifies '' is not found
最初的问题就是这个,在我按照上面博文中所提到的保存图片序列的方法,保存了save_seq,准备在catkin_ws下运行
catkin_make -DCMAKE_BUILD_TYPE="Release"
时,终端报出了这样的错,Project 'Project 'compressed_depth_image_transport' specifies '' is not found' specifies '' is not found,......后面的英文大概意思是在OpenCV3.3.2-dev里找不到,我查了一下,compressed_depth_image_transport是ROS的一个package,我以为这个包丢失了,于是又安装了一遍
sudo apt-get install ros-kinetic-compressed-depth-image-transport
但是不行,提示是已经安装了,于是按照提示的目录路径查找,发现找不到openCV-3.3.1-dev这个文件夹,只有openCV-3.3.1,于是尝试这复制了一下这个文件夹,重命名为openCV-3.3.1-dev,但是仍然行不通。
到这里,我可能做了一个错误的决定,删除iai-kinect2,尝试重装,,,促使我做这个决定的原因可能是我有点急躁,没有想着上一个问题出现的原因是什么,或许可能只是哪里的路径设置一下就好了呢?然后,重装iai-kinect2失败,,导致在安装依赖的过程中直接删掉了我的ROS系统,,,,
二、ROS Kinetic安装遇到依赖错误
这个问题可能是花费了更久的时间去做的,整个过程崩溃而又烦躁。
我试着用
sudo apt-get remove ros-*
和其他网上找到的删除ros的命令,尝试将ROS删除重装,然后安装过程就是标准过程,先添加源,再添加key,然后
sudo apt-get install ros-kinetic-desktop-full
报出错误
The following packages have unmet dependencies:
ros-kinetic-desktop-full : Depends: ros-kinetic-desktop but it is not going to be installed
Depends: ros-kinetic-simulators but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
这个是依赖破坏的意思吧,应该。我去百度获得了几种解决方案:
1)换源,有建议换成中科大源的,然后update之后重新来一遍,我是换了main server ,阿里云和中科大的源,但是都不行,,,前前后后花费了很多时间,特别是sudo apt-get update ,还遇到了sublime更新时不断重复的情况,只好去source.list列表里删除。
2)第二种方法应该就是
sudo dpkg --clear-avail
sudo dpkg --configure -a
sudo apt-get install -f
sudo apt-get update
sudo apt-get upgrade
,我对这个问题的理解,核心应该就是sudo apt-get install -f吧,但是依然不行,安装失败。按照这个思路,我又运行了
sudo apt-get autoremove
(注意!注意!注意!不要随便运行autoremove这句,我因为此时已经有了重装系统的打算,所以才破罐子破摔运行这句的,几年前我就因为看到某篇博客里让我运行这句,结果最后导致我重装了系统,,,希望我说的这句不要误人子弟,若非万一,千万不要重装系统)
3)重装系统
啊,这个我没有尝试,不过别人博客里有说解决成功的,由于个人不偏向重装系统这么暴力的解决问题,而且系统里有很多配置好的东东,所以没有尝试这个解决方法
4) sudo aptitude install ros-kinetic-desktop-full
这个是解决我问题的方案,Thanks,真的很感谢网络上的大神们,也很庆幸自己没有重装系统(其实差点就重装系统了,但隔了一个周末又重新冷静下来开始解决这个问题。)
我的解决方案来自于这个链接
为了显示重点内容,截图如下:
yes和no那里我尝试了很多次,虽然有点不清不楚,但最后解决了这个问题,roscore可以正常运行了,orbslam也可以正常跑了,各种深度传感器的驱动也搞好了,Kinect2的保存图像序列也没问题了。哎,,,不容易不容易~~~