hakoniwa-getting-started

-- Views

June 11, 26

スライド概要

箱庭 Getting Started — ロボットシミュレーションの入口、作りました。

「箱庭って何?」「どこから始めればいいの?」——そんな声に応えるために作ったのが、この資料です。

箱庭は、MuJoCo(物理シミュレーション)・Godot(ゲームエンジン)・Python/C++/GDScript(プログラミング)・ROS資産(URDF/ROS IDL)を、箱庭PDUと時刻同期でつなぐ水平統合プラットフォームです。特定のベンダや技術に縛られず、好きな言語・好きなエンジンで分散シミュレーション環境を作れることを目指しています。

でも正直、リポジトリが多くて「どこから手をつければ?」ってなりますよね。この資料では、代表的なユースケースをベースに最低限これだけ知ればOKな構成要素を厳選して紹介しています。

ロボット初学者の方も、ROSユーザーの方も、エンジニアの方も、まずはこれを見てください。そして最後のスライドにあるREPOとYouTube動画で、実際に手を動かしてみてください。

箱庭の扉、開いてます。

profile-image

TOPPERS/箱庭WG活動でUnityやらAthrillやらmROSやら触ってます。 最近は仕事の関係でWeb系の技術に注力しつつ、箱庭への転用を模索しています。 2023年8月1日:合同会社箱庭ラボに移動しました

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

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

2.

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

3.

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

4.

さらに具体的には、、、 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

5.

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

6.

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

7.

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

8.

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

9.

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

10.

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

14.

箱庭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

15.

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

16.

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