座標系
統合と開発
Wuji Glove は、ロボットの遠隔操作およびヒューマンコンピューターインタラクション研究向けに設計されたインテリジェントデータグローブで、触覚マトリクス、EMF 空間トラッキング、IMU 慣性計測の 3 つのセンサーシステムを搭載しています。ROS エコシステムやロボット制御システムとの統合のため、Wuji Glove の座標系設計は ROS コミュニティ標準の REP-103、REP-120、REP-155 に準拠しています。
本ドキュメントでは、Wuji Glove の座標系の規約、軸方向の定義、およびフレームツリーの構造について説明します。
データストリームとその座標系
「このデータストリームはどの座標系で表現されているのか」を知りたい場合は、まず次の表を参照してください。
| データストリーム | 座標系(frame_id) |
|---|---|
emf_poses(EMF 姿勢) | 手の甲の送信コイル座標系 l_hand_emf_tx / r_hand_emf_tx |
hand_skeleton、tip_poses(骨格 / 指先姿勢) | キャリブレーション済みの手首座標系 l_wrist / r_wrist |
hand_joint_angles(関節角度) | 関節角度の値であり、空間座標系には紐付きません。ヘッダーの frame_id は元の EMF 座標系から引き継がれたもので、ここでは意味を持ちません |
tf_static | 上記の座標系を結ぶ固定変換 wrist → emf_tx および wrist → palm_imu_link を配信します |
各座標系の原点と軸の定義を以下に示します。
座標系の規約
右手の法則
Wuji Glove のすべての座標系は右手座標系(REP-103)に従います。
- 右手を伸ばし、指を X 軸から Y 軸の方向へ曲げたとき、親指が指す方向が Z 軸の方向です
- 回転についても同様で、指を曲げる方向が回転の正方向です
軸の定義
ボディルートノード
REP-155 の人体ルート座標系です。原点は左右の股関節の中点にあります。すべての骨格関節の座標系はこのノードの子ノードです。
| 軸 | 方向 | 説明 |
|---|---|---|
| X | 前方(Anterior) | 人体の正面方向 |
| Y | 左 | 右手の法則 |
| Z | 上方(Superior) | 立位時の鉛直上向き |
手首ノード
腕の運動学的チェーンの末端ノードで、Wuji Glove の基準原点となります。グローブ上のすべてのセンサー座標系はこのノードの下に配置されます。
| 軸 | 方向 | 解剖学的な意味 | T ポーズ時のワールド方向 |
|---|---|---|---|
| X | 橈側 | 尺側から橈側へ(親指の方向) | 左手:前方 右手:前方 |
| Z | 近位 | 骨に沿って遠位から近位へ(手首の場合は手首から肘へ) | 左手:右 右手:左 |
| Y | 右手の法則 | 左手:背側(手の甲) 右手:掌側(手のひら) | 左手:上 右手:下 |
左右の Y 軸のミラーリング:X(橈側)と Z(近位)の定義は両手で同一ですが、右手の法則により Y 軸がミラーリングされます。左手の Y+ は手の甲側、右手の Y+ は手のひら側を向きます。
フレームツリーの構造
全身の座標系階層
Wuji Glove の座標系は REP-155 の人体骨格モデルに従い、ボディルートノードから指先までの完全な運動学的チェーンを定義しています。現在、グローブでは腕のチェーン部分(手首から先)を使用しています。
座標系の定義:
| 座標系 | 定義 |
|---|---|
| world | フレームツリーのルート座標系で、ワールド原点に位置します。X 軸は前方(正面方向)、Z 軸は頭部方向(立位時の上方)を向きます。 |
| waist | 腰の座標系です。胴体と脚をつなぐ中間ノードです。 |
| l_wrist / r_wrist | 左 / 右手首の座標系です。腕の運動学的チェーンの末端ノードで、Wuji Glove の基準原点となります。グローブ上のすべてのセンサー座標系はこのノードの下に配置されます。 |
| l_hand_emf_tx / r_hand_emf_tx | 手の甲の送信コイル座標系で、EMF 空間トラッキングの基準原点となります。 |
| l_palm_imu_link / r_palm_imu_link | 手のひらの IMU 座標系で、姿勢推定に使用されます。 |
world ← Root node
└── waist ← Waist
└── l_wrist / r_wrist ← Wrist ★
├── l_hand_emf_tx / r_hand_emf_tx ← back-of-hand transmitter coil
└── l_palm_imu_link / r_palm_imu_link ← Palm IMU ★ が付いたノードは、グローブが実際にデータを出力する起点となる座標系です。
グローブのセンサー座標系階層
手首ノードの下に、グローブは 2 つの子座標系を持ちます。
- emf_tx:手の甲の送信コイル座標系で、EMF 空間トラッキングの基準原点となります
- palm_imu_link:手のひらの IMU 座標系で、姿勢推定に使用されます
どちらの変換も、親座標系を {l/r}_wrist として、tf_static データストリームで 1Hz で配信されます。
コイル座標系
定義
EMF 空間トラッキングでは 2 種類のコイルを使用します。
- 手の甲の送信コイル:手の甲モジュールの筐体内に収められており、
emf_tx座標系(tf_staticで 1 Hz で配信)に対応し、EMF 空間トラッキングの基準原点となります。 - 指の受信コイル:各指先の筐体に 1 組ずつ内蔵されています(計 5 組)。これらは独立した座標系としては配信されません。位置は EMF 姿勢推定(
emf_poses)によって算出され、emf_tx座標系で出力されます。
いずれの座標系も原点は対応するコイルの幾何学的中心にあり、軸の向きは親座標系と同一です(送信コイルは wrist、受信コイルは対応する指先の座標系に従います)。親座標系に対しては並進成分のみを持ち、回転はありません。
コイルの位置パラメーター
以下の寸法は右手の設計を基準としており、製造公差を考慮して数値を丸めています。装着者から見て、手を自然に開いた状態での値です。
手の甲の送信コイル
| 方向 | 基準 | 距離 | 説明 |
|---|---|---|---|
| Z-(遠位) | 筐体の前端 | 17.3 mm | 指先方向 |
| Z+(近位) | 筐体の後端 | 13.7 mm | 手首方向 |
| X+(橈側) | 筐体の左端 | 15.6 mm | 親指方向 |
| X-(尺側) | 筐体の右端 | 15.4 mm | 小指方向 |
| Y-(手のひら法線) | 筐体の上面 | 9.0 mm | 手の甲の法線に沿って外向き |
指の受信コイル
| 方向 | 基準 | 距離 | 説明 |
|---|---|---|---|
| Z-(遠位) | 筐体の前端 | 9.4 mm | 指先方向 |
| Z+(近位) | 筐体の後端 | 5.9 mm | 手首方向 |
| X(橈側 / 尺側) | 筐体の左端 / 右端 | 各 5.5 mm | 幅方向の中央 |
| Y-(手のひら法線) | 筐体の上面 | 2.9 mm | 指の背の法線に沿って外向き |
「左 / 右」は、親指を完全に伸ばして左に向けた状態で定義しています。左手グローブのデータは右手からミラーリングされ、Y 方向が反転します。
ドキュメント