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
Unity-ROS連携を使ってみた話
Search
chikuta
May 05, 2021
Technology
0
1.1k
Unity-ROS連携を使ってみた話
chikuta
May 05, 2021
Tweet
Share
More Decks by chikuta
See All by chikuta
20200217_プリメイドAIをROS対応させたお話.pdf
chikuta
0
1.4k
Gazeboの怖い話
chikuta
0
1.3k
Other Decks in Technology
See All in Technology
開発 × 生成AI × コミュニケーション:GENDAの開発現場で感じたコミュニケーションの変化 / GENDA Tech Talk #1
genda
0
110
ロールが細分化された組織でSREと協働するインフラエンジニアは何をするか? / SRE Lounge #18
kossykinto
0
210
「AIと一緒にやる」が当たり前になるまでの奮闘記
kakehashi
PRO
3
110
アカデミーキャンプ 2025 SuuuuuuMMeR「燃えろ!!ロボコン」 / Academy Camp 2025 SuuuuuuMMeR "Burn the Spirit, Robocon!!" DAY 1
ks91
PRO
0
130
UDDのススメ - 拡張版 -
maguroalternative
1
390
Jamf Connect ZTNAとMDMで実現! 金融ベンチャーにおける「デバイストラスト」実例と軌跡 / Kyash Device Trust
rela1470
0
180
Amazon Bedrock AgentCoreのフロントエンドを探す旅 (Next.js編)
kmiya84377
1
140
MCP認可の現在地と自律型エージェント対応に向けた課題 / MCP Authorization Today and Challenges to Support Autonomous Agents
yokawasa
5
2.1k
2025新卒研修・HTML/CSS #弁護士ドットコム
bengo4com
3
13k
SRE新規立ち上げ! Hubbleインフラのこれまでと展望
katsuya0515
0
180
マルチモーダル基盤モデルに基づく動画と音の解析技術
lycorptech_jp
PRO
5
570
Intro to Software Startups: Spring 2025
arnabdotorg
0
230
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
8
550
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
GitHub's CSS Performance
jonrohan
1031
460k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
880
Statistics for Hackers
jakevdp
799
220k
Navigating Team Friction
lara
188
15k
Faster Mobile Websites
deanohume
308
31k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
How GitHub (no longer) Works
holman
314
140k
A better future with KSS
kneath
239
17k
Music & Morning Musume
bryan
46
6.7k
Transcript
Unity - ROS 連携 を試してみた話 2021/05/05 ROS Japan UG #42
LT大会 @chikuta
Who ? • 経歴 高専ロボコン → ロボカップSSL (KIKS) → ロボカップ社会人チーム
(OP-AmP) → 団体の活動は現在休止中 • JTC ロボット系研究開発職 • ROS、RTM チョットデキル @chikuta Twitter / github
2020/11 某日
https://unity.com/ja/solutions/automotive-transportation-manufacturing/robotics
https://unity.com/ja/solutions/automotive-transportation-manufacturing/robotics 🤔 自由度が少ないのでは? 🤔 本当に使えるの? ロボティクス系エンジニアならヒューマノイドで試してみるしかないですよね!
https://gitlab.com/nasa-jsc-robotics/val_description ※ モデルを修正する必要あり。素のままはエラーがでます。 80 link 手軽に使えるヒューマノイドロボットモデルでお馴染みの valkyrie 先生を利用 NASA Valkyrie
Unity にモデルを読み込む チュートリアル通りにやればできる! やっぱりUnityは初心者にも優しい!! 基本はチュートリアルを参考 1. xacro コマンドを使って valkyrie_description の
統合されたモデルを作成 2. Unity Project の Assets フォルダにコピー 3. Unity URDF Importer で読み込み
って思うじゃないですか?
実行してみな、飛ぶぞ。 Error Message: The maximum limit of ArticulationBody hierarchy size
is reached: hierarchy of articulations can't have more than 64 ArticulationBody nodes! 物理演算に使用されている ArticulationBody は64個以下の node tree しか対応していない
原因と対策 原因 • 2020年に Unity の Forum でも報告されている問題 ◦ PhysX
4 は ArticulationBody node tree 数 64 (2^6) が最大数 ◦ Valkyrie は 80 ArticulationBody あるモデル。→ 途中で物理演算がされなくなる。 対策 • Rigidbody を間に挟んで node tree を分割する
修正方針 とにかくLINK数の多い右左のハンドを切り離して別 node tree 化
node tree 分割 物理演算の特性が変わるので注意が必要(根本的な対応方法は存在しない) ② 別 node 化する link を
root link 外に移動 ③ connector を作成して Rigidbody を追加 このとき、mass は小さめに程度にする ④ FixedJoint を2つ使って移動したリンクを接続 ① 接続するための dummy link を作成 (ここでは、rightWristConector)
物理演算の高精度化 Edit > Project Settings > Physics • Default Solver
Iterations 6 → 100 • Default Velocity Solver Iterations 1 → 50
修正結果
外部からの制御対応 • それっぽい位置制御用の UnityScriptを作成 • ROS-TCP-Connector と ROS-TCP-Endpoint を用いてROSとUnityを接続
所感 -ロボット開発でUnityを使う旨味- • 多リンク(64 ArticulationBody以上)のロボットを使用する場合、モデル更新毎に UnityProjectを修正しな いといけないため、メンテナンスコストが非常に高い • ROS-Unity接続を提供するUtility(ROS-TCP-Connector &
ROS-TCP-Endpoint)の 破壊的変更が定期的に発生するため、アップデートには注意が必要 • 物理演算に特化するなら Bullet / MuJoCo、ROSとの結合に特化するなら gazebo / Ignition という競合 があるので使いどころが非常に難しい。外界認識センサを使うシミュレーション用途かソフトウェアの結合 試験用途が最適?
発表したサンプル置き場 READMEが整備されていません。整備しますので少々お待ちください。 • Unity Project (valkyrie_unity) ◦ https://github.com/chikuta/valkyrie_unity • ROS-Unity-Connector
(val_ros_unity_demo) ◦ https://github.com/chikuta/val_ros_unity_demo • unity docker 連携 ◦ https://github.com/chikuta/chikuta-dockerfile ◦