ROSのロボットモデルで
バーチャルロボット受肉する
@chikuta | エンジニア | 2021.10.19
Unity道場 ロボティクス 秋のLT祭り 2021
自己紹介
2
- 学生時代
- 高専ロボコン
- ロボカップSSL (KIKS)
- ロボカップ社会人チーム( OP-AmP)
- 団体の活動は現在休止中
- 現職(とあるメーカー)
- ロボット系研究開発職
- Unityを触る機会が多くなった結果、実機を離れがち
@chikuta Twitter / github
突然ですが、ロボット好きですか?
3
ロボットが好きすぎてロボットになりたい、
なんて思ったことありますよね?
4
5
https://unity.com/ja/solutions/automotive-transportation-manufacturing/robotics
課題の解き方
6
- ROSロボットモデルのインポート
- Unity-Technologies/URDF-Importer で対応
- Inverse Kinematics (IK)
- Unity の Asset で対応 → FinalIK の VRIK とか良いのでは?
- 人の手位置認識
- Google の Meidapipe Pose と積みセンサの RealSense で対応
- ライブデモしながらスライド説明したい
- Unity の Scene 内のテクスチャ切り替えで対応
構成 Before / After
7
Before :
FinalIK を使ってUnityの枠組み内で解決
After:
FinalIK が使えないことに気づき、
いい感じの Asset Store で探して解決
なぜFinalIKが使えなかったのか?
8
- FinalIK はロボットモデル向きの実装ではない
- ゲーム用の軽量なIKを想定しているため、冗長自由度が多いロボットには向かない
- ボーンを使う構成となっているため、ロボット既存モデル( URDF)に適用が難しい
Unityでのボーンの使用例 ROS URDF 構成の例
他のIK手法
9
Pros Cons
FinalIK ◎ WEBに文献多い
◎ 軽量高速
◎ Asset Storeで買える
✖ 多自由度系に向かない
✖ モデルにボーンが入っていること前提
BioIK ◎ URDF対応
◎ EEの回転目標対応
◎ Asset Storeで買える
✖ Unity-URDF−Importer 未対応
 (siemens/urdf-importer に対応)
Jacobian IK ◎ 性能が良い
◎ ロボット工学スタンダード
✖ 趣味で実装はちょっと …
 Levenberg-Marquardt法による可解性を問わない逆運動学
BioIK設定
10
BioIKExtender (補
助
Script)追
加
BioIK追加
指令値を設定
Meidapipe 構成
11
Human pose + Color
Depth Image
手先位置情報
Human pose + Depth
まとめ
12
- バーチャルロボット受肉する方法を紹介
- Unity内のモデルとURDFモデルは違いが大きいため、今までのアプローチが通じない
- RealSense の視野角が狭いため、複数台を用いた構成を検討したほうが良い
- 人っぽく動かすことを考えると、ヤコビ IKに制約条件入れるのが効率的かも?
Q&A
13
Thank you.

ROSのロボットモデルでバーチャルロボット受肉する