こんにちは、d-satoです。
UnityとROS 2で移動ロボットの実機を動かせる教材として、「UnityとROS 2で学ぶ移動ロボット入門 UI作成編」を公開しました。本プロジェクトは、ユニティ・テクノロジーズ・ジャパン社と共同開発の「UnityとROSで学ぶ移動ロボット入門 UI作成編」の続編としてアールティが開発しました。この教材の中身についてユニティ・テクノロジーズ・ジャパン社と共同開発した教材とあわせてご紹介します。
※本記事では、ROS全般についての言及と区別するため、従来のROSをROS 1と表記します。
共同開発したROS 1用のUnity教材について
ROS 1用の教材としては、Unityとシミュレータ上のロボットを使ったサンプルコードとドキュメントを公開しています。
Unityはゲーム開発にもよく使われており、マルチプラットフォームに対応しているだけではなく、UI作成のための資料やサンプルが数多く公開されています。Unityとロボットの連携を本教材で学ぶことで、まるでゲームを開発するようにロボット操作用のUIを開発できるようになることが期待できます。
下記の体験を通じて、ロボットを操作するためのUI開発を、Unityで始めるきっかけを得ることを目的としていました。
- UnityからROS 1対応ロボットへの指令の出し方を体験する
- 搭載された各種センサの値などロボットの状態の可視化方法を体験する
「UnityとROSで学ぶ移動ロボット入門 UI作成編」については、メディアアーティストの坪倉輝明さんをスペシャルゲストとしてお招きして使い方やポイントを解説した動画を収録しています。
今回公開した「UnityとROS 2で学ぶ移動ロボット入門 UI作成編」について
続編であるこのプロジェクトでは、ROS 1からROS 2に更新し、それに加えてUnityから移動ロボットの実機を動かすことを体験できるような教材にすることを目標に開発し、公開しました。
下記のような方を想定した教材です。
- Unityの開発経験がありロボット制御に興味のある方
- ROS 2の開発経験がありUnityを使ったUI開発に興味のある方
- Unity、ROS 2の開発経験がなくロボットのUI開発に興味のある方
移動ロボットとしては、アールティが販売する小型移動プラットフォームロボットRaspberry Pi Mouseを採用しています。
今回の教材では、下記の図のように、Unity上のUIを操作することでUnityからRaspberry Pi Mouseに移動指令を送信することができ、更にUnityはRaspberry Pi Mouseからオドメトリとセンサ情報を受け取って可視化することができます。
ここまでを順を追って体験できるよう、資料を構成しています。目次は以下の通りです。
- 本教材でできること
- Unityとロボットが連携することの利点
- 教材の構成
- Raspberry Pi Mouseのセットアップ
- Unityのセットアップ
- Raspberry Pi Mouseのハードウェアモデルデータの読み込み
- ロボット操作用ボタンの作成とUnityからロボットへ速度指令を送信
- Raspberry Pi Mouse位置姿勢の可視化
- オドメトリの可視化
- LiDARデータの可視化
- カメラデータの可視化
- JoyStickアセットによる操作
- スキャンした3Dモデルの表示
- SLAMによる地図生成とナビゲーション
部屋のスキャンにはiOS端末が必要になったり、全部を体験するには少々準備が必要になりますが、部分的に試すだけでも、Unityとロボットの連携とUI開発が体験できる内容になっていると思います。
最終的には、Unityから移動ロボットのSLAMとナビゲーションを行えるようになっています。
扱う内容について詳しくは「本教材でできること」のページをご覧ください。
おわりに
この記事では、UnityとROS 2で移動ロボットの実機を動かせる教材である、「UnityとROS 2で学ぶ移動ロボット入門 UI作成編」を公開した旨とその中身をご紹介しました。ユニティ・テクノロジーズ・ジャパン社と共同開発した教材と、今回新たに公開した教材をあわせて使うことで、ROS(ROS 1/ROS 2)対応の移動ロボットをUnityから操作・可視化する方法、そしてそのUIを作成する方法を体験することができます。
Unityはゲーム開発にもよく使われるため、UI作成に関するサンプルや資料が数多く公開されています。この教材を使ってROS 2対応の移動ロボットとUnity連携方法を習得すれば、皆さんのオリジナルのUIを作成することもできると思います。ぜひお試しください!
関連ページ
ユニティ・テクノロジーズ・ジャパン社と共同開発の「UnityとROSで学ぶ移動ロボット入門 UI作成編」公開当時のプレスリリース
ユニティ・テクノロジーズ・ジャパンと共同でUnityとROSを組み合わせたロボット入門者向け教材を開発
「UnityとROS 2で学ぶ移動ロボット入門 UI作成編」
「UnityとROSで学ぶ移動ロボット入門 UI作成編」(ROS 1)