JP6493013B2 - 指モデル検証プログラム、指モデル検証方法、および情報処理装置 - Google Patents

指モデル検証プログラム、指モデル検証方法、および情報処理装置 Download PDF

Info

Publication number
JP6493013B2
JP6493013B2 JP2015127866A JP2015127866A JP6493013B2 JP 6493013 B2 JP6493013 B2 JP 6493013B2 JP 2015127866 A JP2015127866 A JP 2015127866A JP 2015127866 A JP2015127866 A JP 2015127866A JP 6493013 B2 JP6493013 B2 JP 6493013B2
Authority
JP
Japan
Prior art keywords
combination
finger
rectangular parallelepiped
simulation space
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015127866A
Other languages
English (en)
Other versions
JP2017010447A (ja
Inventor
翔太 田中
翔太 田中
野崎 直行
直行 野崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015127866A priority Critical patent/JP6493013B2/ja
Priority to US15/163,043 priority patent/US10379620B2/en
Publication of JP2017010447A publication Critical patent/JP2017010447A/ja
Application granted granted Critical
Publication of JP6493013B2 publication Critical patent/JP6493013B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、指モデル検証プログラム、指モデル検証方法、および情報処理装置に関する。
従来、人体や物体などを3次元のシミュレーション空間に再現する技術が公知である。また、シミュレーション空間において模擬された人体や物体をマウスなどの入力装置によって操作することも公知である。そのため、シミュレーション空間において人体が物体に対して行う作業を模擬可能である。例えば、物体の組立や分解などの作業手順の検証をシミュレーション空間上において行う技術が公知である。
また、従来、ロボットハンドによる部品の把持パターンを生成する技術が公知である(例えば、以下特許文献1,2参照。)。
また、従来、3次元モデルの把持処理において、把持ツールから光線あるいは弾を発射し、3次元モデルに衝突した場合に、衝突した3次元モデルを把持対象モデルとして選択する技術が公知である(例えば、以下特許文献3参照。)。
特開2014−240106号公報 特開2009−172685号公報 特開2001−325611号公報
しかしながら、従来、実際に腕を伸ばして部品を持つような状態をシミュレーション空間において再現させることが困難である。例えば、マウス操作によって再現させる場合、シミュレーション空間は3次元空間であるのに対してマウス操作は平面操作であるため、再現に時間がかかる。また、例えば、関節が多いと、各関節の関節値を設定する作業などに時間がかかる。
1つの側面では、本発明は、腕モデルに対応して対象部品を持つことを検証することができる指モデル検証プログラム、指モデル検証方法、および情報処理装置を提供することを目的とする。
本発明の一側面によれば、シミュレーション空間において模擬した複数の部品のうちの、前記シミュレーション空間において模擬した人体が持つ対象部品を囲う直方体であり、前記対象部品の最大外形に接触する各面を有する直方体を前記シミュレーション空間において生成し、生成した前記直方体が有する前記各面のうち、前記複数の部品のうちの前記対象部品と異なる部品に、接触する面以外の面を特定し、特定した前記面の組み合わせのうち、前記人体に含まれる2本の指によって前記組み合わせの2つの面を持つ際の前記2本の指のうちの第1指の点から第2指の点までのベクトルが前記直方体を貫通する組み合わせを特定する指モデル検証プログラム、指モデル検証方法、および情報処理装置が提案される。
本発明の一態様によれば、腕モデルに対応して対象部品を持つことを検証することができる。
図1は、本発明にかかる情報処理装置による一動作例を示す説明図である。 図2は、マウス操作による連動動作例を示す説明図である。 図3は、3D入力デバイスによる連動動作例を示す説明図である。 図4は、情報処理装置の一例を示す説明図である。 図5は、情報処理装置のハードウェア構成例を示す説明図である。 図6は、情報処理装置の機能的構成例を示すブロック図である。 図7は、物体情報例を示す説明図である。 図8は、部品例を示す説明図(その1)である。 図9は、部品例を示す説明図(その2)である。 図10は、腕モデル情報例を示す説明図である。 図11は、関節j1例を示す説明図である。 図12は、関節j2例を示す説明図である。 図13は、関節j3例を示す説明図である。 図14は、関節j4例を示す説明図である。 図15は、対象部品の選択例を示す説明図である。 図16は、バウンディングボックスおよび面の組み合わせ例を示す説明図である。 図17は、対象面の決定例を示す説明図(その1)である。 図18は、対象面の決定例を示す説明図(その2)である。 図19は、2本の指によって対象部品を持つ例を示す説明図である。 図20は、情報処理装置が行う処理手順例を示すフローチャートである。 図21は、図20で示した対象部品の選択処理の詳細な説明を示すフローチャートである。 図22は、図20で示した第1特定処理の詳細な説明を示すフローチャートである。 図23は、図20で示した第2特定処理の詳細な説明を示すフローチャートである。
以下に添付図面を参照して、本発明にかかる指モデル検証プログラム、指モデル検証方法、および情報処理装置の実施の形態を詳細に説明する。
図1は、本発明にかかる情報処理装置による一動作例を示す説明図である。情報処理装置100は、物体Mgに関する作業手順の検証を行うコンピュータである。また、情報処理装置100は、3次元CAD(Computer Aided Design)を実行するコンピュータである。また、情報処理装置100は、指モデル検証プログラムを実行することによって指モデル検証方法を実現するコンピュータである。
ここで、シミュレーション空間101とは、コンピュータ上でシミュレーションされる仮想的な3次元空間である。具体的には、例えば、シミュレーション空間101は、3次元の物体Mgの設計や物体Mgに関する作業手順の検証を行うための3次元CADによって情報処理装置100内に仮想的に設定された空間である。シミュレーション空間101には、例えば、X軸とY軸とZ軸とを有する3次元の直交座標系が定義される。物体Mgは、例えば、製品などであり、特に限定しない。
従来、上述したように、人体や物体Mgなどを3次元のシミュレーション空間101に再現することができる。また、シミュレーション空間101において模擬された人体や物体をマウスなどの入力装置によって操作することもできる。このため、シミュレーション空間101においては、人体が物体Mgに対して行う作業を模擬可能である。例えば、製造業においては、人体による製品の組立や分解などの作業を模擬することができ、作業手順の検証をシミュレーション空間101上において行うことができる。例えば、シミュレーション空間において、腕や指と製品との干渉の有無の確認や、腕や指の稼働領域が適切に確保されているかなどの確認を行うことができる。ここで、シミュレーション空間101において模擬された製品、部品、人体、人体のパーツなどの各々をモデルとも称する。
本実施の形態では、シミュレーション空間101において模擬された腕と手の甲と指とを組み合わせた人体のパーツを腕amとする。腕amが物体Mgに含まれる部品を持つ動作について、腕amの進入方向や各関節の状態などの様々なパターンによって検証することは、困難である。腕amの進入方向とは、腕amが物体Mgに含まれる部品を持つために進入する方向である。持つ動作とは、掴む動作、抓む動作、把持する動作などが挙げられる。具体的に、例えば、実際に腕を伸ばして部品を掴むときや抓むときのように、対象部品に向かう際に腕amに含まれる各関節や腕amの姿勢が大幅に変更されないような状態を再現するには、時間がかかるという問題点がある。本実施の形態では、腕amに含まれる各関節や腕amの姿勢が大幅に変更されないような状態を自然な状態とも称する。
例えば、マウス操作によって行う場合、マウス操作は後述する図2に示すように平面上の動きであるため、3次元のシミュレーション空間101において腕amを部品に近づけたり、各関節を直感的に操作することは困難である。また、シミュレーション空間101上に動作を直接再現可能な3次元入力デバイスは存在するが、操作が複雑であったり、高価であるため、実用的でないという問題点がある。
本実施の形態では、情報処理装置100は、シミュレーション空間101において対象部品の直方体の他部品に接触しない面の組み合わせのうち、2本の指の間のベクトルが該直方体を貫通する組み合わせを特定する。これにより、入力デバイスの単純な操作のみによって、自然な状態のままで対象部品を持つことを検証することができる。
まず、情報処理装置100は、シミュレーション空間101において模擬した複数の部品のうちの対象部品を囲う直方体であり、対象部品の最大外形に各面が接触する直方体をシミュレーション空間101において生成する。図1の例では、物体Mgは部品pa1と部品pa2とを有する。対象部品は、例えば、部品pa2である。直方体は6つの面を有する。直方体は対象部品を枠取りしたものであり、直方体は対象部品を模して簡略化したものである。直方体の6つの面の各々は、対象部品の最大外形に接触する。ここで、直方体は、「バウンディングボックス」とも称する。バウンディングボックスbbは、面S1〜S6を有する。面S1〜S6は、それぞれ対象部品の最大外形に接触する。バウンディングボックスbbにおいて対向する面の組み合わせはC1〜C3である。具体的に、情報処理装置100は、例えば、部品の位置や部品の形状などを特定可能な部品情報に基づいて、シミュレーション空間101において物体Mgに含まれる複数の部品を配置することができる。
具体的に、情報処理装置100は、例えば、バウンディングボックスbbが有する6つの面の頂点などの情報を有する直方体情報を生成する。そして、情報処理装置100は、生成した直方体情報に基づいて、シミュレーション空間101にバウンディングボックスbbを配置する。
つぎに、情報処理装置100は、バウンディングボックスbbの面のうち、複数の部品のうちの対象部品と異なる部品に接触する面以外の面を特定する。ここでは、面S5が部品pa2と接触するため、情報処理装置100は、面S1〜面S6のうち面S5以外の面を特定する。また、情報処理装置100は、面S5と対向する面S2についても特定する面から除外してもよい。
情報処理装置100は、特定した面の組み合わせのうち、人体に含まれる2本の指によって組み合わせの2つの面を持つ際の2本の指のうちの第1指の点から第2指の点までのベクトルが直方体を貫通する組み合わせを特定する。図1の例では、特定した面の組み合わせは、特定した面のうち対向する面の組み合わせである。また、特定した面の組み合わせは、2本の指によって持つ対象面の組み合わせ候補である。ここで、2本の指によって持つ対象面を省略して対象面とも称する。図1の例では、組み合わせ候補は、面S1と面S4との組み合わせC1と、面S3と面S6との組み合わせC3と、である。
2本の指は、模した人体に含まれる手の指である。第1指は、例えば、親指である。これにより、対象部品を持つ際に使用する可能性が高い指によって検証することができる。第1指の点は、例えば、親指の腹の中心点である。第2指は、例えば、人差し指である。第2指の点は、例えば、人差し指の腹の中心点である。
情報処理装置100は、例えば、組み合わせ候補の一方の面の中央に、第1指の点を配置した場合の第1指の点から第2指の点までのベクトルPを導出する。ここでは、例えば、組み合わせC1では一方の面が面S1であり、組み合わせC3では一方の面が面S3である。図1の例では、情報処理装置100は、組み合わせC1の面S1に親指の点を配置した場合におけるベクトルPを導出する。図1の例では、情報処理装置100は、組み合わせC3の面S3に親指の点を配置した場合におけるベクトルPを導出する。
また、一方の面は、例えば、組み合わせ候補の面のうち腕amの進入方向から見た場合に見える面であってもよい。これにより、腕amの向きなどを変更することなく腕amによって対象部品を持つ状態を検証することができる。一方の面が見える面である場合、例えば、組み合わせC1では一方の面が面S1であり、組み合わせC3では一方の面が面S6である。
親指と、親指以外の指と、の2本の指によって自然な状態のままで物体Mgを持つためには、親指の配置が支配的である。このため、情報処理装置100が親指の位置を決定して対象面を決定することにより、より自然な状態のままで部品を持つことを再現することができる。
そして、情報処理装置100は、組み合わせ候補のうち、導出したベクトルPがバウンディングボックスbbを貫通する組み合わせを、対象面の組み合わせとして特定する。図1の例では、情報処理装置100は、組み合わせC1を、対象部品を持つ2つの対象面の組み合わせとして特定する。
このように、バウンディングボックスbbによって簡単に2本の指によって対象部品を持つことが可能であるか否かを判別することができる。これにより、シミュレーション空間における現状の腕や指の状態から大きく変更せずに、対象部品を持つことが可能な面を対象面として特定することができる。したがって、より自然な状態のままで対象部品を2本の指によって持つことを検証することができる。
図2は、マウス操作による連動動作例を示す説明図である。例えば、利用者がマウス操作によってシミュレーション空間101上において腕を対象部品に移動させることにより腕が対象部品を持つ動作を再現する。しかし、マウスは平面上の動きしかできないため、腕を部品に近づける際に、決められた方向において持つ動作しか再現できない。より具体的には、対象部品と腕との相対位置をマウス操作によって変更することが可能であるが、対象部品と腕との相対姿勢を変更することが困難である。
また、腕や指には多くの関節があるため、各関節の関節値を操作しながら、各部品を掴むまたは抓むという動作を様々な関節値や腕の進入方向などの様々なパターンにおいて検証するには時間がかかるという問題点がある。
図3は、3D入力デバイスによる連動動作例を示す説明図である。3D(Dimensional)入力デバイスは、3次元のシミュレーション空間101において模擬された物体や人体の位置や姿勢を検出可能である。
図4は、情報処理装置の一例を示す説明図である。本実施の形態では、利用者は、ディスプレイに表示されるシミュレーション空間101に模擬された腕amを3D入力デバイスにより操作することにより、シミュレーション空間101に模擬された物体Mgに対する腕amによる作業を検証する。
(情報処理装置100のハードウェア構成例)
図5は、情報処理装置のハードウェア構成例を示す説明図である。情報処理装置100は、CPU(Central Processing Unit)501と、ROM(Read Only Memory)502と、RAM(Random Access Memory)503と、を有する。情報処理装置100は、ディスクドライブ504と、ディスク505と、I/F(Inter/Face)506と、キーボード507と、マウス508と、ディスプレイ509と、3D入力デバイス511と、を有する。また、CPU501と、ROM502と、RAM503と、ディスクドライブ504と、I/F506と、キーボード507と、マウス508と、ディスプレイ509とは、バス500によってそれぞれ接続される。
ここで、CPU501は、情報処理装置100の全体の制御を司る。ROM502は、ブートプログラムなどのプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。ディスクドライブ504は、CPU501の制御にしたがってディスク505に対するデータのリード/ライトを制御する。ディスク505は、ディスクドライブ504の制御で書き込まれたデータを記憶する。ディスク505としては、磁気ディスク、光ディスクなどが挙げられる。
I/F506は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク510に接続され、このネットワーク510を介して他の装置に接続される。そして、I/F506は、ネットワーク510と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F506には、例えばモデムやLANアダプタなどを採用することができる。
キーボード507やマウス508は、利用者の操作により、各種データの入力を行うインターフェースである。ディスプレイ509は、CPU501の指示により、データを出力するインターフェースである。
また、3D入力デバイス511は、利用者の操作により、各種データの入力を行うインターフェースである。3D入力デバイス511の操作とシミュレーション空間101における腕amの位置および姿勢との連動設定が行われる。これにより、図3に示したように、利用者の操作による3D入力デバイス511の向きの変更に応じて腕amの位置や姿勢を変更することが可能となる。
また、図示を省略するが、情報処理装置100には、カメラから画像や動画を取り込む入力装置やマイクから音声を取り込む入力装置が設けられていてもよい。また、図示を省略するが、情報処理装置100には、プリンタなどの出力装置が設けられていてもよい。
また、本実施の形態では、情報処理装置100のハードウェア構成として、パーソナル・コンピュータを例に挙げているが、これに限らず、サーバなどであってもよい。情報処理装置100がサーバである場合、情報処理装置100と利用者の操作可能な装置やディスプレイ509などがネットワーク510を介して接続されてもよい。
(情報処理装置100の機能的構成例)
図6は、情報処理装置の機能的構成例を示すブロック図である。情報処理装置100は、入力受付部601と、選択部602と、生成部603と、第1特定部604と、第2特定部605と、設定部606と、表示部607と、記憶部610と、を有する。入力受付部601から表示部607までの制御部の処理は、例えば、図5に示すCPU501がアクセス可能なROM502、RAM503、ディスク505などの記憶部610に記憶されたプログラムにコーディングされる。そして、CPU501が記憶部610から該プログラムを読み出して、プログラムにコーディングされた処理を実行する。これにより、制御部の処理が実現される。また、制御部の処理結果は、例えば、RAM503、ROM502、ディスク505などの記憶部610に記憶される。また、制御部は、ネットワーク510を介して取得した情報を記憶部610に記憶してもよい。また、情報処理装置100は、3次元CADを実行する。
記憶部610は、例えば、物体情報611と、腕モデル情報612と、を記憶する。物体情報611は、シミュレーション空間101に模擬される物体Mgに含まれる複数の部品の各々に関する情報である。物体情報611の簡単な例は、図7〜図9に示す。腕モデル情報612は、シミュレーション空間101に模擬される腕amの姿勢や位置、腕が有する各関節に関する情報である。腕モデル情報612と関節との簡単な例は、図10〜図14に示す。
図7は、物体情報例を示す説明図である。物体情報611は、例えば、シミュレーション空間101に配置される物体Mgに含まれる複数の部品の各々についての位置と寸法とを含む。
物体情報611は、例えば、部品、最小値、寸法のフィールドを有する。各フィールドに情報が設定されることにより部品情報(例えば、701−1,701−2など)が記憶される。
部品のフィールドには、部品を一意に特定可能な識別情報が設定される。最小値のフィールドには、シミュレーション空間101における部品の位置であり、各軸における最小の座標値が設定される。寸法のフィールドには、最小値から各座標軸の正の方向を基準とした距離が設定される。
図8および図9は、部品例を示す説明図である。図8および図9に示す通り、シミュレーション空間101上に模擬される物体Mgは、部品p1と部品p2とを有する。
図8に示す部品p1は、例えば、図7に示す部品情報701−1によれば、最小値がX,Y,Zの順に「−204」,「9.6」,「−143」である。図8に示す部品p1は、例えば、図7に示す部品情報701−1によれば、寸法がX,Y,Zの方向の順に、「408」,「3.1」,「508」である。寸法の単位は[mm]である。
図9に示す部品p2は、例えば、図7に示す部品情報701−2によれば、最小値がX,Y,Zの順に「−15.0」,「9.6」,「−303.0」である。図9に示す部品p2は、例えば、図7に示す部品情報701−2によれば、寸法がX,Y,Zの順に「15.5」,「51.7」,「23.0」である。
図10は、腕モデル情報例を示す説明図である。腕モデル情報612は、例えば、腕、姿勢、位置、関節、関節値の最小値、関節値の最大値、関節値の設定値などのフィールドを有する。各フィールドに情報が設定されることにより、関節情報(1001−1など)として記憶される。腕、位置、姿勢のフィールドに設定される値は関節情報1001間において共通である。また、図示省略するが、腕モデル情報612は、腕amの各サイズに関する情報を有する。腕amのモデルのサイズは、例えば、成人の腕amの平均値などによって定められる。
腕amのフィールドには、腕amを一意に特定可能な識別情報が設定される。姿勢のフィールドには、シミュレーション空間101に定義されたX,Y,Z軸に対して腕amのモデルに定義されたX,Y,Z軸の回転度が設置される。姿勢に設定される値の単位は、[度]である。位置のフィールドには、シミュレーション空間101に定義されたX,Y,Z軸における腕amのひじなどの重心の位置を示す座標値が設定される。シミュレーション空間101に定義された座標系は、グローバル座標系であり、腕amのモデルに定義された座標系は、ローカル座標系である。3D入力デバイス511などによって位置や姿勢の変更が入力されると、姿勢や位置のフィールドの値が変更される。
関節のフィールドには、関節を一意に特定可能な識別情報が設定される。最小値のフィールドには、関節値の最小値が設定される。関節値の単位は[度]である。最大値のフィールドには、関節値の最大値が設定される。設定値のフィールドには、表示される腕amモデルの関節値が設定される。
図11は、関節j1例を示す説明図である。図11に示す関節j1は人差し指の第3関節である。図11の左側には、関節j1の関節値が最小値の例を示し、図11の右側には、関節j1の関節値が最大値の例を示す。図10に示す関節情報1001−1によれば、関節j1の関節値の最小値は「0」であり、関節j1の関節値の最大値は「60」である。
図12は、関節j2例を示す説明図である。図12に示す関節j2は人差し指の第2関節である。図12の左側には、関節j2の関節値が最小値の例を示し、図12の右側には、関節j2の関節値が最大値の例を示す。図10に示す関節情報1001−2によれば、関節j2の関節値の最小値は「0」であり、関節j2の関節値の最大値は「90」である。
図13は、関節j3例を示す説明図である。図13に示す関節j3は人差し指の第1関節である。図13の左側には、関節j3の関節値が最小値の例を示し、図13の右側には、関節j3の関節値が最大値の例を示す。図10に示す関節情報1001−3によれば、関節j3の関節値の最小値は「0」であり、関節j3の関節値の最大値は「90」である。
図14は、関節j4例を示す説明図である。図14に示す関節j4は親指の第2関節である。図14の左側には、関節j4の関節値が最小値の例を示し、図14の右側には、関節j4の関節値が最大値の例を示す。図10に示す関節情報1001−4によれば、関節j4の関節値の最小値は「0」であり、関節j4の関節値の最大値は「90」である。
入力受付部601は、例えば、3D入力デバイス511の操作による入力を受け付ける。これにより、入力受付部601は、例えば、シミュレーション空間101において模擬された腕amの姿勢の変更、腕amに含まれる指の各関節の関節値の変更、腕amの位置の変更を受け付ける。
設定部606は、入力受付部601によって受け付けられた姿勢や位置の変更入力に応じて腕モデル情報612を変更する。
まず、選択部602は、シミュレーション空間101において腕amが持つ対象部品を選択する。より具体的に、選択部602は、例えば、シミュレーション空間101において模擬された複数の部品のうち、シミュレーション空間101において模擬された腕amの進入方向にある部品のうち腕amから最も近くにある部品を対象部品として選択する。
図15は、対象部品の選択例を示す説明図である。図15の例では、模擬される人体は腕amから指先までの部位である。
選択部602は、物体Mgに含まれる部品p1と部品p2とのうち、腕amの進入方向にある部品p2を腕amが持つ対象部品として選択する。
つぎに、図6に示す生成部603は、シミュレーション空間101においてバウンディングボックスbbを生成する。バウンディングボックスbbは、シミュレーション空間101において模擬した複数の部品のうちの持つ対象部品を囲う直方体であって、対象部品の最大外形と各面が接触する直方体である。具体的に、生成部603は、例えば、物体情報611に含まれる対象部品についての部品情報701に含まれる各座標軸の最小値と寸法とによって、各面が対象部品の最大外形に接触するバウンディングボックスbbを生成することができる。
そして、生成部603は、例えば、最大外形に接触する各面を有するバウンディングボックスbbを示す直方体情報を生成する。直方体情報は、例えば、バウンディングボックスbbが有する面の各々についての頂点の座標値を有する情報であってもよい。情報処理装置100は、3次元CADを実行しているため、3次元CADによって直方体情報を読み込むことによりシミュレーション空間101において直方体情報が示すバウンディングボックスbbを生成することができる。
つぎに、第1特定部604は、生成したバウンディングボックスbbの面のうち、複数の部品のうちの対象部品と異なる部品に接触する面以外の面を特定する。対象部品と異なる部品に接触する面とは、例えば、異なる部品に一部が接触する面であってもよい。一部が接触する面とは、例えば、所定割合以上接触する面であってもよい。所定割合は、例えば、模擬した指の面積や部品のサイズなどに基づいて定められてもよいし、利用者によって定められてもよい。
図16は、バウンディングボックスおよび面の組み合わせ例を示す説明図である。面S3が対象部品と異なる部品p1と接触するため、第1特定部604は、面S3以外の面を特定する。
また、バウンディングボックスbbの面の組み合わせのうち、少なくとも一方の面が他の部品に接触する組み合わせ以外の組み合わせを、対象面の組み合わせ候補として特定する。これにより、他の部品との位置関係により持つことができない面の組み合わせを除外することができ、より自然に2本の指によって部品を持つ状態を再現することが可能となる。
面の組み合わせは、例えば、15通りである。隣り合う2つの面であっても部品の材質や形状によっては、2本の指によって自然な状態で持つことが可能である。上述したように面S3が対象部品と異なる部品p1と接触するため、第1特定部604は、面S3を含む組み合わせ以外の組み合わせを組み合わせ候補として特定する。ここでは、第1特定部604は、例えば、組み合わせ候補として、10通りの組み合わせを特定する。
また、第1特定部604は、例えば、バウンディングボックスbbの対向する面の組み合わせのうち、一方の面が他の部品に接触する組み合わせ以外の組み合わせを、対象面の組み合わせ候補として特定する。例えば、対象部品が重い場合や対象部品の材質が滑り易い場合であっても、面の組み合わせが対向する2つの面であれば、隣り合う面の組み合わせと比較して正確に持つことができる可能性が高い。そのため、第1特定部604が、面の組み合わせを対向する面の組み合わせに限定して組み合わせ候補を特定することによって、少ない組み合わせ候補から2つの対象面を特定でき、処理の高速化を図ることができる。
図16の例では、対向する面の組み合わせはC1〜C3まである。組み合わせC3については、面S3が対象部品と異なる部品p1と接触するため、第1特定部604は、組み合わせC3を組み合わせ候補から除外する。そのため、組み合わせC1と組み合わせC2とが組み合わせ候補となる。
また、対向する面の組み合わせに限定するか否かについては、物体Mgのサイズ、想定する物体Mgの材質や重さなどに応じて利用者が選択可能としてもよい。図16以降では、組み合わせ候補を対向する面の組み合わせに限定した例を用いて説明する。
また、第1特定部604は、特定した組み合わせ候補のうち、組み合わせ候補の2つの面間の距離が閾値以上である組み合わせ候補を除外する。閾値は、例えば、2本の指を広げた場合の2本の指の指先間の長さに基づいて設定された値である。これにより、面間が長いことによって持つことが困難な面の組み合わせを除外することができ、より自然な状態によって持つことを再現することが可能となる。図16の例では、閾値以上である組み合わせ候補はない。
つぎに、図6に示す第2特定部605は、特定した面の組み合わせ候補のうち2本の指によって組み合わせ候補の面を持つ際の2本の指のうちの第1指の点から第2指の点までのベクトルが直方体を貫通する組み合わせ候補を特定する。2本の指は、シミュレーション空間101において模擬された人体に含まれる。
図17は、対象面の決定例を示す説明図(その1)である。第2特定部605は、組み合わせ候補の各々について、一方の面の中央点に第1指の点を配置した場合に第1指の点から第2指の点までのベクトルを算出する。より具体的に、第2特定部605は、例えば、一方の面の中央に第1指の点を配置する。また、一方の面は、例えば、組み合わせ候補の2つの面のうち、腕amの進入方向から見た場合に見える面である。両方見える場合、第2特定部605は、各面について第1指の点を配置した場合についてベクトルPを導出してもよい。
そして、第2特定部605は、組み合わせ候補のうち、算出したベクトルPがバウンディングボックスbbを貫通する組み合わせ候補を特定する。また、第1指は、例えば親指であり、第2指は、例えば人差し指である。これにより、より自然な状態によって2本の指が対象部品を持つことを想定することが可能である。
図17(a)の例では、組み合わせC1の一方の面に親指の点を配置した場合におけるベクトルPを示す。このベクトルPはバウンディングボックスbbを貫通しない。図17(b)の例では、組み合わせC2の一方の面に親指の点を配置した場合におけるベクトルPを示す。このベクトルPはバウンディングボックスbbを貫通する。このため、図17の例では、第2特定部605は、組み合わせC2の2つの面を、2本の指によって持つ対象面として特定する。
図18は、対象面の決定例を示す説明図(その2)である。図18の例では、いずれの組み合わせ候補についてのベクトルPはバウンディングボックスbbを貫通する。このような場合、第2特定部605は、組み合わせ候補の各々について、親指の点から人差し指の点までのベクトルPを、親指が配置された一方の面の中央点と他方の面の中央点とを結ぶベクトルに回転させた場合の回転量を算出する。回転量は、例えば、当該ベクトルとベクトルPとの間のなす角の角度である。回転量は、例えば、回転行列によって算出することが可能であり、回転行列に含まれるθである。そして、第2特定部605は、組み合わせ候補のうち、回転量が小さい組み合わせ候補を対象面の組み合わせとして特定する。図18に示すように、回転量が多いと、腕amの姿勢を変更する量が多くなるため、自然な状態でなくなる。そのため、第2特定部605は、回転量が小さい組み合わせ候補が2本の指によって持つ対象面の組み合わせとして特定されることにより、より自然な状態において対象部品を持つことを再現することができる。
設定部606は、対象面の組み合わせの一方の面のうち対象部品と接触する位置に親指の位置を設定した場合に、対象面の組み合わせの他方の面のうち対象部品と接触する位置が人差し指の位置となるように各関節値を算出して腕モデル情報612に設定する。関節値の算出方法については、特に限定しない。
図19は、2本の指によって対象部品を持つ例を示す説明図である。表示部607は、設定部606による設定後の腕モデル情報612に基づいて、シミュレーション空間101において腕amに含まれる親指と人差し指とによって対象部品を持った状態を表示する。
これにより、利用者は、持った状態を確認することができる。また、隣り合う2面の組み合わせを組み合わせ候補に含め、隣り合う2面の組み合わせが対象面として特定された場合などに、利用者が、持った状態を確認し、持った状態を変更したい場合に対向する面の組み合わせに限定して再度処理を行ってもよい。
(情報処理装置100が行う処理手順例)
図20は、情報処理装置が行う処理手順例を示すフローチャートである。まず、情報処理装置100は、3D入力デバイス511による操作と、シミュレーション空間101における腕amのモデルの位置および姿勢と、の連動を設定する(ステップS2001)。つぎに、情報処理装置100は、腕amのモデルの位置と姿勢の変更を受け付ける(ステップS2002)。ステップS2002において、情報処理装置100は、例えば、位置と姿勢とのうちの少なくともいずれか一方の変更を受け付ける。
そして、情報処理装置100は、2本の指によって持つ対象部品の選択処理を行う(ステップS2003)。情報処理装置100は、対象部品があるか否かを判断する(ステップS2004)。対象部品がないと判断された場合(ステップS2004:No)、情報処理装置100は、ステップS2002へ戻る。
一方、対象部品があると判断された場合(ステップS2004:Yes)、情報処理装置100は、対象面の組み合わせ候補の第1特定処理を行う(ステップS2005)。つぎに、情報処理装置100は、組み合わせ候補があるか否かを判断する(ステップS2006)。
組み合わせ候補がないと判断された場合(ステップS2006:No)、情報処理装置100は、ステップS2002へ戻る。組み合わせ候補があると判断された場合(ステップS2006:Yes)、情報処理装置100は、対象面の組み合わせの第2特定処理を行う(ステップS2007)。
つぎに、情報処理装置100は、対象面の組み合わせがあるか否かを判断する(ステップS2008)。組み合わせがないと判断された場合(ステップS2008:No)、情報処理装置100は、ステップS2002へ戻る。一方、組み合わせがあると判断された場合(ステップS2008:Yes)、情報処理装置100は、特定した組み合わせに基づき、2本の指で対象部品を持つ状態に変更する処理を実行し(ステップS2009)、一連の処理を終了する。持つ状態に変更する処理とは、情報処理装置100が、特定した対象面の組み合わせに基づいて各関節値を導出して腕モデル情報612に設定することにより対象部品を持つ状態に変更することである。
図21は、図20で示した対象部品の選択処理の詳細な説明を示すフローチャートである。情報処理装置100は、シミュレーション空間101において腕amの進入方向と交差する部品を探索する(ステップS2101)。
つぎに、情報処理装置100は、交差部品があるか否かを判断する(ステップS2102)。交差部品がないと判断された場合(ステップS2102:No)、情報処理装置100は、一連の処理を終了する。交差部品があると判断された場合(ステップS2102:Yes)、情報処理装置100は、交差部品のうち、腕amの位置から最も手前にある部品を持つ対象部品とし(ステップS2103)、一連の処理を終了する。情報処理装置100は、交差部品が1つしかない場合、ステップS2103を行わずに、交差部品を対象部品としてもよい。
図22は、図20で示した第1特定処理の詳細な説明を示すフローチャートである。情報処理装置100は、対象部品を囲い、対象部品の最大外形に各面が接触するバウンディングボックスbbをシミュレーション空間101に生成する(ステップS2201)。ステップS2201において、バウンディングボックスbbをシミュレーション空間101に生成するとは、バウンディングボックスbbを示す直方体情報を生成することである。
情報処理装置100は、バウンディングボックスbbが有する各面のうちの対向する2つの面の組み合わせを、持つ2つの面の組み合わせ候補とする(ステップS2202)。情報処理装置100は、組み合わせ候補の中で、他の部品と接触する面の組み合わせを組み合わせ候補から除外する(ステップS2203)。そして、情報処理装置100は、組み合わせ候補があるか否かを判断する(ステップS2204)。組み合わせ候補がないと判断された場合(ステップS2204:No)、情報処理装置100は、一連の処理を終了する。
組み合わせ候補があると判断された場合(ステップS2204:Yes)、情報処理装置100は、組み合わせ候補の中で、組み合わせの2つの面間の距離が閾値以上の組み合わせを組み合わせ候補から除外し(ステップS2205)、一連の処理を終了する。
図23は、図20で示した第2特定処理の詳細な説明を示すフローチャートである。情報処理装置100は、組み合わせ候補の各面のうち、腕amの進入方向から見た場合に見える面を抽出する(ステップS2301)。また、ステップS2301において、情報処理装置100が抽出する面は、利用者がディスプレイ509から見た場合に見える面であってもよい。
情報処理装置100は、抽出した面のうち、未選択な面があるか否かを判断する(ステップS2302)。未選択な面があると判断された場合(ステップS2302:Yes)、情報処理装置100は、抽出した面のうち未選択な面からいずれかの面を選択する(ステップS2303)。情報処理装置100は、選択した面の中央に親指の点が配置されるように腕amおよび指の位置を変更する(ステップS2304)。
つぎに、情報処理装置100は、親指の点から人差し指の点までのベクトルPを算出する(ステップS2305)。情報処理装置100は、算出したベクトルPがバウンディングボックスbbを貫通するか否かを判断する(ステップS2306)。貫通すると判断された場合(ステップS2306:Yes)、情報処理装置100は、ステップS2302へ戻る。
貫通しないと判断された場合(ステップS2306:No)、情報処理装置100は、選択した面を含む組み合わせを持つ対象面の組み合わせ候補から除外し(ステップS2307)、ステップS2302へ戻る。
一方、ステップS2302において、未選択な面がないと判断された場合(ステップS2302:No)、情報処理装置100は、対象面の組み合わせ候補があるか否かを判断する(ステップS2308)。組み合わせ候補がないと判断された場合(ステップS2308:No)、情報処理装置100は、一連の処理を終了する。
組み合わせ候補があると判断された場合(ステップS2308:Yes)、情報処理装置100は、組み合わせ候補が複数あるか否かを判断する(ステップS2309)。組み合わせ候補が複数ないと判断された場合(ステップS2309:No)、情報処理装置100は、ステップS2312へ移行する。
組み合わせ候補が複数あると判断された場合(ステップS2309:Yes)、情報処理装置100は、組み合わせ候補の各々について、ベクトルPを組み合わせ候補の2つの面間のベクトルに回転させた場合の回転量を算出する(ステップS2310)。つぎに、情報処理装置100は、回転量が最も小さい組み合わせ候補を特定する(ステップS2311)。
そして、情報処理装置100は、組み合わせ候補を、対象面の組み合わせに決定し(ステップS2312)、一連の処理を終了する。
以上説明したように、情報処理装置100は、シミュレーション空間101において2本の指で持つ対象部品の直方体の他部品に接触しない面の組み合わせのうち、2本の指の間のベクトルが直方体を貫通する組み合わせを対象面として特定する。これにより、腕モデルに応じて部品を持つことを検証することができる。
また、情報処理装置100は、組み合わせの2つの面のうちの一方の面の点に第1指の点を配置した場合における第1指の点から第2指の点までのベクトルが直方体を貫通する組み合わせを特定する。これにより、2本の指によって対象部品を持つ際の自然な状態における持ち方を、直方体を用いて簡単に検証することができる。
また、第1指は親指である。対象部品を持つ際に親指は使用する可能性が高い指である。そして、2本の指によって部品を抓む場合には、親指の配置が支配的である。そのため、親指を配置した場合において自然な状態によって対象部品を持つことができるかを検証することができる。
また、一方の面は、組み合わせの2つの面のうち人体に含まれる腕の進入方向から対象部品を見た場合に見える面である。これにより、より自然な状態によって対象部品を抓むことの検証を行うことができる。
また、情報処理装置100は、特定した面の組み合わせは直方体において対向する面の組み合わせである。対象部品を2本の指によって抓む場合に、隣り合う2つの面と比較して対向する面の組み合わせの方が抓み易い可能性が高い。そのため、対向する面の組み合わせに限定することにより、対象部品を2本の指で抓む場合を想定した検証を、高速に行うことができる。
また、対象部品は、複数の部品のうち、シミュレーション空間101において模擬した人体が有する腕の進入方向にある部品である。これにより、腕の姿勢を変更せずにより自然な状態において部品を持つことを再現することができる。
また、持つ2つの面間の距離は、閾値より小さい。これにより、腕モデルが持つことができない面を持つ対象の面から除外することができる。
また、ベクトルが直方体を貫通する組み合わせが複数ある場合、情報処理装置100は、組み合わせの2つの面間のベクトルと、第1指の点から第2指の点までのベクトルと、の回転量が小さい組み合わせを持つ対象の面として特定する。これにより、より自然な状態において部品を持つことを再現することができる。
なお、本実施の形態で説明した指モデル検証方法は、予め用意された指モデル検証プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。指モデル検証プログラムは、磁気ディスク、光ディスク、USB(Universal Serial Bus)フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、指モデル検証プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
シミュレーション空間において模擬した複数の部品のうちの、前記シミュレーション空間において模擬した人体が持つ対象部品を囲う直方体であり、前記対象部品の最大外形に接触する各面を有する直方体を前記シミュレーション空間において生成し、
生成した前記直方体が有する前記各面のうち、前記複数の部品のうちの前記対象部品と異なる部品に、接触する面以外の面を特定し、
特定した前記面の組み合わせのうち、前記人体に含まれる2本の指によって前記組み合わせの2つの面を持つ際の前記2本の指のうちの第1指の点から第2指の点までのベクトルが前記直方体を貫通する組み合わせを特定する、
処理を実行させることを特徴とする指モデル検証プログラム。
(付記2)前記組み合わせを特定する処理では、
前記組み合わせの2つの面のうちの一方の面の点に前記第1指の点を配置した場合における前記第1指の点から前記第2指の点までの前記ベクトルが前記直方体を貫通する組み合わせを特定する、
ことを特徴とする付記1に記載の指モデル検証プログラム。
(付記3)前記第1指が親指であることを特徴とする付記2に記載の指モデル検証プログラム。
(付記4)前記一方の面は、前記組み合わせの2つの面のうち前記人体に含まれる腕の進入方向から前記対象部品を見た場合に見える面であることを特徴とする付記2または3に記載の指モデル検証プログラム。
(付記5)特定した前記面の組み合わせは前記直方体において対向する面の組み合わせであることを特徴とする付記1〜4のいずれか一つに記載の指モデル検証プログラム。
(付記6)特定した前記面の組み合わせは、2つの面の間の長さが閾値よりも短いことを特徴とする付記5に記載の指モデル検証プログラム。
(付記7)前記対象部品は、前記複数の部品のうち、前記シミュレーション空間において模擬した前記人体に含まれる腕の進入方向にある部品であることを特徴とする付記1〜6のいずれか一つに記載の指モデル検証プログラム。
(付記8)特定した前記貫通する組み合わせが複数ある場合、
前記コンピュータに、
特定した前記貫通する組み合わせのうち、前記組み合わせについての前記ベクトルを前記組み合わせの2つの面間のベクトルまでに回転させた場合における回転量が最も小さい組み合わせを特定する、
処理を実行させることを特徴とする付記1〜7のいずれか一つに記載の指モデル検証プログラム。
(付記9)コンピュータが、
シミュレーション空間において模擬した複数の部品のうちの、前記シミュレーション空間において模擬した人体が持つ対象部品を囲う直方体であり、前記対象部品の最大外形に接触する各面を有する直方体を前記シミュレーション空間において生成し、
生成した前記直方体が有する前記各面のうち、前記複数の部品のうちの前記対象部品と異なる部品に、接触する面以外の面を特定し、
特定した前記面の組み合わせのうち、前記人体に含まれる2本の指によって前記組み合わせの2つの面を持つ際の前記2本の指のうちの第1指の点から第2指の点までのベクトルが前記直方体を貫通する組み合わせを特定する、
処理を実行することを特徴とする指モデル検証方法。
(付記10)シミュレーション空間において模擬した複数の部品のうちの、前記シミュレーション空間において模擬した人体が持つ対象部品を囲う直方体であり、前記対象部品の最大外形に接触する各面を有する直方体を前記シミュレーション空間において生成し、生成した前記直方体が有する前記各面のうち、前記複数の部品のうちの前記対象部品と異なる部品に、接触する面以外の面を特定し、特定した前記面の組み合わせのうち、前記人体に含まれる2本の指によって前記組み合わせの2つの面を持つ際の前記2本の指のうちの第1指の点から第2指の点までのベクトルが前記直方体を貫通する組み合わせを特定する、
制御部を有することを特徴とする情報処理装置。
100 情報処理装置
101 シミュレーション空間
601 入力受付部
602 選択部
603 生成部
604 第1特定部
605 第2特定部
606 設定部
607 表示部
610 記憶部
611 物体情報
612 腕モデル情報
701 部品情報
1001 関節情報
pa1,pa2,p1,p2 部品
Mg 物体
am 腕
bb バウンディングボックス
S1〜S6 面
C1〜C3 組み合わせ
P ベクトル
j1〜j4 関節

Claims (8)

  1. コンピュータに、
    シミュレーション空間において模擬した複数の部品のうちの、前記シミュレーション空間において模擬した人体が持つ対象部品を囲う直方体であり、前記対象部品の最大外形に接触する各面を有する直方体を前記シミュレーション空間において生成し、
    生成した前記直方体が有する前記各面のうち、前記複数の部品のうちの前記対象部品と異なる部品に、接触する面以外の面を特定し、
    特定した前記面の組み合わせのうち、前記人体に含まれる2本の指によって前記組み合わせの2つの面を持つ際の前記2本の指のうちの第1指の点から第2指の点までのベクトルが前記直方体を貫通する組み合わせを特定する、
    処理を実行させることを特徴とする指モデル検証プログラム。
  2. 前記組み合わせを特定する処理では、
    前記組み合わせの2つの面のうちの一方の面の点に前記第1指の点を配置した場合における前記第1指の点から前記第2指の点までの前記ベクトルが前記直方体を貫通する組み合わせを特定する、
    ことを特徴とする請求項1に記載の指モデル検証プログラム。
  3. 特定した前記面の組み合わせは前記直方体において対向する面の組み合わせであることを特徴とする請求項1または2に記載の指モデル検証プログラム。
  4. 特定した前記面の組み合わせは、2つの面の間の長さが閾値よりも短いことを特徴とする請求項3に記載の指モデル検証プログラム。
  5. 前記対象部品は、前記複数の部品のうち、前記シミュレーション空間において模擬した前記人体に含まれる腕の進入方向にある部品であることを特徴とする請求項1〜4のいずれか一つに記載の指モデル検証プログラム。
  6. 特定した前記貫通する組み合わせが複数ある場合、
    前記コンピュータに、
    特定した前記貫通する組み合わせのうち、前記組み合わせについての前記ベクトルを前記組み合わせの2つの面間のベクトルまでに回転させた場合における回転量が最も小さい組み合わせを特定する、
    処理を実行させることを特徴とする請求項1〜5のいずれか一つに記載の指モデル検証プログラム。
  7. コンピュータが、
    シミュレーション空間において模擬した複数の部品のうちの、前記シミュレーション空間において模擬した人体が持つ対象部品を囲う直方体であり、前記対象部品の最大外形に接触する各面を有する直方体を前記シミュレーション空間において生成し、
    生成した前記直方体が有する前記各面のうち、前記複数の部品のうちの前記対象部品と異なる部品に、接触する面以外の面を特定し、
    特定した前記面の組み合わせのうち、前記人体に含まれる2本の指によって前記組み合わせの2つの面を持つ際の前記2本の指のうちの第1指の点から第2指の点までのベクトルが前記直方体を貫通する組み合わせを特定する、
    処理を実行することを特徴とする指モデル検証方法。
  8. シミュレーション空間において模擬した複数の部品のうちの、前記シミュレーション空間において模擬した人体が持つ対象部品を囲う直方体であり、前記対象部品の最大外形に接触する各面を有する直方体を前記シミュレーション空間において生成し、生成した前記直方体が有する前記各面のうち、前記複数の部品のうちの前記対象部品と異なる部品に、接触する面以外の面を特定し、特定した前記面の組み合わせのうち、前記人体に含まれる2本の指によって前記組み合わせの2つの面を持つ際の前記2本の指のうちの第1指の点から第2指の点までのベクトルが前記直方体を貫通する組み合わせを特定する、
    制御部を有することを特徴とする情報処理装置。
JP2015127866A 2015-06-25 2015-06-25 指モデル検証プログラム、指モデル検証方法、および情報処理装置 Active JP6493013B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015127866A JP6493013B2 (ja) 2015-06-25 2015-06-25 指モデル検証プログラム、指モデル検証方法、および情報処理装置
US15/163,043 US10379620B2 (en) 2015-06-25 2016-05-24 Finger model verification method and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015127866A JP6493013B2 (ja) 2015-06-25 2015-06-25 指モデル検証プログラム、指モデル検証方法、および情報処理装置

Publications (2)

Publication Number Publication Date
JP2017010447A JP2017010447A (ja) 2017-01-12
JP6493013B2 true JP6493013B2 (ja) 2019-04-03

Family

ID=57602493

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015127866A Active JP6493013B2 (ja) 2015-06-25 2015-06-25 指モデル検証プログラム、指モデル検証方法、および情報処理装置

Country Status (2)

Country Link
US (1) US10379620B2 (ja)
JP (1) JP6493013B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112060087B (zh) * 2020-08-28 2021-08-03 佛山隆深机器人有限公司 一种用于机器人抓取场景的点云碰撞检测方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6487176A (en) * 1987-09-28 1989-03-31 Fanuc Ltd Robot gripping-point determination system
JPH0566908A (ja) * 1991-09-05 1993-03-19 Nec Corp 物体把持表示方法
US7472047B2 (en) * 1997-05-12 2008-12-30 Immersion Corporation System and method for constraining a graphical hand from penetrating simulated graphical objects
JP2001325611A (ja) * 2000-05-15 2001-11-22 Sony Corp 3次元モデル処理装置および3次元モデル処理方法、並びにプログラム提供媒体
US7191104B2 (en) * 2002-07-11 2007-03-13 Ford Global Technologies, Llc Method of real-time collision detection between solid geometric models
JP4591043B2 (ja) * 2004-11-02 2010-12-01 トヨタ自動車株式会社 ロボットによる任意形状物体の把持方法
JP4962123B2 (ja) * 2007-04-27 2012-06-27 日産自動車株式会社 把持候補位置選出装置、把持候補位置選出方法、把持経路生成装置、および把持経路生成方法
JP2009172685A (ja) 2008-01-22 2009-08-06 Yaskawa Electric Corp マニピュレータシステムおよびその制御方法
JP4835616B2 (ja) * 2008-03-10 2011-12-14 トヨタ自動車株式会社 動作教示システム及び動作教示方法
US9014857B2 (en) * 2012-01-13 2015-04-21 Toyota Motor Engineering & Manufacturing North America, Inc. Methods and computer-program products for generating grasp patterns for use by a robot
US9014850B2 (en) * 2012-01-13 2015-04-21 Toyota Motor Engineering & Manufacturing North America, Inc. Methods and computer-program products for evaluating grasp patterns, and robots incorporating the same
US9605952B2 (en) * 2012-03-08 2017-03-28 Quality Manufacturing Inc. Touch sensitive robotic gripper
US9102055B1 (en) * 2013-03-15 2015-08-11 Industrial Perception, Inc. Detection and reconstruction of an environment to facilitate robotic interaction with the environment
JP2014240106A (ja) 2013-06-12 2014-12-25 セイコーエプソン株式会社 ロボット、ロボット制御装置およびロボットの駆動方法

Also Published As

Publication number Publication date
US10379620B2 (en) 2019-08-13
JP2017010447A (ja) 2017-01-12
US20160378893A1 (en) 2016-12-29

Similar Documents

Publication Publication Date Title
JP6879464B2 (ja) 干渉判定方法、干渉判定システム及びコンピュータプログラム
CN105740497B (zh) 对工件的加工进行仿真
Seth et al. Virtual reality for assembly methods prototyping: a review
CA2463895C (en) Tolerance digitizing method
CN110553600B (zh) 一种用于工件检测的结构光传感器仿真激光线的生成方法
CN108073682A (zh) 基于参数视图函数查询数据库
TW201317937A (zh) 三維影像量測程式生成系統及方法
CN103679792B (zh) 一种三维模型的渲染方法和***
Kyota et al. Fast grasp synthesis for various shaped objects
Katahira et al. Development and evaluation of a system for AR enabling realistic display of gripping motions using Leap Motion controller
JP6493013B2 (ja) 指モデル検証プログラム、指モデル検証方法、および情報処理装置
JP6604039B2 (ja) 設計プログラム、情報処理装置、および設計方法
JP2013182554A (ja) 把持姿勢生成装置、把持姿勢生成方法及び把持姿勢生成プログラム
JP5083992B1 (ja) 把持姿勢生成装置、把持姿勢生成方法及び把持姿勢生成プログラム
CN113436293B (zh) 一种基于条件生成式对抗网络的智能抓取图像生成方法
TWI827887B (zh) 將真實世界資訊擷取入虛擬環境之方法及頭戴式裝置
Wang et al. Haptic rendering for simulation of fine manipulation
Yang et al. Inspection path generation in haptic virtual CMM
KR101105244B1 (ko) 3차원 격자구조에서의 교점을 이용한 곡면 모델링 장치 및 방법
JP2013053920A (ja) 3次元物***置検出装置、そのプログラム
Johnson et al. Modelling robot manipulators with multivariate B-splines
Holst et al. Generation of synthetic AI training data for robotic grasp-candidate identification and evaluation in intralogistics bin-picking scenarios
Bilalis et al. Model for surface-roughness parameters determination in a virtual machine shop environment
Dong et al. A Collision Detection Algorithm Based on Sphere and EBB Mixed Hierarchical Bounding Boxes
Pradhan et al. Workspace Analysis of Industrial Manipulators and its Effective Teaching in RoboAnalyzer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190218

R150 Certificate of patent or registration of utility model

Ref document number: 6493013

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150