折腾了一星期,换了两台电脑终于把ZED配置成功了,博主现在用的系统是ubuntu14.04.5,ROS已经安装好,不多说先上一张效果图。
看起来还行,毕竟还没用它跑过代码=_=话不多说直接开始。
Step 1:装cuda
(装cuda 是很折腾的,尤其是双显卡笔记本装cuda,网上解决安装时出现error问题教程看过很多,几乎都没什么用,遇到错误建议直接换版本。如果和我一样,错误实在是不能绕过,那么就请参考我的第三篇博客,专门写如何折腾cuda。)
A. 下载cuda(尽量确保你的系统是新安装的,否则有可能会出现循环登录)
cuda8.0下载链接:https://developer.nvidia.com/cuda-downloadscuda7.5以及之前的各个版本下载链接:https://developer.nvidia.com/cuda-toolkit-archive建议下载 *.run格式的文件,这样至少你还能知道你每一步的进展,可以自己选择装某一个部分,而且最重要的是卸载方便(至于具体怎么方便,详细阅读上述下载链接各版本对应的official文档:Installstion Guide for Linux)。
至于装哪个版本的,一个个尝试吧,博主比较奇葩,用cuda8.0的run包只装了nvidia的驱动,然后用cuda7.5的run包装了剩下所有的。毕竟cuda8.0和opencv3.1也冲突,调试太的费神。
B.制作blcaklist,直接贴上述official 文档里的了(一般刚装完机,ubuntu系统不会安装intel集显,也不会安装nvidia的官方显卡,而是安装nouveau显卡驱动,至于他到底是什么,请自行百度,这里要做的就是把它加入黑名单,否则再装完nvidia的显卡,两个显卡打架,会让你循环登陆的)
C. Ctrl+Alt+F2进入终端,首先登录进去,然后
1 sudo service lightdm stop //关闭X
2 cd <dir where *.run you put>
3 sudo sh *.run
然后按照提示安装吧,一般opengl的库,咱么选择不装,原因详见official 文档。
1 sudo service lightdm start //开启X,回到桌面,若没有回到桌面Ctrl+Alt+F7回到桌面
D. 测试(这样测试比较快,当然以也可以按照official 文档里的方法测试)
1 cd /usr/local/cuda-7.5/samples/1_Utilities/deviceQuery
2 sudo make // 如果出错可能是没安装g++,用sudo apt-get install g++解决
3 ./deviceQuery
如果程序运行成功,那恭喜,你已经成功60%了。
Step2. 安装opecv3.1.0
参见官方教程 docs.opencv.org/3.1.0/d7/d9f/tutorial_linux_install.html或者一些靠谱的博客也可以,但是cuda8.0和opencv3.1有点冲突,网上有些解决方法,可以尝试,cuda7.5和opencv3.1一次成功。
其中的cmake命令尽量按照官方的这么写,否则可能下面编译时找不到:
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
还有make -j4 可以加速,可以四核并行运算
Step3. 安装合适的ZED的SDK
我是在这找了一个1.1.0的版本,至于为什么下面说,总之都是折腾出来的。https://www.stereolabs.com/developers/release/archives/
Step4. 构建zed_wrapper_node
还是官方链接:https://github.com/stereolabs/zed-ros-wrapper按照上面的走一般不会错,当然我遇到过opencv的库找找不到等等。。很多问题
这里说主要提一件事,看一下我修改后的src/zed-ros-wrapper/CMakeLists.txt
主要改了一下两点:
1.find_package(ZED 1.1 REQUIRED) --->find_package(ZED 1.0 REQUIRED)
2.倒数第三行的SET(CUDA_VERSION “8.0”) --->SET(CUDA_VERSION “7.5”)
注意这些都是按照你具体安装的版本来定的,不是必须要改的!,ZED SDK的版本如果是1.1.0以下的,就需要修改第一项。
如果zed_wrapper_node构建成功,那么你已经成功99%了,这个node在/devel/lib/zed_wrapper下面。
赶快source 一下,roslaunch试试吧!
reference:
http://wiki.ros.org/zed-ros-wrapperhttps://github.com/stereolabs/zed-ros-wrapper
https://www.stereolabs.com/getstarted/
AutoRobot实验室:葛振华