Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
HakoniwaDesign
Search
Takashi Mori
March 19, 2024
Technology
1
88
HakoniwaDesign
この資料では、箱庭の全体設計情報を整理しています。
- アーキテクチャ
- 箱庭アセット
- アーキテクチャ詳細
- ネットワーク構成とインフラストラクチャ
Takashi Mori
March 19, 2024
Tweet
Share
More Decks by Takashi Mori
See All by Takashi Mori
HakoniwaPythonAsset
tmori
2
120
HakoniwaUnityAsset
tmori
1
53
HakoniwaOverview
tmori
1
270
HakoniwaUnity
tmori
1
130
HakoniwaUnityAR
tmori
1
46
HakoniwaTutorialUnity
tmori
1
56
HakoniwaPdu
tmori
1
64
複数ロボットシミュレーション環境・箱庭 STAMP/STPAでの活用
tmori
1
250
Mastering Drone Simulation with Hakoniwa: Step-by-Step Guide
tmori
2
2.7k
Other Decks in Technology
See All in Technology
AIエージェントを現場で使う / 2025.08.07 著者陣に聞く!現場で活用するためのAIエージェント実践入門(Findyランチセッション)
smiyawaki0820
6
580
Rubyの国のPerlMonger
anatofuz
3
730
モバイルゲームの開発を支える基盤の歩み ~再現性のある開発ラインを量産する秘訣~
qualiarts
0
1.1k
Vision Language Modelと自動運転AIの最前線_20250730
yuyamaguchi
3
1.1k
✨敗北解法コレクション✨〜Expertだった頃に足りなかった知識と技術〜
nanachi
1
420
Claude Codeから我々が学ぶべきこと
s4yuba
6
1.8k
Claude CodeでKiroの仕様駆動開発を実現させるには...
gotalab555
3
880
Claude Codeは仕様駆動の夢を見ない
gotalab555
2
350
オブザーバビリティプラットフォーム開発におけるオブザーバビリティとの向き合い / Hatena Engineer Seminar #34 オブザーバビリティの実現と運用編
arthur1
0
340
LIFF CLIとngrokを使ったLIFF/LINEミニアプリのお手軽実機確認
diggymo
0
230
Perlアプリケーションで トレースを実装するまでの 工夫と苦労話
masayoshi
1
410
僕たちが「開発しやすさ」を求め 模索し続けたアーキテクチャ #アーキテクチャ勉強会_findy
bengo4com
0
1.9k
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
2.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Documentation Writing (for coders)
carmenintech
73
5k
For a Future-Friendly Web
brad_frost
179
9.9k
Writing Fast Ruby
sferik
628
62k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
[RailsConf 2023] Rails as a piece of cake
palkan
56
5.7k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
332
22k
The Cult of Friendly URLs
andyhume
79
6.5k
Designing for humans not robots
tammielis
253
25k
Transcript
箱庭(Hakoniwa) Design 合同会社箱庭ラボ 森崇
はじめに • この資料では、箱庭の全体設計情報を整理しています。 • アーキテクチャ • 箱庭アセット • アーキテクチャ詳細 •
ネットワーク構成とインフラストラクチャ 2
アーキテクチャ • 箱庭アーキテクチャの概要 • 箱庭アーキテクチャの説明 3
箱庭アーキテクチャの概要 4
箱庭アーキテクチャの説明 • 箱庭の中核をなす機能(箱庭コア機能)は、⾮常にシンプルで、以下の4 つに集約されます。 • スケジューリング(Scheduling) • 同期・通信(Synchronization & Communication)
• 時間管理(Time Management) • アセット管理(Asset Management) • 箱庭コア機能の利⽤者は「箱庭アセット」であり、箱庭のAPIを呼び出して箱 庭の機能を呼び出しする構成です。 5
箱庭アセット(1/2) • 箱庭アセット定義 • 『箱庭のAPIを利⽤して作成された再利⽤可能なアプリケーション』 • 箱庭アセットの分類︓ • 被制御対象 •
ロボット、ドローン、信号機、踏切、電⾞、⾞などなど • 制御プログラム • 被制御対象を制御するためのプログラムであり、様々な⾔語で開発されたプログラム (Python, C/C++, Rust, Ruby, Elixir,..) • シミュレータ • 被制御対象向けのシミュレータ(Unity, Unreal Engine, Gazebo, PyBullet など) • 制御プログラム向けのシミュレータ(マイコンシミュレータAthrillなど) 6
箱庭アセット(2/3) • シミュレーション⾃動化機能 • 箱庭のAPIには、シミュレーションを実⾏、停⽌、リセットする機能があります。 • これらの機能を利⽤する、以下のような⾃動化機能が実現できます。 • ロボットの強化学習(アクション→評価→再実⾏を繰り返す) •
物理シミュレーションを含めた全体結合テスト⾃動実⾏(CI/CD環境として) • ビジュアライズ機能 • 箱庭アセットとして、Unity等を利⽤すれば被制御対象であるロボット等を容易に可視 化できます。また、制御プログラムとの間の通信データは、箱庭の通信データ(PDU) を参照することで、データの流れを可視化できます。 • さらに、そのデータをROS2のデータとしても可視化できるようになります。 7
箱庭アセット(3/3) • さらなる応⽤機能 • 箱庭の上では、様々な制御プログラムを利⽤できますので、 • 箱庭アセットの可能性はとても広いと考えています。 • 特に、Pythonはその応⽤範囲は広く、AIとの連携が期待できます。 •
例えば、Python上でAIエージェントを作成して、 • 箱庭APIを使ってシミュレーション連携させるようなことも容易に実現できます。 8
アーキテクチャ詳細 9 • 箱庭アーキテクチャの詳細レベルのビューは下図のとおりです。
ネットワーク構成とインフラストラクチャ • ネットワークの基本構成 • インフラストラクチャの基本構成 • 構成パターン • 構成適⽤例 •
Windows WSL2の構成例 10
ネットワークの基本構成 11
インフラストラクチャの基本構成 • ネットワークの基本構成図にある Computer は、以下の3パターンあります。 • Personal Computer • Docker
Container • Embedded Device(Raspberry PI や mROS 2 サポート対応機器など) • また、OSのパターンとしては、以下があります。 • Windows/WSL2 • MacOS(Intel) • MacOS(AppleSilicon) • Ubuntu 12
構成パターン • 箱庭では、さまざまな構成でのシミュレーションを可能にします。 • ただ、物理シミュレータとしてUnityを利⽤する場合は、Unityと箱庭との構成可能なパターンに制約があります。 • 以下、構成可能なパターンと、Unityと箱庭との間の通信⽅式(制御向け通信とPDU通信)をマトリクスで⽰します。 13
Windows WSL2の構成例 14 https://github.com/toppers/hakoniwa-document/blob/main/architecture/examples/README-win.md
ネイティブ向けの構成例(Mac/Linux/Windows) 15