人間の把握に関するこれまでの行動研究は、厳密に制御されたシナリオでの高度に制約された測定に限定されていました。私たちのプロトコルは、複雑な自然主義的な把持行動のはるかに豊富な特徴付けを可能にします。この手法は、複数桁の把持による手の物体接触面の詳細なマップを使用します。
これにより、人間がこれまでにない高度なレベルで物体をつかむ方法を調査することができます。人間の把持能力を正確に測定することは、運動制御、触覚、および人間とコンピュータの相互作用を理解するために必要です。これらのデータは、ロボットグリッパーと上肢義肢の設計に情報を提供できます。
手順を実演するのは、私の研究室で修士論文を完成させる大学院生のキラ・デーンです。まず、ワークスペースを囲むフレームに配置されたモーショントラッキングカメラによって複数の角度から画像化されたトラッキングボリュームを備えたワークベンチを配置します。各マーカーのベースに両面粘着テープを貼り付けて、反射マーカーを準備します。
Qualisys トラック マネージャー (QTM) を管理者として実行します。L字型のキャリブレーションオブジェクトをトラッキングボリューム内に配置します。QTM内で、キャプチャメニューのキャリブレーションをクリックし、キャリブレーションウィンドウが開くのを待ちます。
キャリブレーションの期間を選択し、[OK]を押します。キャリブレーションの間、トラッキングボリューム全体でキャリブレーションワンドを振ってください。Exportボタンを押し、キャリブレーションをテキストファイルとしてエクスポートするファイルパスを指定します。
[OK]を押してキャリブレーションを受け入れます。刺激オブジェクトを作成するには、ポリゴンメッシュの形式で仮想3Dオブジェクトモデルを構築します。3D プリンターを使用して、オブジェクト モデルの物理レプリカを作成します。
刺激オブジェクトを準備するには、実際のオブジェクトの表面に4つの非平面反射マーカーを取り付けます。トラッキングボリューム内にオブジェクトを配置します。プロジェクト リポジトリで、指定された Python スクリプトを実行します。
スクリプトの指示に従って、オブジェクト マーカーの 3D 位置を 1 秒間キャプチャします。リジッド ボディのすべてのマーカーを選択します。右クリックして[リジッド ボディを定義]または[6DOF]、[現在のフレーム]の順に選択します。
リジッド ボディの名前を入力し、[OK]を押します。[ファイル] メニューの [TSV にエクスポート] を選択します。新しいウィンドウで、[データ型]設定の[3D]、[6D]ボックス、および[スケルトン]をオンにします。
[一般]設定のすべてのチェックボックスをオンにします。[OK]を押してから[保存]を押します。Blender を開き、スクリプトワークスペースに移動します。
指定されたファイルを開き、[実行]を押します。レイアウトワークスペースに移動し、N キーを押してサイドバーを切り替えます。サイドバー内で、[カスタム]タブに移動します。
共同登録するobjファイルを選択し、[オブジェクトの読み込み]ボタンを押します。先ほど書き出した軌跡ファイルを選択し、剛体オブジェクトにアタッチされているマーカーの名前をセミコロンで区切って指定します。マーカーヘッダーで、データの列名を含む軌道ファイルの行を指定します。
次に、接尾辞が 6D の対応するリジッド ボディ ファイルを選択し、前の手順で定義したリジッド ボディの名前を指定します。6D ヘッダーで、データの列名を含む剛体ファイルの行を指定します。「マーカーをロード」を押してから、マーカーオブジェクトまたはオブジェクトを移動および回転して整列させます。
メッシュ出力ファイルを指定して[共登録を実行]を押すと、共登録された刺激メッシュを含むobjファイルが出力されます。両面テープを使用して、参加者の手のさまざまなランドマークに24個の球面反射マーカーを取り付けます。人差し指、中指、薬指、小指の遠位指節間関節、近位指節間関節、中手指節関節の指先の中央にマーカーを配置します。
親指の場合は、指先と基底手根中手関節にそれぞれ1つのマーカーを配置し、中手指節関節と指節間関節にそれぞれマーカーのペアを配置します。最後に、手首の中央と舟状舟状関節にマーカーを配置します。参加者に、手のひらを下に向けて作業台に手を平らに置き、目を閉じるように依頼します。
刺激オブジェクトを参加者の前のワークベンチに置きます。QTM の実行中に、プロジェクト リポジトリで指定された Python スクリプトを実行します。参加者に目を開けてもらい、スクリプトの指示に従って、刺激対象をつかんでいる参加者の単一の試行をキャプチャします。
QTM 内で、個々のマーカー軌道を未識別の軌道からラベル付き軌道にドラッグアンドドロップし、命名規則に従ってラベルを付けます。手に接続されているすべてのマーカーを選択し、右クリックして選択範囲から[AIMモデルの生成]を選択します。新しいウィンドウで、[既存のAIMモデルからのマーカー接続に基づいて新しいモデルを作成]を選択し、[次へ]ボタンを押します。
RH_FHモデル定義を選択し、[開く]を押します。[次へ]を押し、AIMモデルの名前を入力して、[OK]を押します。最後に、Finishを押して参加者の手のAIMモデルを作成し、同じ参加者からの連続した試行でマーカーを自動的に識別します。
QTM 内で、歯車アイコンを押してプロジェクト設定を開きます。サイドバーで[スケルトン ソルバー]に移動し、[ロード]を押してスケルトン定義ファイルを選択します。スケール係数を100%に調整し、[適用]を押します。
TSVエクスポートに移動し、[データタイプ]設定の[3D]、[6D]、および[スケルトン]チェックボックスをオンにします。[一般]設定のすべてのチェックボックスをオンにします。[適用] を押して、プロジェクト設定を閉じます。
[再処理]アイコンを押し、[スケルトンを解決してTSVファイルにエクスポート]チェックボックスをオンにして、[OK]を押します。プロジェクトリポジトリでコマンドウィンドウを開き、指定されたコマンドを実行してconda環境をアクティブ化します。次に、指定されたコマンドを実行し、スクリプトの指示に従って、トライアルの各フレームに対して、現在の手のポーズを再構築するハンドメッシュを生成します。
手の物体接触領域の推定については、指定されたコマンドを実行し、スクリプトの指示に従って、手と物体のメッシュの交点を計算して、手と物体の接触領域の推定値を生成します。この研究では、手の異なるランドマークに取り付けられた24個の球面反射マーカーを使用して、把持のダイナミクスを記録しました。ここでは、事前トレーニング済みのディープ ハンド メッシュ デコーダーに対する変更を示します。
まず、ネットワークは特定の参加者に対してトレーニングされていないため、事前トレーニング済みモデルで提供される一般的なID依存メッシュ修正が使用されます。さらに、ID依存のスケルトン修正は、QTMスケルトンソルバーを使用して導出されます。スケルトンの長さに対する手の比例スケーリングが想定され、メッシュの厚さはスケルトンの相対スケーリングから導出される係数によって均一にスケーリングされます。
3D トラッキングされたオブジェクト メッシュと同じ座標フレームでの現在の手のポーズの最終的な 3D ハンド メッシュ再構成が示されています。3Dプリントされた猫の置物に、追跡されたポイントと共同登録されたメッシュがすべて並んで移動する手のビデオが示されています。手と物体の接触時の1つのフレームを、手の物体メッシュの再構成とクロワッサンの表面の推定接触領域とともに。
オブジェクトとそれにアタッチされているマーカーは、適切に共同登録する必要があります。偏差は接触領域の推定値に大きな影響を与える可能性があるため、それらを完全に整列させることが重要です。接触面に加えて、この手順は各指関節の関節オイラー角を提供します。
これらは、複数桁の把持中の手のポーズが時間の経過とともにどのように展開するかを研究するために使用できます。