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
89
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
56
HakoniwaOverview
tmori
1
280
HakoniwaUnity
tmori
1
130
HakoniwaUnityAR
tmori
1
47
HakoniwaTutorialUnity
tmori
1
57
HakoniwaPdu
tmori
1
64
複数ロボットシミュレーション環境・箱庭 STAMP/STPAでの活用
tmori
1
270
Mastering Drone Simulation with Hakoniwa: Step-by-Step Guide
tmori
2
2.7k
Other Decks in Technology
See All in Technology
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.8k
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
1.2k
DroidKaigi 2025 Androidエンジニアとしてのキャリア
mhidaka
2
390
「Linux」という言葉が指すもの
sat
PRO
4
140
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
350
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
460
Create Ruby native extension gem with Go
sue445
0
130
はじめてのOSS開発からみえたGo言語の強み
shibukazu
4
1k
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
6
750
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
330
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
590
Snowflake×dbtを用いたテレシーのデータ基盤のこれまでとこれから
sagara
0
130
Featured
See All Featured
Docker and Python
trallard
46
3.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Large-scale JavaScript Application Architecture
addyosmani
513
110k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Code Review Best Practice
trishagee
71
19k
Site-Speed That Sticks
csswizardry
10
820
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