---
title: hakoniwa-getting-started
tags:  #hakoniwa #ros #zenoh #ゲームエンジン  
author: [森崇](https://docswell.com/user/kanetugu2015)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/L73WZ1GP75.jpg?width=480
description: 箱庭 Getting Started — ロボットシミュレーションの入口、作りました。  「箱庭って何？」「どこから始めればいいの？」——そんな声に応えるために作ったのが、この資料です。  箱庭は、MuJoCo（物理シミュレーション）・Godot（ゲームエンジン）・Python/C++/GDScript（プログラミング）・ROS資産（URDF/ROS IDL）を、箱庭PDUと時刻同期でつなぐ水平統合プラットフォームです。特定のベンダや技術に縛られず、好きな言語・好きなエンジンで分散シミュレーション環境を作れることを目指しています。  でも正直、リポジトリが多くて「どこから手をつければ？」ってなりますよね。この資料では、代表的なユースケースをベースに最低限これだけ知ればOKな構成要素を厳選して紹介しています。  ロボット初学者の方も、ROSユーザーの方も、エンジニアの方も、まずはこれを見てください。そして最後のスライドにあるREPOとYouTube動画で、実際に手を動かしてみてください。  箱庭の扉、開いてます。
published: June 11, 26
canonical: https://docswell.com/s/kanetugu2015/K9NMRL-hakoniwa-getting-started
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/L73WZ1GP75.jpg)

Hakoniwa
Getting Started
合同会社箱庭ラボ
CTO 森崇


# Page. 2

![Page Image](https://bcdn.docswell.com/page/87DKRX13JG.jpg)

Hakoniwa Getting Startedの目的
箱庭ってなに？何から始めれば良いの？何ができるの？
Closed...
？
？
Let’s Open!
？
入り口
箱庭
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/VJPKWPQPE8.jpg)

なぜ箱庭か？
システム全体の統合が難しい
・非統合状態
- 各システムが孤立している・・
バーチャル空間
・コミュニケーションの壁
- システム間のデータ共有が困難
- システム間の時刻同期が困難
・相互運用性の壁
- バーチャル世界のシミュレーション
- リアル世界での実証実験との統合
- リアルとバーチャル間の相互運用
Simulator1
Simulator2
実証実験場1
実証実験場2
リアル空間
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/2EVV825VEQ.jpg)

さらに具体的には、、、
Unity
Gazebo
GLB
URDF
Unreal
MuJoCo
STL
MJCF
Godot
NVIDIA Isaac Sim
OBJ
FBX
ゲームエンジン
物理シミュレーション
3Dモデル形式
箱庭は水平統合思想
プログラム言語
OS
通信方式
C/C++
Rust
TCP
ROS/DDS
Windows
C#
JavaScript
UDP
MQTT
MacOS
Python
GDScript
Zenoh
GRPC
Ubuntu
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/57GL5R61EL.jpg)

箱庭のシミュレーション・ハブ構想
多様なシミュレーションを統合するプラットフォーム
→分散シミュレーションハブ
- 単一のシミュレータではありません
- 異なる機能やプログラム、シミュレータなどを統合します
環境
モデ
ル
3Dモデル
コントローラ
Unity等
3Dシミュレータ
制御アプリケーション
通信ミドル
箱庭
ランタイム
箱庭
アセット
アセット管理・制御
アセット間通信
スケジューリング・時間管理
シミュレーション制御
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/4EQYZV4NJP.jpg)

で、、、
初学者が、
この箱庭を体験するには？


# Page. 7

![Page Image](https://bcdn.docswell.com/page/KJ4W3MQ371.jpg)

Getting Startedのコンセプトは？
ロボットのシミュレーションを箱庭で始めたい人に「これ見て」って言えること。
何ができる？
- 物理シミュレーション
- ゲームエンジンを活用したロボットや環境のビジュアライズ
- 多様なプログラミング言語の活用
- 箱庭を使った通信や時刻同期
さらに深く学ぶと...
- 特定ベンダ・技術に依存しない
- 好きな技術やプログラミング言語で
- 分散シミュレーション環境を作れるようになる！！


# Page. 8

![Page Image](https://bcdn.docswell.com/page/LE1Y18PZ7G.jpg)

さらに、既存のROS資産も活用できる！
ROSには、ロボット・センサ・メッセージ定義などの再利用可能な資産があります
ロボット資産(URDF)
ボディ・ジョイント・リンクなど、ロボットの型定義
メッセージ資産(ROS IDL)
センサ値・状態量・制御指令の型定義


# Page. 9

![Page Image](https://bcdn.docswell.com/page/GEWG8Z26J2.jpg)

9
Getting Started：５つの構成要素
ROS資産
物理
シミュレーション
箱庭
プログラミング
ビジュアライズ


# Page. 10

![Page Image](https://bcdn.docswell.com/page/47ZL81DRJ3.jpg)

Getting Started：５つの構成要素
物理Sim
ROS資産
ビジュアライズ
ロボット資産(URDF)
MuJoCo
Godot
メッセージ資産(ROS IDL)
箱庭
箱庭PDU / 時刻同期 / 実行制御
C++
Python
GDScript
プログラミング
ROS資産・物理・ビジュアライズ・プログラムを
箱庭PDUと時刻同期でつなぎます
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/YJ6WPL11JV.jpg)



# Page. 12

![Page Image](https://bcdn.docswell.com/page/GJ5MK14LJ4.jpg)



# Page. 13

![Page Image](https://bcdn.docswell.com/page/LE3WZ1GDE5.jpg)



# Page. 14

![Page Image](https://bcdn.docswell.com/page/8EDKRX127G.jpg)

箱庭Getting Started のエコシステム
箱庭はリポジトリが多く、どこから始めれば？ と迷いがち。そこで代表的なユースケースから、必要な構成要素を厳選しました。
ロボット
箱庭 PDU Python
箱庭PDUエンドポイント
(hakoniwa-pdu-python)
(hakoniwa-pdu-endpoint)
センサ
通信方式
制御プログラム
[凡例]
通信
箱庭
構成ブロック
提供
ブロック内
構成要素
利用
箱庭REPO
通信データ
アクチュ
エータ
物理
モデル
箱庭 MuJoCo ロボット
(hakoniwa-mujoco-robots)
ビジュアライズ
3Dモデル
ゲームエンジン
箱庭PDUレジストリ
箱庭 mBody レジストリ
箱庭 Godot
(hakoniwa-pdu-registry)
(hakoniwa-mbody-registry)
(hakoniwa-godot)
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/V7PKWPQLJ8.jpg)

なぜROSだけでは足りないのか
ROSのみの環境
箱庭のアプローチ
ROS環境の完全な準備が必須。
Ubuntu前提になりやすい。
Mac/Winユーザには導入が重い。
クロスプラットフォーム対応。
ROSに依存せず、軽量に手軽に
試せる環境を提供。
ROSメッセージを前提にした連携が
中心。ROS外のゲームエンジンや
独自システムと接続するには、変換・
ブリッジ実装が必要。
PDUを共通データモデルとして、ROS
に限らず、ゲームエンジン・物理エンジン・
制御プログラムなどを様々な通信方式で
接続可能。
物理・可視化・制御を分けて、
時刻同期して動かすには、
追加の仕組みが必要。
箱庭コアによる「時刻同期」が
標準機能として組み込まれている。
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/2JVV8256JQ.jpg)

さー、はじめよう！
• REPO：hakoniwa-getting-started
• https://github.com/hakoniwalab/hakoniwa-getting-started
https://www.youtube.com/watch?v=sCWhi5JLmdE
16


