LoginSignup
3
2

More than 3 years have passed since last update.

Ubuntu18.04+CUDA10.0でZEDのROSパッケージを動かす

Last updated at Posted at 2019-09-25

 はじめに

ZEDのROSパッケージを実際に動かしてみました.
その時に,nvidia関連で大変苦労したので,メモ.
nvidia関連はここを参考にしました.

 動作環境

仕様は以下の表にまとめています.

項目
OS 18.04.3 LTS (Bionic Beaver)
kernel 5.0.0-29-generic
ROS melodic
CPU core i7-6820HQ
RAM 16GB
GPU NVIDIA Quadro M1000M

 nvidia driverのインストール.

まず,最初にnvidia driverをインストールする.
GUIで操作する場合は,ソフトウエアとアップデート追加のドライバーから,nvidia-driver-410を選択.
選択し,変更の適用を押すと,自動でドライバーをインストールしてくれる.適用には,結構時間がかかる.
driver.png

もしくは,

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-driver-410

でインストールできる.

ここまでできたら,一旦再起動.

 deb[local]形式で,CUDA10.0インストール

ターミナルでnvidia-smiコマンドを打ち,現在のnvidia-driverのバージョンが,410.XXになっていることを確認.

ここの配布サイトから,CUDA10.0をdeb[local]形式でダウンロード.
こんな感じで選択しました.
cuda10-0.png

ダウンロードした,ディレクトリに移動.
以下のコマンドを順に実行

sudo dpkg -i cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-10-0-local-10.0.130-410.48/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda

ここまでできたら,一旦再起動.
上記でインストールできる場合もあるが、何故か、nvidiadriverが上書きされる場合があるので、下記のように指定してあげたほうが良さそう(2020/06/20)

sudo apt-get install cuda-toolkit-10-0

次に,PATHの設定.

gedit ~/.bashrc

でbashファイルを開き,以下の2行を追加.

export PATH="/usr/local/cuda-10.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH"

bashファイルを再読込(PATHを通す).

source ~/.bashrc

ここまでできたら,一旦再起動.

nvidia-smiで確認.
以下のように,DriverとCUDAのVersionが表示されれば,OK.

cat02@dmgs-TPad:~$ nvidia-smi 
Wed Sep 25 15:47:19 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.129      Driver Version: 410.129      CUDA Version: 10.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Quadro M1000M       On   | 00000000:01:00.0  On |                  N/A |
| N/A   44C    P0    N/A /  N/A |    805MiB /  2002MiB |      9%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1244      G   /usr/lib/xorg/Xorg                            95MiB |
|    0      1414      G   /usr/bin/gnome-shell                          52MiB |
|    0      1646      G   /usr/lib/xorg/Xorg                           327MiB |
|    0      1850      G   /usr/bin/gnome-shell                         167MiB |
|    0      2958      G   ...uest-channel-token=17855968623154417761   125MiB |
|    0      3241      G   ...uest-channel-token=17932134006793618157    30MiB |
+-----------------------------------------------------------------------------+

 ZED SDKをインストール

ZEDSDKのインストールは,ここを参照.

ダウンロード先に移動.

実行権限を追加

chmod +x ZED_SDK_Ubuntu18_v2.8.3.run 

runファイルを実行

./ZED_SDK_Ubuntu18_v2.8.3.run 

基本的に,何か聞かれたら,Yを入力してエンター
このとき,

fail: "ERROR: Found Cuda 9.1 but the ZED SDK requires 10.0"

的な,ものが表示された場合は,正しくCUDAがインストールされていないので,一度,

sudo apt-get purge  nvidia-*

でnvidiaを消去,もう一度最初からやり直してみてください,

正しくインストールできた場合は,ZEDをUSB3.0ポートに接続して/usr/local/zed/toolsにある,ZED Explorerを実行すると,
Viewerが動く.
camera not detecedの警告が出たら,USB接続し直してください.

 ZED ROS Warpperをインストール

ZED ROS Warpperのインストールは,ここを参照.

RvizのIMUプラグインをインストール.

 sudo apt-get  install  ros-melodic-rviz-imu-plugin

自分のcatkin_ws/srcに移動.
git cloneでスクリプトをダウンロード.

 git clone https://github.com/stereolabs/zed-ros-wrapper.git

その後以下のコマンドを実行

 cd ..
 catkin_make -DCMAKE_BUILD_TYPE=Release

ちゃんとMakeできたら,正しくインストールしている.
このとき,~.soをmakeするファイルがありません.中止とエラーが出た場合は,一度,develbuildファイルを消去し,catkin_makeしてみてください.うまく行くかもしれないです.

また,この投稿も参考にしてみてください.

 動かす

roslaunch zed_wrapper zed.launch

ZED-miniの場合は,

roslaunch zed_wrapper zedm.launch

詳しくは,先程参照した,ここを見る.

 終わりに

SDK,ros wrapper自体のインストールは,問題なかったですが,CUDAのインストールに大変苦労しました.
自分の場合,CUDA10.0は,Nvidia-driver 410.xxじゃないと,うまくインストールできませんでした....
また,複数回CUDAやSDKを入れ直したことによって,パスがぐちゃぐちゃになってしまい.catkin_makeを通すのに,時間がかかりました(泣).
もう少し,パスや環境変数,シンボリックリンクなど,Linuxのシステムについて,色々と触らないと駄目ですね.

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2