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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
chikuta
May 05, 2021
Technology
1.1k
0
Share
Unity-ROS連携を使ってみた話
chikuta
May 05, 2021
More Decks by chikuta
See All by chikuta
20200217_プリメイドAIをROS対応させたお話.pdf
chikuta
0
1.5k
Gazeboの怖い話
chikuta
0
1.3k
Other Decks in Technology
See All in Technology
20260326_AIDD事例紹介_ULSC.pdf
findy_eventslides
0
480
Kubernetesの「隠れメモリ消費」によるNode共倒れと、Request適正化という処方箋
g0xu
0
170
Babylon.js Japan Activities (2026/4)
limes2018
0
160
ハーネスエンジニアリング×AI適応開発
aictokamiya
3
1.4k
AWS DevOps Agent or Kiro の使いどころを考える_20260402
masakiokuda
0
150
OCI技術資料 : 証明書サービス概要
ocise
1
7.2k
スケーリングを封じられたEC2を救いたい
senseofunity129
0
140
来期の評価で変えようと思っていること 〜AI時代に変わること・変わらないこと〜
estie
0
140
第26回FA設備技術勉強会 - Claude/Claude_codeでデータ分析 -
happysamurai294
0
370
Embeddings : Symfony AI en pratique
lyrixx
0
460
Sansanの認証基盤を支えるアーキテクチャとその振り返り
sansantech
PRO
1
150
自分をひらくと次のチャレンジの敷居が下がる
sudoakiy
5
1.7k
Featured
See All Featured
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
84
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
500
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
210
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
490
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
From π to Pie charts
rasagy
0
160
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
460
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
240
How to Talk to Developers About Accessibility
jct
2
170
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Claude Code のすすめ
schroneko
67
220k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
640
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 ◦