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
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
320
Create Ruby native extension gem with Go
sue445
0
120
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
1.3k
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
270
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
600
EncryptedSharedPreferences が deprecated になっちゃった!どうしよう! / Oh no! EncryptedSharedPreferences has been deprecated! What should I do?
yanzm
0
480
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
190
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
65k
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3.2k
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
470
はじめてのOSS開発からみえたGo言語の強み
shibukazu
3
950
普通のチームがスクラムを会得するたった一つの冴えたやり方 / the best way to scrum
okamototakuyasr2
0
110
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
40
2k
Statistics for Hackers
jakevdp
799
220k
We Have a Design System, Now What?
morganepeng
53
7.8k
Making Projects Easy
brettharned
117
6.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
Side Projects
sachag
455
43k
Embracing the Ebb and Flow
colly
87
4.8k
It's Worth the Effort
3n
187
28k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
The Language of Interfaces
destraynor
161
25k
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 ◦