ARとUnity-Robotics-Hub
の連携
dankuro | エンジニア | 2021.10.19
自己紹介
2
- 森口 航平
- 京セラ ロボティクス事業部
- 主にロボットアームの研究開発
- Unity歴一年ぐらい(がっつり触り始めたのは最近 )
- 仕事でも触っていますが、今日は個人での参加
dankuro1
LTの内容
3
- Unityを使ってロボットのシミュレーションをするのなら、 AR/VR対応させてみたい
- UnityにはAR Foundationがある
- Unity が提供しているAR用のフレームワーク
- ARKit / ARCoreの両方のプラグインがある
- iOS, Android, Hololensなどに対応
- 導入が簡単でARアプリの開発を始めるのに最適
- Unity Robotics HubのTutorialをAR対応させてみた
- 作成手順などを共有
https://github.com/Unity-Technologies/Unity-Robotics-Hub/bl
ob/main/tutorials/pick_and_place/img/0_pick_place.gif
4
プロジェクトの作成
新規プロジェクトをARで作成
AR FoundationやARKit/ARCoreのプラグイン
が導入済のプロジェクトが作成される
開発環境
- Mac mini 2020 : macOS 11.6
- Unity Editor 2020.3.20.f1
- Xcode 13.0
動作環境
- iPhone XS : iOS 15.0.1
- RNUC11PAHi30000 : Ubuntu 20.04
- ROS noetic
必要なパッケージの導入
5
- Package Manager からROS-TCP-ConectorとURDF-Importerを導入
- Unity-Robotics-Hubの
Quick Installation Instructions参考
- ROS TCP Connector 0.6.0
- URDF Importer 0.5.0
Project Managerの設定
6
Player -> Other Setting -> Active Input Handlingを
Bothにする
タッチ操作とカメラが使用できるようになる
Player -> Other Setting ->
XR Plug-in Managementにチェックを入れる
Pick and PlaceのTutorialをそのまま実行
7
- Pick-and-PlaceのPart0~Part3まで進める
- 右の図ではARカメラの位置やボタンの
サイズを変更している
- このままではiOSにビルドする際にURDF
ImporterとROS TCP Conectorがビルド
できなくてエラーとなる
URDF Importer とROS TCP ConecttorのiOSビルド
サポート追加
8
各のパッケージのRuntimeフォルダにあるファイルを編集
- Unity.Robotics.URDFImporter.asmdef
- Unity.Robotics.ROSTCPConnector.asmdef
手順
1. iOSにチェック
2. Apply
チェックがついたままになっていれば OK
②
https://github.com/Unity-Technologies/ROS-TCP-Connector/issues/117
①
ファイルが編集できない場合
9
1. Projectウィンドウで、ROS TCP Connectorを右クリックして、Reveal in Finderを選択
- PackageCacheフォルダのウィンドウが開く
2. プロジェクトのAssetsフォルダにも同じことして、プロジェクトのルートフォルダを開く
3. ルートフォルダのウィンドウの Packagesフォルダを開く
4. PackageCacheウィンドウからcom.robotics.ros-tcp-connector@xxxxxをPackagesフォルダに移動
5. URDF Importerも同じことを行う
URDF Importer assimp.dllエラー
10
Plugin 'assimp.dll' is used from several
locations:Packages/com.unity.robotics.urdf-importer/Runtime/U
nityMeshImporter/Plugins/AssimpNet/Native/win/x86_64/assimp
.dll would be copied to <PluginPath>/assimp.dll
Packages/com.unity.robotics.urdf-importer/Runtime/UnityMeshI
mporter/Plugins/AssimpNet/Native/win/x86/assimp.dll would be
copied to <PluginPath>/assimp.dll
Please fix plugin settings and try again
削除
URDF Importer のassimp.dllを削除
iOSでビルドする際には不要
その他エラー
Pick_and_Place_Project -> Asset -> DemoScripts -> Demo.cs
を削除
11
Build And Run 動かしてみた
Build And RunでXcodeが自動で立ち上がりビルド完了すれば iPhoneにアプリがインストールされます
12
まとめ
- URDF Importer、ROS TCP ConnectorをiOSアプリとしてビルドした
- ROSとの通信を簡単に構築可能に
- AR Foundationでロボットに使える
機能等を試していきたい
- 平面検知
- PointCloud
- オクルージョン
などなど
iOS App
https://github.com/Unity-Technologies/Unity-Robotics-Hub/blob/main/tut
orials/pick_and_place/img/2_ros_unity.png
ARとUnity-Robotics-Hubの連携

