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
Foxgloveについて 実際にExtensionを開発して公開するまでの話 / About ...
Search
Ryo Kabutan
July 11, 2026
Technology
370
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Foxgloveについて 実際にExtensionを開発して公開するまでの話 / About Foxglove: The Story of Developing and Releasing an Extension
ROS Japan UG #63 ROS LT大会
Ryo Kabutan
July 11, 2026
More Decks by Ryo Kabutan
See All by Ryo Kabutan
MoveItを使った産業用ロボット向け動作作成方法の紹介 / Introduction to creating motion for industrial robots using MoveIt
ry0_ka
0
990
CoRL2021論文読み会
ry0_ka
0
46
Unity道場 ロボティクス 秋のLT祭り 2021
ry0_ka
0
46
myCobotがある生活
ry0_ka
0
92
MoveItの新機能、OMPL Constrained Planningを試してみた
ry0_ka
0
190
MoveItの新機能、 pilz industrial motionを試してみた
ry0_ka
0
110
MoveIt Day 2019 TrajOpt
ry0_ka
0
120
MoveItで実装されているプランニングアルゴリズムについて
ry0_ka
0
140
Other Decks in Technology
See All in Technology
Flutter × BLE Centralを自前Pluginで実装する設計パターン - MethodChannel / EventChannelで作る双方向ブリッジの実践 / Building Custom Flutter BLE Central Plugins: Bidirectional Bridging with Method & Event Channels
bitkey
PRO
0
250
VLMで2.3万枚のPyCon JP写真を検索!
terapyon
1
450
【GCC2026】大規模言語モデルを活用した内製検索サービスの社内展開や業務活用
bandainamcostudios
PRO
0
520
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
270
AIのためのEthernet技術動向 (SerDes)
markunet
1
310
RelayerというPHPのフレームワークを作った
polidog
PRO
0
130
tamachi.go 誕生の裏側
rymiyamoto
1
200
会社紹介資料 / Sansan Company Profile
sansan33
PRO
24
430k
AI開発に用いられるHPC技術について
gpuunite_official
0
270
AI・HPC開発を支えるGPU環境の新しい選択肢 液冷GPUシステム「AquSys」の取り組み
gpuunite_official
0
230
内製AIチャットボット開発で学んだ Datadog Agent Observability活用術
mkdev10
0
130
Knowledge Catalog を活用したメタデータ自動付与パイプライン構築
supership
0
130
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Producing Creativity
orderedlist
PRO
348
40k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Site-Speed That Sticks
csswizardry
13
1.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Utilizing Notion as your number one productivity tool
mfonobong
4
550
Embracing the Ebb and Flow
colly
88
5.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
300
Transcript
2026.7.11 ROS Japan UG #63 ROS LT⼤会 について 株丹 亮
Kabutan Ryo 実際にExtensionを開発して 公開するまでの話
なぜRvizではなくFoxgloveか Rvizはめっちゃ使いやすいけど、基本的には ROSがインストールされたUbuntuでしか使え ない。FoxgloveはブラウザやWindows/Macで も動作し、環境構築もROS依存なし、インス トーラカチカチで完了。 統合された可視化環境 今のトレンドに則り、データドリブンなロボッ トアプリ開発のための機能も備わっている。特 に⼤量に収集したrosbagデータを
あとからFoxglove単体で可視化して確認できる のが便利。 Foxgloveとは? 簡単に⾔えば、モダンな進化版Rviz 右図がFoxgloveの画⾯表⽰例
オンライン活用 WebSocket (foxglove_bridge) を介して、実⾏中のロボット から直接データを可視化。 Windows機からも容易に接続 可能。 オフライン活用 rosbagデータ の再⽣に対応。
ROS環境未インストール環境 でもブラウザやアプリ上で データを再⽣、解析できる。 拡張性 Rvizのプラグイン機能と 同様、Extensionとして 独⾃の可視化機能を開発 できる。 Typecriptで実装可能。 Foxgloveとは?(詳細) 今回のLTではExtension開発について簡単な事例を⽰しながら説明します。
Rvizの場合: ロボットの⼿先に装着した6軸の⼒覚センサ (Force/Torqueデータ)はgeometry_msgs/WrenchStamped型 で表現できて、右下のように標準で表⽰可能。⾚⾊⽮印がX,Y,Z ⽅向にかかる⼒の合成、⻩⾊⽮印がX,Y,Z軸周りにかかるトルク の合成を意味する。 Foxglove標準: WrenchStamped メッセージを直 接3D空間に描画する機能はない。ちょっとニッチ
なデータ型なため対応していないと思われる。 Extensionを⾃作することで、独⾃の3D可視化パネルを追加してみます。 Extension開発例:WrenchStamped
Extension開発例:WrenchStamped ⼒覚センサ(geometry_msgs/WrenchStamped)を可視化する簡単なパネルを作成しました。 github.com/Ry0/foxglove-wrench-stamped-panel
トピック選択: 複数のセンサがある場合でも、対象トピックをサイド バーから簡単に切り替え可能。 スケール設定: センサの感度に合わせて⽮印の⻑さを調整する倍率設定 機能を搭載。 カラー設定: ⽮印の⾊をカラーピッカーで変更可能。 UIと設定項目の実装 設定値を⼊⼒するために便利なフォームがAPIで提供されているので
簡単に設定画⾯が作れます。
問題発生 残念ながらRvizのようにロボットモデル表⽰パネルと統合す ることができず別パネルの表⽰。 どうしてもRvizのようなトルク表⽰の描画を再現したかった が、標準のロボットモデル表⽰パネルでは、そのような描画 APIは存在せず実装できなかった。 よって TFの値を取得しながら、⼿先の位置を更新しつつ⼒覚 センサの⽮印の描画をThree.js で⾏うようにしている。
ここらへんは豊富なJSの資産が活⽤できた。 Three.js による 3D 可視化
実際に使っている様子 WrenchStamped データが、 強弱に応じた3D⽮印として描画される。 Rvizの可視化結果とも⼀致を確認。
ビルド npm run package でバイナリを⽣成。 GitHub Asset Releaseページにビルド した⽣成物.foxe を配置。
メタデータ整理 公開するときの名称、 説明を決める Extensionを公開する手順 (1) 次のページに詳細 Registryへの登録 公式リポジトリに プルリク
Registryへの登録 Foxglove公式のリポジトリへプルリクエストを送信。 foxglove/extension-registry をフォーク。 extensions.json に今回作ったExtension情報を追記。 PRを作成し、公式の承認を待つ。 Extensionを公開する手順 (2)
Extensionの導入はボタン一つで完了 ⼀度登録が完了すれば、他のユーザーは設定画⾯の拡張機 能⼀覧から選択してインストールをクリックするだけ。 必要になったときに、わざわざビルドする必要がないの が便利! プルリクが承認されると ... ※ 登録しなくてもビルドしたファイルをローカルインストールする方法も提 供されている。
まとめ ご清聴ありがとうございました Foxglove で⼤体の可視化は標準でもできるが、ニッチなものはなんとか⾃分 で対応できる Registry登録 すると⾃分が作ったExtensionがFoxgloveの設定画⾯に出てくる ので、なんか嬉しい