实验室有一架 DJI M100 无人机和若干台 DJI Manifold ,由于与我的研究方向有相关性,因此打算将其利用起来做一些深度学习视觉伺服的开发工作,本系列文章将一些我在学习和研究过程中经历的关键问题记录下来,旨在提醒自己,或者为有需要的同仁们提供一些参考。文章以笔记形式为主,难免有疏漏之处,大家如果发现有错误请指出,我会加以修改。
本文为该系列文章的第一篇,记录一些妙算 Manifold 环境配置的方法,包括安装 ROS 、安装 DJI Onboard SDK ROS 、安装 CUDA 、安装 CUDNN 和 安装 Tensorflow。
妙算 Manifold 的系统版本为 Ubuntu 14.04 ,所对应的 ROS 版本为 ROS-Indigo。
sudo update-locale LANG=C LANGUAGE=C LC_ALL=C LC_MESSAGES=POSIX
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'
wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
sudo apt update
ros-indigo-ros-base
或ros-indigo-desktop
,以下指令二选一,不要都安装:sudo apt install ros-indigo-ros-base
sudo apt install ros-indigo-desktop
sudo apt install python-rosdep
sudo rosdep init
rosdep update
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
sudo apt install python-rosinstall
经过我的尝试,3.2.2版本是在配置和使用上问题比较少的版本,本文以3.2.2版本为示例演示安装步骤,其他版本的安装步骤大同小异。
cd ~
git clone -b 3.2.2 https://github.com/dji-sdk/Onboard-SDK
cd Onboard-SDK
mkdir build
cd build
cmake ..
make
catkin_ws
为新建的ROS工作空间命名,可以自己设定,不需要与我这里给出的一样:cd ~
mkdir M100_zzm_ws
cd M100_zzm_ws
mkdir src
cd src
catkin_init_workspace
git clone -b 3.2.2 https://github.com/dji-sdk/Onboard-SDK-ROS
cd ..
catkin_make
妙算 Manifold 支持的 CUDA 版本为 CUDA 6.5 。
cuda-repo-l4t-r21.3-6-5-prod_6.5-42_armhf.deb
:sudo dpkg -i cuda-repo-l4t-r21.3-6-5-prod_6.5-42_armhf.deb
sudo apt update
sudo apt install cuda-toolkit-6-5
CUDA 6.5 对应的 CUDNN 版本为 CUDNN v1 或 CUDNN v2 ,然而 v1 不兼容 tensorflow ,因此我们安装 CUDNN v2 。
cudnn-6.5-linux-ARMv7-v2.tgz
文件的同级目录中新建一个 sh 脚本文件,命名为 installcuDNNR2.sh,用文本编辑器打开该 sh 脚本文件并写入以下内容:#!/bin/sh
if [ $(id -u) != 0 ]; then
echo "This script requires root permissions"
echo "$ sudo "$0""
exit
fi
tar -zxvf cudnn-6.5-linux-ARMv7-v2.tgz
cd cudnn-6.5-linux-ARMv7-v2
cp cudnn.h /usr/local/cuda-6.5/include
cp libcudnn* /usr/local/cuda-6.5/lib
chmod +x installcuDNNR2.sh
./installcuDNNR2.sh
妙算 Manifold 支持 Tensorflow 0.8。
sudo apt update
sudo apt install python-py python-dev
sudo apt install python-pip
git clone https://github.com/dat-ai/tensorflow-on-nvidia-jetson/
cd tensorflow-on-nvidia-jetson
sudo pip install tensorflow-0.8.0-py2-none-any.whl
python
import tensorflow as tf