Open5

ROS2 For Unityメモ

ijiwarunahelloijiwarunahello

Env

$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04 LTS"
$ nvidia-smi 
Mon Jan 22 00:46:44 2024       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.129.03             Driver Version: 535.129.03   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 3050 ...    Off | 00000000:01:00.0 Off |                  N/A |
| N/A   45C    P0              N/A /  80W |     12MiB /  4096MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      1884      G   /usr/lib/xorg/Xorg                            4MiB |
|    0   N/A  N/A      2229      G   ...libexec/gnome-remote-desktop-daemon        1MiB |
+---------------------------------------------------------------------------------------+
ijiwarunahelloijiwarunahello

まずUnityが入ってなかったのでインストール

https://docs.unity3d.com/hub/manual/InstallHub.html#install-hub-linux

$ wget -qO - https://hub.unity3d.com/linux/keys/public | gpg --dearmor | sudo tee /usr/share/keyrings/Unity_Technologies_ApS.gpg > /dev/null
$ sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/Unity_Technologies_ApS.gpg] https://hub.unity3d.com/linux/repos/deb stable main" > /etc/apt/sources.list.d/unityhub.list'
$ sudo apt update
$ sudo apt install unityhub

エディターは2022.3.17f1

ijiwarunahelloijiwarunahello

Releaseを使うことでROS2を入れなくてもテストできそうなので試してみる。

https://github.com/RobotecAI/ros2-for-unity/releases

Ros2ForUnity_humble_standalone_ubuntu22.zipをダウンロードし解凍

適当なUnityプロジェクトを作成し、Assets以下にRos2ForUnityフォルダをコピーする

サンプルはこちら

https://github.com/RobotecAI/ros2-for-unity?tab=readme-ov-file#examples

空のGameObjectを作成し、Inspectorから以下3つのスクリプトをアタッチ

  • ROS2 Unity Component
  • ROS2 Talker Example
  • ROS2 Listener Example

実行するとエラー

Issueを検索すると以下がヒット 追加の依存関係があるらしい

https://github.com/RobotecAI/ros2-for-unity/issues/78

以下コマンドでインストール

sudo apt install libspdlog-dev libtinyxml2-dev

再び実行し、エラーが出ていなければUnityのコンソールにログが流れ始める。