1.6K Views
November 15, 21
スライド概要
AR FoundationとUnity-Robotics-Hubを使用した例を紹介します。また試してもらう際にはまりそうなポイントを共有します。
リアルタイム3Dコンテンツを制作・運用するための世界的にリードするプラットフォームである「Unity」の日本国内における販売、サポート、コミュニティ活動、研究開発、教育支援を行っています。ゲーム開発者からアーティスト、建築家、自動車デザイナー、映画製作者など、さまざまなクリエイターがUnityを使い想像力を発揮しています。
ARとUnity-Robotics-Hub の連携 dankuro | エンジニア | 2021.10.19
自己紹介 - 森口 航平 - 京セラ ロボティクス事業部 - 主にロボットアームの研究開発 - Unity歴一年ぐらい (がっつり触り始めたのは最近 ) - 仕事でも触っていますが、今日は個人での参加 dankuro1 2
LTの内容 - 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 作成手順などを共有 3
プロジェクトの作成 新規プロジェクトを 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 4
必要なパッケージの導入 - Package Manager からROS-TCP-ConectorとURDF-Importerを導入 - Unity-Robotics-Hubの Quick Installation Instructions参考 - ROS TCP Connector 0.6.0 - URDF Importer 0.5.0 5
Project Managerの設定 Player -> Other Setting -> XR Plug-in Managementにチェックを入れる Player -> Other Setting -> Active Input Handlingを Bothにする タッチ操作とカメラが使用できるようになる 6
Pick and PlaceのTutorialをそのまま実行 - Pick-and-PlaceのPart0~Part3まで進める - 右の図ではARカメラの位置やボタンの サイズを変更している - このままでは iOSにビルドする際に URDF ImporterとROS TCP Conectorがビルド できなくてエラーとなる 7
URDF Importer とROS TCP ConecttorのiOSビルド サポート追加 各のパッケージの Runtimeフォルダにあるファイルを編集 - Unity.Robotics.URDFImporter.asmdef - Unity.Robotics.ROSTCPConnector.asmdef 手順 1. 2. iOSにチェック Apply ① チェックがついたままになっていれば OK https://github.com/Unity-Technologies/ROS-TCP-Connector/issues/117 8 ②
ファイルが編集できない場合 1. Projectウィンドウで、 ROS TCP Connectorを右クリックして、 Reveal in Finderを選択 - PackageCacheフォルダのウィンドウが開く 2. 3. 4. 5. プロジェクトの Assetsフォルダにも同じことして、プロジェクトのルートフォルダを開く ルートフォルダのウィンドウの Packagesフォルダを開く PackageCacheウィンドウから com.robotics.ros-tcp-connector@xxxxxをPackagesフォルダに移動 URDF Importerも同じことを行う 9
URDF Importer assimp.dllエラー URDF Importer のassimp.dllを削除 iOSでビルドする際には不要 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 削除 その他エラー Pick_and_Place_Project -> Asset -> DemoScripts -> Demo.cs を削除 10
Build And Run 動かしてみた Build And RunでXcodeが自動で立ち上がりビルド完了すれば iPhoneにアプリがインストールされます 11
まとめ - URDF Importer、ROS TCP ConnectorをiOSアプリとしてビルドした - ROSとの通信を簡単に構築可能に iOS App - AR Foundationでロボットに使える 機能等を試していきたい - 平面検知 - PointCloud - オクルージョン などなど https://github.com/Unity-Technologies/Unity-Robotics-Hub/blob/main/tut orials/pick_and_place/img/2_ros_unity.png 12