Unity道場ロボティクススペシャル 龍の巻 2020/10/10
ソニー・インタラクティブエンタテインメント
toio開発者 田中章愛
モリカトロン株式会社
AIエンジニア 本間翔太/銭 起揚
ロボットトイ「toio(トイオ)」
とUnityでの開発事例のご紹介
© 2020 Sony Interactive Entertainment
1
新公開の開発環境
「toio SDK for Unity」
をご紹介!
https://toio.io@toio_jp
#toio #Unity
本日のお題
・ロボットトイ「toio™(トイオ)」の紹介
・新開発環境「toio SDK for Unity」
© 2020 Sony Interactive Entertainment 4
創意工夫を引き出す
ロボットトイ
© 2020 Sony Interactive Entertainment
カートリッジであそぶ、プログラミングでつくる
「つくって、あそんで、ひらめいて」
好きな形や動きをつくって
エンタメ的体験であそべるロボット
New! Coming Soon
5
© 2020 Sony Interactive Entertainment 5
自己紹介:田中 章愛(たなか あきちか)
6
2002年 佐世保高専卒業(NHKロボコン全国大会出場)
2006年 筑波大学大学院修了(RoboCup Rescue世界大会出場)
同年 ソニー(株)入社、ロボットの研究開発に従事
2013年 スタンフォード大学訪問研究員
2014年 スタートアップ創出と事業運営を支援する
「Seed Acceleration Program(SAP)」や
「Creative Lounge」の企画運営
2016年 SAPの新規事業としてロボットトイ「toio」提案
以降、商品化・事業化に従事
2018年~ ソニー・インタラクティブエンタテインメント
にて「toio」の商品企画と事業開発を担当
ソニー・インタラクティブエンタテインメント
toio事業推進室 課長(事業開発担当)/ toio開発者
ロボコン三昧
ロボット研究者
社内スタートアップ
のリーダー
現在PlayStation®
でおなじみのSIEで
「toio」を企画
6
© 2020 Sony Interactive Entertainment
触って夢中になれるデジタル体験が目の前に
© 2020 Sony Interactive Entertainment
カートリッジで様々な
あそびのテーマを提供
工作生物
ドライブ・自動運転
“クラフトファイター”
金賞
自由な発想を投影 → 夢中になる → 工夫したくなる
7
© 2020 Sony Interactive Entertainment 7
ユーザーテスト 技術開発
「実世界インタラクティブエンタテインメント」をつくろう!
“絶対位置検出”
正確な動き・高いゲーム性
特殊パターン光学式センサー
ユーザーテスト
企画⇒試作⇒改善…
開発姿勢:2012年からの夢が徐々に現実に
toioTM 開発者
© 2020 Sony Interactive Entertainment 8
© 2020 Sony Interactive Entertainment 8
https://www.youtube.com/watch?v=0-QrT1PtKY4&t=113s
© 2020 Sony Interactive Entertainment 9
“あそび感覚でプログラミング”
~3段階にステップアップ~
© 2020 Sony Interactive Entertainment 10
ビジュアルプログラミング
(Windows10/Mac対応)
小学生(高)~:創作
多角形・アルゴリズム・ゲーム JavaScriptライブラリ
&技術仕様公開
中学生~大人:本格
ロボット/AI/インタラクション
プログラミングもあそびになる
アンプラグド
(パソコン不要・カード式)
小学生(低)~:基本
「順次・分岐・反復」を体感
敷居は低く、壁は広く、
天井は高く
by ミッチェル・レズニック MIT教授
© 2020 Sony Interactive Entertainment 10
“あそび感覚でプログラミング”
~3段階にステップアップ~
© 2020 Sony Interactive Entertainment 11
ビジュアルプログラミング
(Windows10/Mac対応)
小学生(高)~:創作
多角形・アルゴリズム・ゲーム JavaScriptライブラリ
&技術仕様公開
中学生~大人:本格
ロボット/AI/インタラクション
プログラミングもあそびになる
アンプラグド
(パソコン不要・カード式)
小学生(低)~:基本
「順次・分岐・反復」を体感
敷居は低く、壁は広く、
天井は高く
by ミッチェル・レズニック MIT教授
© 2020 Sony Interactive Entertainment 11
New!
本日のお題
・ロボットトイ「toio™(トイオ)」の紹介
・新開発環境「toio SDK for Unity」
© 2020 Sony Interactive Entertainment 12
「toio SDK for Unity」
© 2020 Sony Interactive Entertainment 13
Developed by
New!
「toio SDK for Unity」
© 2020 Sony Interactive Entertainment 14
ゲームエンジンUnityを使ってロボット「toio」のスマホアプリやゲーム開発が手軽に
• 豊富なライブラリやアセットを活用し、ARや機械学習も統合できる
• ロボット工学やインタラクション、メディアアートなど多彩な活用が可能
スマホアプリ(iOS)からtoioが動く!Unity上シミュレーターで開発
Developed by
「ウロチョロス」
のような実世界
ゲームが開発可能
New!
ここからは・・・
「toio SDK for Unity」の深い話
開発:モリカトロン株式会社
© 2020 Sony Interactive Entertainment 15
https://morikatron.com/t4u/
© 2020 Sony Interactive Entertainment 16
(※モリカトロン 本間様・銭様のプレゼンテーションをご覧下さい)
「toio SDK for Unity」
© 2020 Sony Interactive Entertainment 17
α版モニター事例紹介(個人作品)
New!
「AR Touch」 by 橋本直(明治大学/工学ナビ)
「ミニチュアムービーメーカー」by tokyoamado
「リモートすごろく」
by 高友康、藤波秀麿(東京大学 筧研究室)
ビジュアルスクリプティングBoltでの開発も!
「Bolt with toio」 by comoc
「トイオで徒競走」 by kawachin, numachin
toio SDK for Unityの感想
© 2020 Sony Interactive Entertainment 18
「Bolt with toio」 by comoc https://note.com/unityjapan/n/nf9ca97d3d472
ユニティ・テクノロジーズ・ジャパン 小森 顕博 様
作品動画コンテスト
「ロボやろ」
© 2020 Sony Interactive Entertainment 19
#toio #Unity #ロボやろ
New!
#toio #Unity #ロボやろ
エントリー・作品募集期間:10/10-11/4
審査発表日:11/6
※日程や内容は状況により変更になる場合があります。
作品動画コンテスト「ロボやろ」
© 2020 Sony Interactive Entertainment 20
• 開催概要
– toioやUnityのオリジナル作品動画オンラインコンテスト
(シミュレーター参加もOK!)
– YouTube&Twitter・ブログで作品動画投稿し、応募フォームに記入
• 賞&リワード
– View数や内容にインパクトのあるものを表彰&リワード進呈
– toio & Unity大賞リワード:Unity推奨PC+toio特別セット
ほか賞・リワード多数
• 審査員
– ソニー・インタラクティブエンタテインメント 田中章愛
– ユニティ・テクノロジーズ・ジャパン 小森様
※他ゲスト審査員追加次第告知予定
主催:ソニー・インタラクティブエンタテインメント
協賛:ユニティ・テクノロジーズ・ジャパン
協力:モリカトロン株式会社、株式会社スイッチサイエンス
New!
https://toio.io@toio_jp
最後に・・・
開発に役立つ新商品ご紹介
© 2020 Sony Interactive Entertainment 22
toio™開発用プレイマット
© 2020 Sony Interactive Entertainment 23
開発者向けtoio専⽤マット、A3サイズ12枚セット
• toioの絶対位置が印刷され、高度なロボット開発やプログラミングに最適
• 裏面は最⼤12枚まで並べることで、⼤きなプレイエリアとして利⽤可
• 表⾯は簡易プレイマット(6枚)、簡易カード(6枚)としても使⽤可
Distributed by
12枚並べると約1.2m角の正方形に
New!
toio™開発用プレイマット
© 2020 Sony Interactive Entertainment 24
https://mag.switch-science.com/2020/05/19/toio-posts/
https://mag.switch-science.com/2020/07/01/toio-posts-2/
SwitchScience「「toio」ではじめよう、おうちでロボット開発キャンペーン」 より
New!
工作も、ゲームも、プログラミングも、創意工夫で楽しもう。
「toio」のあそびはどんどん広がります。
© 2020 Sony Interactive Entertainment 25
© 2020 Sony Interactive Entertainment
#toio #Unity
#ロボやろ
ぜひ一緒にtoioTMで
「実世界インタラクティブエンタテインメント」
をつくりましょう!
“Sony”はソニー株式会社の商標です。
各ソニー製品の商品名・サービス名はソニー株式会社またはグループ各社の登録商標です。その他の製品および会社名は、各社の商号、登録商標または商標です。
© 2020 Sony Interactive Entertainment
Unity道場 ロボティクススペシャル
龍の巻
1
自己紹介
講演者
本間 翔太
モリカトロン株式会社
AIエンジニア
銭 起揚
モリカトロン株式会社
AIエンジニア
ゲーム会社でエンジニア
として従事。その後東京
工科大学でゲームと認知
心理の研究に取り組む。
修士卒業後、AIエンジニ
アとしてモリカトロン株
式会社へ入社。
東京大学機械工学専攻で自
動運転と強化学習の研究を
行い、 修士卒業後、AIエン
ジニアとしてモリカトロン
株式会社に入社。
概要
toio SDK for Unity は、Unityエンジン で toio™コア キューブ(以降キューブ)を制御するための開発環境です。
3
一通りの流れ
4
1. Unityプロジェクトを作ります
一通りの流れ
5
2. SDKを導入します
※その他の手順は導入ドキュメントをご参考下さい。
一通りの流れ
6
3. コードを書いて、シミュレータで動かします
https://youtu.be/rCKu6J3MggA
一通りの流れ
7
4. iOSアプリを作ります
プラットフォームに応じて、通信システム自動切り替え
機能一覧
● Cubeクラス
キューブをプログラム制御するモジュール
● Bluetooth
デバイスを通信制御するモジュール
● Simulator
UnityEditor で toio のシミュレーションをするモジュール
● 制御モジュール
Cube を単体及び群集として動かすモジュール
機能一覧
● Cubeクラス
キューブをプログラム制御するモジュール
● Bluetooth
デバイスを通信制御するモジュール
● Simulator
UnityEditor で toio のシミュレーションをするモジュール
● 制御モジュール
Cube を単体及び群集として動かすモジュール
Cubeクラス
10
スキャン
11
Cubeクラス
スキャン
12
接続
Cubeクラス
スキャン
13
接続
命令
Cubeクラス
14
Cube
CubeUnity
CubeReal
Cubeクラス
15
Cubeクラス
機能一覧
● Cubeクラス
キューブをプログラム制御するモジュール
● Bluetooth
デバイスを通信制御するモジュール
● Simulator
UnityEditor で toio のシミュレーションをするモジュール
● 制御モジュール
Cube を単体及び群集として動かすモジュール
Bluetooth
17
通信インターフェイスCube
iOS
Web
18
iOS
Web
Bluetooth
多台数動かせる 開発者登録が必要
19
iOS
Web
Bluetooth
シェアできる 台数制限がある
20
通信インターフェイス
iOS
Web
Mac
Android
Cube
Bluetooth
機能一覧
● Cubeクラス
キューブをプログラム制御するモジュール
● Bluetooth
デバイスを通信制御するモジュール
● Simulator
UnityEditor で toio のシミュレーションをするモジュール
● 制御モジュール
Cube を単体及び群集として動かすモジュール
Simulator
22
Bug
Build
Simulator が生まれる前には…
(数十秒~数分)
Simulator
23
Bug
Build
Simulator を加えることで…
Play
少ない Bug
(1秒で)
(数十秒~数分)
Simulator
24
● Mat
マットオブジェクト
● Standard ID
カード・シート
オブジェクト
● Cube
コアキューブ
オブジェクト
※Simulatorの画面キャプチャーです
Simulator
25
*数が多いので省略
● Mat
マットオブジェクト
● Standard ID
カード・シート
オブジェクト
● Cube
コアキューブ
オブジェクト
※Simulatorの画面キャプチャーです
Simulator
26
● Cube
○ toio™コアキューブ仕様2.0.0に対応
しています。
○ 物理、通信遅延のシミュレーショ
ンも実装しています。
○ マウスとキーボードで、Drag&Drop
などの操作ができます。
※Simulatorの画面キャプチャーです
Simulator
27※Simulatorの画面キャプチャーです
機能一覧
● Cubeクラス
キューブをプログラム制御するモジュール
● Bluetooth
デバイスを通信制御するモジュール
● Simulator
UnityEditor で toio のシミュレーションをするモジュール
● 制御モジュール
Cube を単体及び群集として動かすモジュール
単体制御
29
CubeHandle
● メソッド
○ 指定距離・角度で前進・回転
(open-loop)
○ 目標座標・角度に到達
(closed-loop)
単体制御
30
CubeHandle
● 予測によるボーダー制限
単発の指令でも、それによる軌跡を予測して、マットを出る前に
止まれるように、指令の継続時間をカットします。
同じ指令(速度&継続時間)を違うAPI
で出しています。
● 緑:CubeHandle.Move
● 赤:Cube.Move
群制御
31
CubeHandleを多台数の場合に使うと…
互いに意識していないので、当然ぶつかります。
*対角に移動するタスク
群制御
32
Navigator
● 自然に他個体を避ける
Human-like 衝突回避(改良版)
● 群がり
Boids (魚のような集団行動を作れるアルゴリズム)
群制御
33
Navigator
● 群がりながら、自然に移動できます
Human-like 衝突回避(改良版)× Boids
*台数が多いためパケロスで少しカクつきます
*弊社の技術解説ブログ
https://tech.morikatron.ai/entry/2020/03/04/100000
群制御
34https://www.youtube.com/watch?v=mKl3XM30b00
デモ「鬼ごっこ」
ご静聴、ありがとうございました。
35

ロボット「toio」をUnityで自在に制御!「toio SDK for Unity 」の紹介