技術教育の機会を提供し、世界をリードするエンジニアの育成を目的としたロボットコンテスト「ETロボコン」は、世界的にもユニークなソフトウェア重視の教育ロボコンです。毎年、新しい技術要素を取り入れ、時流に沿ったエンジニアの育成に取り組んでいます。そんな中、新型コロナウィルスが発生した2020年から導入しているシミュレーター環境には「Unity」というツールが使われており、今やETロボコンに欠かせない技術になっています。
今回はこのUnityを提供しているユニティ・テクノロジーズ・ジャパン株式会社(以下、ユニティ・テクノロジーズ・ジャパン)でロボティクス分野の普及活動を推進する小森 顕博さんにお話をお伺いしました。
ユニティ・テクノロジーズ・ジャパン 小森 顕博さん
ゲーム開発を超えたUnityの活用
Unityは元々「ゲームエンジン」と呼ばれるゲーム開発向け統合環境として2005年に誕生しました。誕生以降「ゲーム開発の民主化」というスローガンを掲げており、プロと同じパワフルな開発ツールを個人ユーザーでも無償で利用できる環境を提供し、日本を含めた世界中のクリエイター・開発者に支持されています。個人・企業、プロジェクト規模の大小に関わらず、世界中の利用者同士で情報交換・問題解決を図れることがUnityの強みです。
ゲームで利用されている技術は、現在ではロボット産業や自動車産業、建築・建設業など、ゲーム以外の分野でも活用されています(※1)。ゲーム産業以外での活用が進む理由として、様々なデバイスやプラットフォーム開発のためのSDK(Software Development Kit ※2)が豊富にサポートされている点が挙げられます。UnityはROS(※3)やROS2(※4)のようなロボット開発で広く使われているツールを公式にサポートしており、スマートフォンやタブレット、VR・ARデバイス用のアプリケーションを簡単に作成することができます。また、様々なデバイスやプラットフォームを組み合わせて、これまで実現できなかったソリューションをUnity上で開発することができます。Unityの技術により、クリエイター・開発者の創造性が実現しています。
※1 Unity活用事例:Unity for Industry
※2 SDK(Software Development Kit – ソフトウェア開発キット)
プログラムや開発環境等、ソフトウェアを作るために必要な要素
※3 ROS(Robot Operating System – ロボットオペレーティングシステム)
ロボット開発に用いるオープンソースソフトウェア
※4 ROS2
ROSの次世代バージョン。
効率的な開発を実現するUnityの活用方法
ETロボコン実行委員として活躍する、リコーITソリューションズ株式会社 首都圏第2開発センター 第1開発部 第1グループの入江 弘憲さんは業務内でUnityを使用する機会があり、Unityについて以下のように語っています。
「リコーグループでは、RICOH THETA(※5)というシャッターを1回切るだけで周囲すべてを撮影できる全天球カメラを開発、販売しています。リコーITソリューションズでは、そのような全天球の映像とVRを活用するシステムも開発していて、全天球映像配信を使った遠隔コミュニケーションシステムの開発もしています。
このような開発では3Dを扱う必要がありますが、OpenGL(※6)などで開発する場合は難易度が上がり時間もかかってしまいますし、使用するVRヘッドセットに合わせた実装なども必要になります。
このようなケースでも、Unityを使うことで3Dの面倒な部分をあまり意識せず、ロジックや映像をどう見せるかの開発に集中できましたし、アセットを活用することでヘッドセットとの連携も容易に行え、開発を効率化できました。」
ETロボコン 2015 チャンピオンシップ大会です – Spherical Image – RICOH THETA
THETAで撮影した全天球の画像
※5 RICOH THETA
※6 OpenGL
コンピューターグラフィックス(CG)のためのライブラリ
Unityで質の高い学びを実現させる二つの理由
新型コロナウイルスの感染が急拡大している2020年4月頃、ETロボコン実行委員会は参加者と実行委員会メンバーの安全を第一に考え、例年の集合形式による開催を見送る決断をしました。しかし、「学びの機会を無くしてはいけない」という想いから、シミュレーターによるコンテストの実施を決めました。結果的には本物のロボットをシミュレーター上で動かしているような、集合形式と遜色ないクオリティのコンテストが実現しました。
このシミュレーターによるコンテストが実現した背景にはUnityの存在が欠かせません。
ETロボコン特別協賛であるTOPPERSプロジェクト 箱庭ワーキンググループ(※7)にてUnityを使ったシミュレーター環境開発のプロジェクトに取り組んでいたことをきっかけに、ETロボコンでもUnityを使ったシミュレーター環境を開発しました。ユニティ・テクノロジーズ・ジャパンも、Unityの活用を通して参加者の成長や課題解決につなげたいという想いから、Unityのライセンス提供を決めました。
Unityが導入されたことで、ETロボコン参加者の学びは深まり、より質の高い教育の場を提供することにつながりました。なぜUnityの導入が質の高い学びを提供することにつながったのか、ETロボコン実行委員会は主な理由を二つ挙げました。
①開発の効率化
Unity上ではボタンを押すだけで、3D空間を瞬時に動かすことができます。ETロボコンでは、このような「常に最新の状態を動かせる」というゲームエンジンの特性が活かされています。例えば、シミュレーションやフィールドテストを実機で行おうとすると、機材や実験スペース、設定などにコストや時間がかかりますが、Unityやクラウドコンピューティングのようなすぐ試せる環境を活用することでコストや時間を減らすことができます。これまでコストや時間の制約で諦めていたことを試すことが可能となり、何かを試行するコスト・時間は限りなくゼロになります。
②再現性の高さ
シミュレーター上では、本物のロボットと同じように開発することができます。コースや障害物も本物と同じように再現されているため、会場で実際にロボットを動かしているかのように感じられます。また、会場の明るさ等の環境による影響についても再現されています。テスト走行で上手くいったからと言って、大会会場でも上手く走れるとは限りません。参加者は環境の変化があっても正確に走行するプログラムを書く必要があるため、会場で大会を実施する際と同様の学習効果が得られます。
ユニティ・テクノロジーズ・ジャパンがETロボコンに参画する理由とは
ユニティ・テクノロジーズ・ジャパンの小森さんは、ETロボコンに参画する理由を以下のように語りました。
「ロボットソフトウェア分野の競技イベントとして、同じくソフトウェアを扱うユニティ・テクノロジーズ・ジャパンとしても、参加者のみなさまの取り組みには大きな関心を持っています。まだUnityについてご存じない方も、この記事などを機会に知っていただきたいですし、交流会などの機会を通じて情報交換などをしたいと思い、今回スポンサーシップとして参画させていただきました。
引き続き、競技シミュレーターをサポートする立場としてご協力できればと考えていますし、ETロボコンを通じてUnityの利用が広がることも期待しています。またコンテストでの活用を通して、将来、参加者のみなさまが課題に遭遇したときに、Unityがその解決策の一つとなれば嬉しいです。」
ゲームのイメージが強いUnityですが、その技術はETロボコンでのエンジニア育成に大きく貢献しており、世界をリードするエンジニアを育成するための欠かせないツールの一つとなっています。
参考リンク
・ユニティ・テクノロジーズ・ジャパン株式会社 コーポレートサイト
・ETロボコン