ARとUnity-Robotics-Hubの連携

  • 1.
  • 2.
    自己紹介 2 - 森口 航平 -京セラ ロボティクス事業部 - 主にロボットアームの研究開発 - Unity歴一年ぐらい(がっつり触り始めたのは最近 ) - 仕事でも触っていますが、今日は個人での参加 dankuro1
  • 3.
    LTの内容 3 - Unityを使ってロボットのシミュレーションをするのなら、 AR/VR対応させてみたい -UnityにはAR Foundationがある - Unity が提供しているAR用のフレームワーク - ARKit / ARCoreの両方のプラグインがある - iOS, Android, Hololensなどに対応 - 導入が簡単でARアプリの開発を始めるのに最適 - Unity Robotics HubのTutorialをAR対応させてみた - 作成手順などを共有 https://github.com/Unity-Technologies/Unity-Robotics-Hub/bl ob/main/tutorials/pick_and_place/img/0_pick_place.gif
  • 4.
    4 プロジェクトの作成 新規プロジェクトをARで作成 AR FoundationやARKit/ARCoreのプラグイン が導入済のプロジェクトが作成される 開発環境 - Macmini 2020 : macOS 11.6 - Unity Editor 2020.3.20.f1 - Xcode 13.0 動作環境 - iPhone XS : iOS 15.0.1 - RNUC11PAHi30000 : Ubuntu 20.04 - ROS noetic
  • 5.
    必要なパッケージの導入 5 - Package ManagerからROS-TCP-ConectorとURDF-Importerを導入 - Unity-Robotics-Hubの Quick Installation Instructions参考 - ROS TCP Connector 0.6.0 - URDF Importer 0.5.0
  • 6.
    Project Managerの設定 6 Player ->Other Setting -> Active Input Handlingを Bothにする タッチ操作とカメラが使用できるようになる Player -> Other Setting -> XR Plug-in Managementにチェックを入れる
  • 7.
    Pick and PlaceのTutorialをそのまま実行 7 -Pick-and-PlaceのPart0~Part3まで進める - 右の図ではARカメラの位置やボタンの サイズを変更している - このままではiOSにビルドする際にURDF ImporterとROS TCP Conectorがビルド できなくてエラーとなる
  • 8.
    URDF Importer とROSTCP ConecttorのiOSビルド サポート追加 8 各のパッケージのRuntimeフォルダにあるファイルを編集 - Unity.Robotics.URDFImporter.asmdef - Unity.Robotics.ROSTCPConnector.asmdef 手順 1. iOSにチェック 2. Apply チェックがついたままになっていれば OK ② https://github.com/Unity-Technologies/ROS-TCP-Connector/issues/117 ①
  • 9.
    ファイルが編集できない場合 9 1. Projectウィンドウで、ROS TCPConnectorを右クリックして、Reveal in Finderを選択 - PackageCacheフォルダのウィンドウが開く 2. プロジェクトのAssetsフォルダにも同じことして、プロジェクトのルートフォルダを開く 3. ルートフォルダのウィンドウの Packagesフォルダを開く 4. PackageCacheウィンドウからcom.robotics.ros-tcp-connector@xxxxxをPackagesフォルダに移動 5. URDF Importerも同じことを行う
  • 10.
    URDF Importer assimp.dllエラー 10 Plugin'assimp.dll' is used from several locations:Packages/com.unity.robotics.urdf-importer/Runtime/U nityMeshImporter/Plugins/AssimpNet/Native/win/x86_64/assimp .dll would be copied to <PluginPath>/assimp.dll Packages/com.unity.robotics.urdf-importer/Runtime/UnityMeshI mporter/Plugins/AssimpNet/Native/win/x86/assimp.dll would be copied to <PluginPath>/assimp.dll Please fix plugin settings and try again 削除 URDF Importer のassimp.dllを削除 iOSでビルドする際には不要 その他エラー Pick_and_Place_Project -> Asset -> DemoScripts -> Demo.cs を削除
  • 11.
    11 Build And Run動かしてみた Build And RunでXcodeが自動で立ち上がりビルド完了すれば iPhoneにアプリがインストールされます
  • 12.
    12 まとめ - URDF Importer、ROSTCP ConnectorをiOSアプリとしてビルドした - ROSとの通信を簡単に構築可能に - AR Foundationでロボットに使える 機能等を試していきたい - 平面検知 - PointCloud - オクルージョン などなど iOS App https://github.com/Unity-Technologies/Unity-Robotics-Hub/blob/main/tut orials/pick_and_place/img/2_ros_unity.png