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
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.6k
Cosmos World Foundation Model Platform for Physical AI
takmin
0
950
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
680
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
630
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
460
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
610
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
270
Context Engineeringの取り組み
nutslove
0
370
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
370
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
150
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
290
Between Models and Reality
mayunak
1
190
Prompt Engineering for Job Search
mfonobong
0
160
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
54
For a Future-Friendly Web
brad_frost
182
10k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.1k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
170
Un-Boring Meetings
codingconduct
0
200
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Navigating Weather and Climate Data
rabernat
0
110
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 ◦