HoloLens2にてROS2を使う際の手順について記述します。
はじめに
これまでにHoloLens, HoloLens2にてROS1を利用するためには、ros-sharpを用いることが一般的だったと思います。
ROS2では、ros_msft_mrtkを利用することでHoloLens2との通信ができるようなので試してみようと思います。
(2021年12月18日現在、pre-release版0.0.1のみリリースされているのでその部分は注意が必要です。)
環境
実行環境
- HoloLens2
開発環境・使用ツール
- Unity2020.3.3f1
- Mixed Reality Feature Tool
- Visual Studio 2019
事前準備
以下をダウンロード
-
Mixed Reality Feature Tool
(https://www.microsoft.com/en-us/download/details.aspx?id=102778) -
com.microsoft.ros_mrtk-0.0.1.tgz
(https://github.com/ms-iot/ros_msft_mrtk/releases/tag/0.0.1) -
com.microsoft.ros_mrtk_native-0.0.1.tgz
(https://github.com/ms-iot/ros_msft_mrtk_native/releases/tag/0.0.1) -
NuGetForUnity.3.0.2.unitypackage
(https://github.com/GlitchEnzo/NuGetForUnity/releases)
手順
-
Unityプロジェクトの作成
Unityで3Dにて新規プロジェクトを作成します。
この時ファイルパスが長すぎるとWLTのimport時にエラーが発生するため、短くすることをお勧めします。 -
Mixed Reality Feature Toolの利用
作成したプロジェクトにMixed Reality Feature Toolを使用して以下をimportします。
- Azure Spatial Anchors SDK Core
- Azure Spatial Anchors SDK for iOS
- Azure Spatial Anchors SDK for Windows
- Mixed Reality Toolkit Extensions
- Mixed Reality Toolkit Foundation
- Mixed Reality Toolkit Standard Assets
- Mixed Reality Toolkit Tools
- Mixed Reality OpenXR Plugin
- Microsoft Spatializer
- WLT Core
-
プラグイン設定
Unity内でプロジェクトのプOpenXR等のラグイン設定を以下のように行います。
Desktop, WindowsそれぞれでOpenXRを有効にします。
これで、プラグイン設定は終了です。
4. Nugetによるパッケージの追加
Nugetを利用してパッケージの追加を行います。
5. **ROS2パッケージの追加** UnityのPackage Managerを利用してROS2関連のパッケージを追加します。
Package Managerを開き、Add package from tarballを選択します。
6. **ビルドとプロジェクトの設定** まず、ビルド設定を行います。 Build Settingsを開いて、Universal Windows Platformを選択後Switch Plaformを押下します。
次に、プロジェクトの設定を行います。
Project Settingsを開いて、Player > Capabilities の項目にて以下を有効にします。- InternetClient
- InternetClientServer
- PrivateNetworkClientServer
- WebCam
- Microphone
- SpatialPerception
これで設定は終了です。
ここまでくれば、ROS2が利用可能になっていると思います。
次回はこの内容を基に、実際にHoloLens2とのROS2 Topicのやり取りを行ってみようと思います。
参考・お借りしたもの