Google AI blogのClearGraspを利用して、透明なボトルを撮影してみる。いつかマッチングをさせたい。という内容です。
現在我が家には、Linux環境がないのでWindowsで行いたいのですが、ClearGraspは構成上でonly Linuxとなっています。このためWSLから実行するために用意しました。
思い出しながら書いているので抜けてるかもしれませんがご容赦ください
環境を用意
WSLのインストール
WSL2のインストールと分かりやすく解説【Windows10/11】 | チグサウェブ
WSLでUSBを動かせるようにする
【第4回】WSL2にUbuntu 22.04 LTSを導入する(Webカメラを使う) - パソコン関連もろもろ
WSL2 USBカメラ+他のUSB機器 2022年09月06日版
他には、動作試験用にfswebcamやGeditもインストール
3DとRealsense周りは以下の物をインストール
- Pytorch
- CUDA
WSL2 上の Ubuntu での NVIDIA CUDA ツールキット, NVIDIA cuDNN, PyTorch, TensorFlow 2.7 のインストールと動作確認(Windows 上)
- LibRealsense
RealsenseをセットアップしてROSやUnityで使う方法
【第4回】WSL2にUbuntu 22.04 LTSを導入する(Webカメラを使う) - パソコン関連もろもろ
/bin/sh: 1: bc: not found
buを別でインストール
3.9.1-landiskクロスコンパイル - forester3の日記
本体の用意(での問題点)
- gitできず
git clone git@github.com:Shreeyak/cleargrasp.git
ではダウンロードできず。以下を実行。
git clone https://github.com/Shreeyak/cleargrasp.git
- $ sudo apt-get install libhdf5-10 libhdf5-serial-dev libhdf5-dev libhdf5-cpp-11
で"libhdf5-10"と"libhdf5-cpp-11"がインストールできず。
"sudo apt update"などやったが効果なし。
結局問題のあった"libhdf5-10"と"libhdf5-cpp-11"を取り除いて実行
$ sudo apt-get install libhdf5-serial-dev libhdf5-dev
なんでこれでよいかがわからない。 - $ pip install -r requirements.txt
でCould not find a version that satisfies the requirement opencv-python==4.1.2.30と怒られる。opencv-python==4.1.2.30が無いとのこと。
requirements.txtをopencv-python==4.7.0.68と書き換え - depth2depthは"api/depth2depth/gaps"に入っており自分でコンパイルする。
-
depth2depthをコンパイル中、GL/Glu.hが無いといわれる。
以下を実行した。
$ sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev - python起動し足りなかったライブラリは入れていく
- eval_dept_completion.py を実行の際に__init__.py周りでエラーが出た。__init__.pyの書き方を少し修正した。
- live_demoを起動するために、パイプラインソフトを起動するとエラーが出る。
- realsense.cppの解像度を変更、154,156行のフレームレートも30fpsに固定
- ダウンロードした”cleargrasp-checkpoints”はフォルダ"data"以下に"cleargrasp"といフォルダを作って入れる
- libcuda.soのリンクが見つからない
"~/.bashrc"に以下を追加
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/lib/wsl/lib/:$LD_LIBRARY_PATH - camera.pyでエラーが出る。
284行目のlongをint64に修正
普段の起動
wslにUSBを紐づける
USBのリストを確認して、1-5をwslに紐づける
wsl側
>usbipd wsl list
>usbipd wsl attach --busid 1-5
以下、画像は1-5を紐づけた様子
wsl側でカメラの接続を確認
$ lsusb
カメラの権限を変更する
$ sudo chmod 777 /dev/video*
カメラ準備完了
デモを動かす。まずはRealsenseの画像をTCP経由(パソコン内)で渡すソフトを起動する。このソフトは"&"をつけて起動したまま次のコマンドへ行く。
$ cd ~/cleargrasp/live_demo/
$ ./realsense/build/realsense &
続いてスクリプト本体を起動する
python live_demo.py -c config/config.yaml