JP7066174B2 - Motion analysis device - Google Patents
Motion analysis device Download PDFInfo
- Publication number
- JP7066174B2 JP7066174B2 JP2018086037A JP2018086037A JP7066174B2 JP 7066174 B2 JP7066174 B2 JP 7066174B2 JP 2018086037 A JP2018086037 A JP 2018086037A JP 2018086037 A JP2018086037 A JP 2018086037A JP 7066174 B2 JP7066174 B2 JP 7066174B2
- Authority
- JP
- Japan
- Prior art keywords
- mass
- muscle
- mass point
- model
- motion analysis
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims description 80
- 210000003205 muscle Anatomy 0.000 claims description 177
- 238000004364 calculation method Methods 0.000 claims description 51
- 241001465754 Metazoa Species 0.000 claims description 14
- 238000000034 method Methods 0.000 description 43
- 210000000988 bone and bone Anatomy 0.000 description 22
- 238000004088 simulation Methods 0.000 description 17
- 230000008878 coupling Effects 0.000 description 13
- 238000010168 coupling process Methods 0.000 description 13
- 238000005859 coupling reaction Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 230000015654 memory Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 239000013598 vector Substances 0.000 description 9
- 230000004118 muscle contraction Effects 0.000 description 8
- 230000001133 acceleration Effects 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 5
- 230000005484 gravity Effects 0.000 description 5
- 210000000323 shoulder joint Anatomy 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 210000003195 fascia Anatomy 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 210000001087 myotubule Anatomy 0.000 description 3
- 210000004204 blood vessel Anatomy 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 210000002310 elbow joint Anatomy 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 210000002758 humerus Anatomy 0.000 description 2
- 210000003041 ligament Anatomy 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 210000001835 viscera Anatomy 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 210000002808 connective tissue Anatomy 0.000 description 1
- 210000000852 deltoid muscle Anatomy 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005226 mechanical processes and functions Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 210000000062 pectoralis major Anatomy 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 210000002435 tendon Anatomy 0.000 description 1
- 210000001519 tissue Anatomy 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本開示は、動物の運動を解析するための運動解析装置に関する。 The present disclosure relates to a motion analysis device for analyzing the motion of an animal.
近年、人や動物等の筋の運動を解析するための技術が開発されている。当該運動は、人の筋の力学的機能をコンピュータ上で表現した筋モデルを用いて解析される。筋の運動解析技術に関し、特開2017-037553号公報(特許文献1)は、バネマスダンパモデル方式を採用した人体の筋モデルを開示している。 In recent years, techniques for analyzing the movement of muscles of humans and animals have been developed. The movement is analyzed using a muscle model that expresses the mechanical function of human muscles on a computer. Regarding the muscle motion analysis technique, Japanese Patent Application Laid-Open No. 2017-037553 (Patent Document 1) discloses a muscle model of a human body adopting a spring mass damper model method.
より複雑な運動解析を実現するためには、体内の部位間の干渉を考慮する必要がある。三次元オブジェクト同士の干渉を回避するための技術に関し、特開2006-302098号公報(特許文献2)がある。特許文献2は、「仮想空間に配置されたオブジェクト同士の干渉を簡易な演算により演算可能な三次元オブジェクト制御装置」を開示している。特許文献2に開示される三次元オブジェクト制御装置は、体内の部位間の干渉回避を前提としていない。
In order to realize more complicated motion analysis, it is necessary to consider the interference between parts in the body. Japanese Patent Application Laid-Open No. 2006-302098 (Patent Document 2) relates to a technique for avoiding interference between three-dimensional objects.
体内の各部位は、他の部位と常に接触しており、より複雑な運動解析を実現するためには、各部位の干渉を常に考慮する必要がある。体内の各部位について干渉判定処理および干渉回避処理を行うと、処理に膨大な時間を要する。そのため、これらの処理を常に行うことは現実的ではない。そのため、体内の各部位の干渉回避を従来とは異なる手法で実現する必要がある。 Each part of the body is in constant contact with other parts, and it is necessary to always consider the interference of each part in order to realize more complicated motion analysis. When the interference determination process and the interference avoidance process are performed on each part of the body, a huge amount of time is required for the process. Therefore, it is not realistic to always perform these processes. Therefore, it is necessary to realize the avoidance of interference of each part in the body by a method different from the conventional method.
本開示は上述のような問題点を解決するためになされたものであって、ある局面における目的は、体内の各部位の干渉回避演算を従来とは異なる方法で実現することが可能な運動解析装置を提供することである。 The present disclosure has been made to solve the above-mentioned problems, and the purpose in a certain aspect is a motion analysis capable of realizing an interference avoidance operation of each part in the body by a method different from the conventional method. To provide the device.
ある局面に従うと、動物の運動を解析するための運動解析装置は、上記動物の体内の各部位を表わす複数の三次元モデルを格納するための記憶部を備える。上記複数の三次元モデルの各々は、複数の質点で表わされる。上記複数の質点の各々は、三次元上の座標値と質量とに対応付けられており、かつ、三次元モデル内の関連付けられている他の質点との距離に依存する力学的関係よって当該他の質点と結合している。上記複数の三次元モデルは、上記動物の体内の第1~第3の部位を表わす第1~第3の部位モデルを含む。上記第3の部位モデルを構成する複数の質点の一部または全部は、上記第1の部位モデルを構成する複数の質点と、上記第2の部位モデルを構成する複数の質点との内のいずれかの質点に関連付けられている。上記第1~第3の部位モデルの複数の質点の各々についての座標値を計算するための演算部を備える。上記演算部は、上記第1~第3の部位モデルの複数の質点の各々について、当該質点と関連付けられている他の質点との間の距離に応じて、当該質点が当該他の質点から受ける力を計算し、上記第1~第3の部位モデルの複数の質点の各々について、当該質点に対応付けられている質量と、当該質点について計算された上記力とに依存する運動方程式によって当該質点の座標値を順次計算する。 According to a certain aspect, the motion analysis device for analyzing the motion of an animal includes a storage unit for storing a plurality of three-dimensional models representing each part of the body of the animal. Each of the plurality of three-dimensional models is represented by a plurality of mass points. Each of the above-mentioned mass points is associated with a coordinate value in three dimensions and a mass, and is related to the other by a mechanical relationship depending on the distance from other associated mass points in the three-dimensional model. It is combined with the mass point of. The plurality of three-dimensional models include a first to third part model representing the first to third parts in the body of the animal. A part or all of the plurality of mass points constituting the third site model may be any of the plurality of mass points constituting the first site model and the plurality of mass points constituting the second site model. It is associated with the mass point. A calculation unit for calculating the coordinate values for each of the plurality of mass points of the first to third part models is provided. For each of the plurality of mass points of the first to third part models, the arithmetic unit receives the mass point from the other mass point according to the distance between the mass point and the other mass point associated with the mass point. The force is calculated, and for each of the plurality of mass points of the first to third part models, the mass point is based on a motion equation that depends on the mass associated with the mass point and the force calculated for the mass point. The coordinate values of are calculated sequentially.
好ましくは、上記第3の部位モデルは、上記第3の部位の第1の表面を構成する複数の質点と、上記第3の部位の第2の表面を構成する複数の質点とで構成されている。 Preferably, the third site model is composed of a plurality of mass points constituting the first surface of the third site and a plurality of mass points constituting the second surface of the third site. There is.
好ましくは、上記第1の表面を構成する複数の質点の一部または全部は、上記第1の部位モデルを構成する少なくとも1つの質点と関連付けられている。上記第2の表面を構成する複数の質点の一部または全部は、上記第2の部位モデルを構成する少なくとも1つの質点と関連付けられている。 Preferably, some or all of the plurality of mass points constituting the first surface are associated with at least one mass point constituting the first site model. Some or all of the plurality of mass points constituting the second surface are associated with at least one mass point constituting the second site model.
好ましくは、上記第3の部位モデルは、上記動物の皮膚を表わす。上記第1の表面を構成する複数の質点の一部または全部は、上記第1の部位モデルを構成する複数の質点と、上記第2の部位モデルを構成する複数の質点との内のいずれかの質点に関連付けられている。 Preferably, the third site model represents the skin of the animal. A part or all of the plurality of mass points constituting the first surface is any one of the plurality of mass points constituting the first site model and the plurality of mass points constituting the second site model. Is associated with the mass point of.
好ましくは、上記第1の部位モデルは、上記動物の体内の第1の筋を表わす。上記第2の部位モデルは、上記動物の体内の第2の筋を表わす。 Preferably, the first site model represents the first muscle in the animal's body. The second site model represents a second muscle in the body of the animal.
ある局面において、体内の各部位の干渉回避を従来とは異なる方法で実現することができる。 In a certain aspect, it is possible to realize the avoidance of interference of each part in the body by a method different from the conventional method.
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。 The above and other objects, features, aspects and advantages of the invention will become apparent from the following detailed description of the invention as understood in connection with the accompanying drawings.
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。また、以下で説明する変形例は、適宜選択的に組み合わされてもよい。 Hereinafter, embodiments according to the present invention will be described with reference to the drawings. In the following description, the same parts and components are designated by the same reference numerals. Their names and functions are the same. Therefore, the detailed description of these will not be repeated. Moreover, the modification described below may be selectively combined as appropriate.
[1 筋モデルの座標系]
図1を参照して、実施の形態に従う筋モデル50を表わすための座標系について説明する。図1は、筋モデル50の一例を概略的に示す図である。
[Coordinate system of 1 muscle model]
A coordinate system for representing the
筋モデル50は、複数の質点で表わされる。質点とは、筋を構成する各部分を表わす要素のことをいう。各質点には、三次元上の座標値と質量とが関連付けられている。
The
図1に示されるように、筋モデル50を構成する各質点は、三次元の格子座標系(i、j、k)で表わされる。当該座標系の「k」は、筋の長手方向(すなわち、筋の始端から終端に向かう方向)に直交する断面の番号を表わす。筋モデル50の各断面に含まれる各質点の番号は、2次元格子座標(i、j)で管理される。
As shown in FIG. 1, each mass point constituting the
i方向の質点数は、Ni個とする。j方向の質点数は、Nj個とする。k方向の質点数は、Nk個とする。すなわち、1つの筋は、6面体のポリゴンを直列に(Nk-1)個並べてできる細長いポリゴンを、並列に(Ni-1)*(Nj-1)個束ねることによって構成される。(i、j、k)番目の質点の通し番号nは、「n=i+(Ni*j)+(Ni*Nj*k)」で表わされる。たとえば、Ni=5、Nj=7である場合、(i、j、k)=(0、2、1)における質点の通し番号は、45(=0+(5*2)+(5*7*1))となる。Ni、Nj、Nkの値が調整されることで、筋モデル50は、細長い筋や平たい筋等の様々な形状で表現され得る。
The number of quality points in the i direction is Ni. The number of quality points in the j direction is Nj. The number of quality points in the k direction is N k . That is, one line is composed of elongated polygons formed by arranging (N k -1) hexahedron polygons in series in parallel (N i -1) * (N j -1). The serial number n of the (i, j, k) th mass point is represented by "n = i + (N i * j) + (N i * N j * k)". For example, when Ni = 5 and N j = 7, the serial number of the mass point at (i, j, k) = (0, 2, 1) is 45 (= 0 + (5 * 2) + (5 * 7). * 1)). By adjusting the values of N i , N j , and N k , the
なお、この形状表現は、筋だけでなく、骨と骨をつないでいる靭帯や、多頭筋を束ねている腱膜の表現にも用いられ得る。これにより、人体の各部位(たとえば、筋、腱、靭帯、腱膜等)の形状が一元的に管理される。また、このような形状表現により、後述するように同一GPUのカーネル関数で全ての人体部位の形状が計算され得る。 This shape expression can be used not only for muscles but also for ligaments connecting bones and aponeurosis that bundles multihead muscles. As a result, the shape of each part of the human body (for example, muscle, tendon, ligament, aponeurosis, etc.) is centrally managed. Further, by such a shape representation, the shapes of all human body parts can be calculated by the kernel function of the same GPU as described later.
[2 筋モデルの運動解析]
(2.1 概要)
筋モデル50(図1参照)には、隣り合う質点を力学的に結合させたバネマスダンパモデルが採用される。バネマスダンパモデルの特徴は、各質点の運動方程式が同じ計算式で表わされ、かつ、各質点のシミュレーションの1タイムステップ(Δt)の積分計算が他の質点とは独立に行うことができる点である。これにより、大量の質点の1タイムステップの積分計算が並列に処理され得る。時間積分の方法としては、たとえば、ベレの方法が用いられる。
[2 Muscle model motion analysis]
(2.1 Overview)
For the muscle model 50 (see FIG. 1), a spring mass damper model in which adjacent mass points are mechanically connected is adopted. The feature of the spring mass damper model is that the equation of motion of each mass point is expressed by the same formula, and the integral calculation of one time step (Δt) of the simulation of each mass point can be performed independently of other mass points. It is a point. As a result, the integral calculation of a large number of mass points in one time step can be processed in parallel. As a method of time integration, for example, Verlet's method is used.
(2.2 運動方程式)
図2および図3を参照して、運動解析装置100による筋モデル50(図1参照)の運動解析方法について説明する。図2は、筋モデル50の各質点に関する質点情報112を示す図である。図3は、運動解析装置100の機能構成の一例を示すブロック図である。
(2.2 Equation of motion)
A method of motion analysis of the muscle model 50 (see FIG. 1) by the
以下の式(1)に示されるように、n番目の質点の運動方程式は、隣接する質点から受ける受動的な力「fPassive」と、能動的な筋収縮力「fActive」と、隣接する筋または骨から受ける外力「fCol」によって決定される。 As shown in the following equation (1), the equation of motion of the nth mass point is adjacent to the passive force "f Passive " received from the adjacent mass point and the active muscle contraction force "f Active ". It is determined by the external force "f Col " received from the muscle or bone.
式(1)の「mn」は、n番目の質点の質量を表わす。各質点の質量「mn」は、たとえば、図2の質点情報112に規定されている。一例として、各質点の質量「mn」は、人体の構造を規定している人体モデルから予め得られている。式(1)の「an」は、n番目の質点の加速度ベクトルを表わす。
“M n ” in the formula (1) represents the mass of the nth mass point. The mass " mn " of each mass point is defined in, for example, the
式(1)は、たとえば、運動解析装置100に含まれる演算部150によって計算される。演算部150は、後述するCPU(Central Processing Unit)102やGPU104に相当する。演算部150は、筋モデル50を構成する複数の質点のうち、筋の表面を構成する質点が外力を受けたことに基づいて、各質点についての座標値を順次計算する。演算部150は、外力「fCol」を受けた質点については、当該質点に関連付けられている質量と、当該質点についての受動的な力「fPassive」と、外力「fCol」とに依存する運動方程式によって当該質点の座標値を順次計算する。演算部150は、外力「fCol」を受けていない質点については、当該質点に関連付けられている質量と、当該質点について計算された力「fPassive」とに依存する運動方程式によって当該質点の座標値を順次計算する。すなわち、演算部150は、外力を受けていない質点については、外力「fCol」をゼロに設定した上で式(1)の運動方程式を解く。なお、より詳細に各質点の座標値を計算する場合には、式(1)に示されるように能動的な筋収縮力「fActive」が運動方程式に追加される。
Equation (1) is calculated by, for example, the
図3に示されるように、演算部150は、機能構成として、第1算出部151と、第2算出部152と、第3算出部153と、位置算出部160とを含む。第1算出部151は、式(1)の受動的な力「fPassive」を算出する。第2算出部152は、式(1)に示される筋収縮力「fActive」を算出する。第3算出部153は、式(1)に示される外力「fCol」を算出する。位置算出部160は、上記式(1)の運動方程式を解くことにより、筋モデル50の各質点の座標値を算出する。
As shown in FIG. 3, the
(a)第1算出部151
以下、隣接する質点から受ける力「fPassive」の算出方法について説明する。力「fPassive」は、第1算出部151によって算出される。第1算出部151は、対象の質点と隣接する質点との力学的な結合関係をバネに見立てて「fPassive」を計算する。すなわち、筋モデル50の各質点は、隣接する質点との距離に依存する力学的関係よって隣接する質点と結合しており、第1算出部151は、対象の質点と隣接する質点との間の距離に応じて、対象の質点が隣接する質点から受ける力を算出する。
(A)
Hereinafter, a method of calculating the force "f Passive " received from adjacent mass points will be described. The force "f Passive " is calculated by the
各質点には、1つ以上の質点が隣接する。安定的にシミュレーションを行うためには、質点同士の力学的結合関係(すなわち、バネのつなぎ方)に工夫が必要である。i、j、k方向(図1参照)にバネが配置されただけでは、筋モデル50は、形状を保てないことがあるためである。そのため、i、j、k方向の全ての断面内において斜めのバネが配置されることが好ましい。これにより、運動解析装置100は、筋モデル50について安定して形状シミュレーションを行うことができる。たとえば、受動的な力「fPassive」は、以下の式(2)で表わされる。
One or more mass points are adjacent to each mass point. In order to perform a stable simulation, it is necessary to devise a mechanical connection relationship between mass points (that is, how to connect springs). This is because the
式(2)の上付き文字「e」は、東方向を表わす(図1参照)。上付き文字「w」は、西方向を表わす。上付き文字「s」は、南方向を表わす。上付き文字「n」は、北方向を表わす。上付き文字「f」は、前方向(図1の紙面下方向)を表わす。上付き文字「b」は、後ろ方向(図1の紙面上方向)を表わす。たとえば、式(2)の力「fne」は、東北方向の質点(バネ)から受ける力を表わす。隣接する質点が存在しない場合には、その方向から受ける力はゼロとなる。たとえば、筋の始端に当たるk=0の断面内の質点は、後方向(すなわち、骨側)からは力を受けないものとする。実際には、始端の質点は骨から力を受けることで骨に対して一定の位置を保っているが、このような拘束条件の実装方法については後述する。 The superscript "e" in equation (2) represents the eastern direction (see FIG. 1). The superscript "w" represents the west direction. The superscript "s" represents the south direction. The superscript "n" represents the north direction. The superscript "f" represents the forward direction (downward on the paper in FIG. 1). The superscript "b" represents the backward direction (the direction on the paper in FIG. 1). For example, the force "f ne " in equation (2) represents the force received from the mass point (spring) in the northeast direction. If there are no adjacent mass points, the force received from that direction is zero. For example, it is assumed that the mass point in the cross section of k = 0, which is the starting end of the muscle, receives no force from the posterior direction (that is, the bone side). Actually, the mass point at the beginning keeps a certain position with respect to the bone by receiving a force from the bone, but the method of implementing such a constraint condition will be described later.
以下の式(3)に示されるように、n番目の質点が隣接するm番目の質点から受ける力「fnm」は、弾性力「fnm S」と粘性力「fnm D」との和で表わされる。力「fnm」は、式(2)の右辺の各項に相当する。 As shown in the following equation (3), the force "f nm " received by the nth mass point from the adjacent mth mass point is the sum of the elastic force "f nm S " and the viscous force "f nm D ". It is represented by. The force "f nm " corresponds to each term on the right side of the equation (2).
式(3)の弾性力「fnm S」は、以下の式(4)で表わされる。 The elastic force "f nm S " in the formula (3) is expressed by the following formula (4).
式(4)の「kS」は、バネ定数である。「xnm」は、「xm-xn」を意味する。「xm」は、m番目の質点の座標を表わす。「xn」は、n番目の質点の座標を表わす。各質点の座標は、たとえば、図2の質点情報112に規定されている。「|xnm|」は、n番目の質点とm番目の質点との間の距離を表わす。「Lnm」は、力を受けていないときにおけるn番目の質点とm番目の質点との間の距離(すなわち、自然長)を表わす。各質点間の自然長は、たとえば、図2の質点情報112に予め規定されている。
“K S ” in the equation (4) is a spring constant. "X nm " means "x m -x n ". "X m " represents the coordinates of the mth mass point. “X n ” represents the coordinates of the nth mass point. The coordinates of each mass point are defined in, for example, the
式(3)の粘性力「fnm D」は、以下の式(5)で表わされる。 The viscous force "f nm D " of the formula (3) is expressed by the following formula (5).
式(5)の「kd」は、粘性抵抗係数を表わす。「vn」は、n番目の質点の速度を表わす。「vm」は、m番目の質点の速度を表わす。各質点の速度は、たとえば、当該質点の前回の位置から現在位置までの移動距離を移動時間で割ることにより算出される。 “ Kd ” in the equation (5) represents a viscous drag coefficient. “V n ” represents the velocity of the nth mass point. "V m " represents the velocity of the mth mass point. The velocity of each mass point is calculated, for example, by dividing the travel distance of the mass point from the previous position to the current position by the travel time.
(b)第2算出部152
上記式(1)に示される筋収縮力「fActive」の算出方法について説明する。筋収縮力「fActive」は、筋の能動的な活動によって生じる力である。筋収縮力「fActive」は、第2算出部152によって算出される。筋収縮力「fActive」は、k方向にのみ働くものとし、その大きさは、筋の活動度、張力と長さとの関係「Fl(|xnm|)」、張力と速度との関係「Fv(|vnm|)」、および最大等尺性収縮筋力「Fmax」により決まる。より具体的には、筋収縮力「fActive」は、以下の式(6)で表わされる。
(B)
The calculation method of the muscle contraction force "f Active " represented by the above formula (1) will be described. The muscle contraction force "f Active " is a force generated by the active activity of the muscle. The muscle contraction force "f Active " is calculated by the
(c)第3算出部153
上述したように、第3算出部153は、筋モデル50に与える外力「fCol」を算出する。外力「fCol」は、たとえば、筋モデル50が他の物体と衝突することによる反発力や干渉力として生じる。筋モデル50に外力を与える物体は、たとえば、他の筋モデルおよび骨モデルの少なくとも一方を含む。外力「fCol」は、後述する計算方法で算出されてもよいし、運動解析装置100の操作者によって任意の値で与えられてもよい。
(C)
As described above, the
外力「fCol」は、筋モデル50の表面を構成する質点に与えられる。すなわち、外力「fCol」は、筋モデル50の内部を構成する質点には与えられない。
The external force "f Col " is applied to the mass points constituting the surface of the
(d)位置算出部160
位置算出部160は、上記式(1)に示される運動方程式を各質点について解くことにより、各質点の加速度を算出する。位置算出部160は、各質点の初期位置や各質点の初期速度(典型的には、ゼロ)を反映した上で、各質点の加速度を時間で二回積分することにより各質点の座標を算出する。時間積分の方法としては、たとえば、ベレの方法が用いられる。
(D)
The
位置算出部160は、各質点の新たな座標値を算出したことに基づいて、図2の質点情報112における現在の位置を各質点の新たな座標値で書き換えるとともに、書き換え前の位置を質点情報112の履歴に格納する。
The
(2.3 GPUへの実装方法)
(a)概要
上記式(1)~(6)に示されるように、各質点の新たな座標値は、現在の各質点の座標値および前回の各質点の座標値から算出される。すなわち、現在の各質点の座標値および前回の各質点の座標値が既知であれば、各質点の新たな座標値の計算は、他の質点の新たな座標値の計算結果に影響されない。この点に着目して、運動解析装置100は、筋モデル50の各質点についての運動方程式(上記式(1)参照)の計算を、一部または全部について並列に行う。これにより、運動解析装置100は、筋モデル50の運動を解析するのに要する処理時間を大幅に削減することができる。
(2.3 Implementation method on GPU)
(A) Outline As shown in the above equations (1) to (6), the new coordinate value of each mass point is calculated from the coordinate value of each current mass point and the coordinate value of each previous mass point. That is, if the current coordinate value of each mass point and the previous coordinate value of each mass point are known, the calculation of the new coordinate value of each mass point is not affected by the calculation result of the new coordinate value of the other mass points. Focusing on this point, the
(b)スレッドの管理方法
運動解析装置100は、たとえば、各質点の運動方程式の並列処理をGPUで実現する。GPUは、複数のコア(たとえば、数百個のコア)を有する。GPUは、筋モデル50の運動解析を実現するためのプログラムを多数のスレッドに分割し、各コアに対応するスレッドを割り当てることで、筋モデル50の運動解析を並列処理する。
(B) Thread management method The
図4を参照して、GPUによるスレッドの管理方法について説明する。図4は、各質点の座標計算時におけるGPUへのスレッドの配置を示す概念図である。 A method of managing threads by the GPU will be described with reference to FIG. FIG. 4 is a conceptual diagram showing the arrangement of threads on the GPU at the time of coordinate calculation of each mass point.
図4に示されるように、スレッドは、GPU内において、「グリッド」および「ブロック」の2つの階層構造で管理される。各グリッド内には、複数のブロックが2次元で配置される。図4(A)に示されるように、1つのブロックには、1つの筋が割り当てられる。好ましくは、1列目のブロックには左半身の各筋が割り当てられ、2列目のブロックには右半身の各筋が割り当てられる。 As shown in FIG. 4, threads are managed in two hierarchical structures, "grid" and "block", within the GPU. A plurality of blocks are arranged in two dimensions in each grid. As shown in FIG. 4 (A), one line is assigned to one block. Preferably, the blocks in the first column are assigned to the muscles of the left half of the body, and the blocks in the second column are assigned to the muscles of the right half of the body.
各ブロックには、複数のスレッドが2次元で配置される。図4(B)に示されるように、運動解析装置100は、1つのスレッドに対しては、1つの筋繊維を割り当てる。人のほとんどの筋の形状は、Ni=7、Nj=16、Nk=33の範囲内で表現され得るため、i方向の最大スレッド数が7に設定され、j方向の最大スレッド数が16に設定される。
A plurality of threads are arranged in each block in two dimensions. As shown in FIG. 4B, the
(c)シェアードメモリの有効的な利用方法
GPU並列処理を高速化するためには、アクセス速度の速いメモリを有効に利用する必要がある。DRAM(Dynamic Random Access Memory)内のグローバルメモリは、全てのブロックからがアクセス可能であるが、アクセス速度が遅いという欠点がある。一方で、SM(Streaming Multiprocessor)内にあるシェアードメモリは、同一ブロック内からしかアクセスすることができないが、アクセス速度が速いという利点がある。上記式(1)の運動方程式を計算する際に参照する機会の多い同一筋モデル内の情報(たとえば、位置や自然長等)がシェアードメモリに配置されることで処理が高速化されるため、運動解析装置100は、1つのブロックに1つの筋が割り当てられるように設計される。
(C) Effective use of shared memory In order to speed up GPU parallel processing, it is necessary to effectively use memory with a high access speed. The global memory in the DRAM (Dynamic Random Access Memory) can be accessed from all blocks, but has the drawback of slow access speed. On the other hand, the shared memory in the SM (Streaming Multiprocessor) can be accessed only from within the same block, but has the advantage of high access speed. Since the information in the same muscle model (for example, position, natural length, etc.) that is often referred to when calculating the equation of motion of the above equation (1) is placed in the shared memory, the processing is speeded up. The
しかしながら、シェアードメモリの容量は、数十KBと小さいため(たとえば、16KB、32KB、48KBの3種類)、1つの筋の情報を全てシェアードメモリに割り当てることは困難である。たとえば、筋のサイズがNi=7、Nj=16、Nk=33である場合であって、かつ、各質点がfloat型(4バイト)の24変数(内18変数:自然長L、内3変数:現在の座標値、内3変数:過去の座標値)を有する場合には、総サイズが約346.5KB(=354816B=7*16*33*24*4B)となりシェアードメモリの容量を超えてしまう。 However, since the capacity of the shared memory is as small as several tens of KB (for example, three types of 16KB, 32KB, and 48KB), it is difficult to allocate all the information of one source to the shared memory. For example, when the muscle size is Ni = 7, N j = 16, N k = 33, and each mass point is a float type (4 bytes) 24 variables (18 variables: natural length L, If you have 3 variables: the current coordinate value and 3 variables: the past coordinate value), the total size is about 346.5KB (= 354816B = 7 * 16 * 33 * 24 * 4B), which is the capacity of the shared memory. Will exceed.
このことを解決するため、シェアードメモリを節約する方法を以下に示す。ある質点の運動方程式を計算する際に必要な情報は、隣接する断面に含まれる情報があれば十分である。つまり、k番目の断面に含まれる質点の運動方程式を計算する際には、k-1番目、k番目、k+1番目の3つの断面の情報があれば十分である。3つの断面に限れば、シェアードメモリに割り当てるデータ容量は、約31.5kB(=32256B=7*16*3*24*4B)に節約され得る。このような節約を実現するために、図4(B)に示されるように、運動解析装置100は、1つのスレッドに1本の筋線維を割り当て、各断面の各質点の座標値をk=0~Nkまで順に計算する。より具体的には、運動解析装置100は、k=1の断面における質点の計算時には、k=0、k=1、k=2の3つの断面に含まれる質点の情報をシェアードメモリに配置し、その上で、k=1の断面における各質点の座標値を計算する。全てのスレッドが計算を終えた段階で、運動解析装置100は、シェアードメモリをk=1、k=2、k=3の断面に含まれる質点の情報に書き換え、次のk=2の断面における質点の計算処理へと進む。
To solve this, here's how to save shared memory. The information required to calculate the equation of motion of a mass point is sufficient if the information contained in the adjacent cross section is available. That is, when calculating the equation of motion of the mass point included in the kth cross section, it is sufficient to have the information of the three k-1th, kth, and k + 1th cross sections. As far as the three cross sections are concerned, the data capacity allocated to the shared memory can be saved to about 31.5 kB (= 32256B = 7 * 16 * 3 * 24 * 4B). In order to realize such a saving, as shown in FIG. 4B, the
[3 筋モデルの干渉回避処理]
(3.1)概要
以下、筋モデル50についての干渉計算について説明する。本実施の形態に従う運動解析装置100は、バネマスダンパモデルに基づく上述の運動解析方法を、筋モデル50と他の部位との干渉回避処理にも適用する。上述のように、バネマスダンパモデルの特徴は、各質点の運動方程式が同じ計算式で表わされ、かつ、各質点のシミュレーションの1タイムステップ(Δt)の積分計算が他の質点とは独立に行うことができる点である。これにより、大量の質点の1タイムステップの積分計算が並列に処理されるので、干渉回避処理についても同様に高速化することができる。
[Interference avoidance processing of 3 muscle models]
(3.1) Outline The interference calculation for the
以下では、筋モデル50についての干渉回避処理について説明を行うが、本明細書で説明する干渉回避処理は、筋以外の他の部位を表わす三次元モデルにも適用され得る。
Hereinafter, the interference avoidance process for the
(3.2)筋モデル同士の干渉回避処理
図5を参照して、干渉回避処理の一例について説明する。図5は、筋モデル同士の干渉回避処理を説明するための図である。
(3.2) Interference avoidance processing between muscle models An example of interference avoidance processing will be described with reference to FIG. FIG. 5 is a diagram for explaining interference avoidance processing between muscle models.
図5には、人体の第1の筋(第1の部位)を表わす筋モデル50A(第1の部位モデル)と、人体の第2の筋(第2の部位)を表わす筋モデル50B(第2の部位モデル)とが示されている。図5では、説明の便宜のために、筋モデル50Aと筋モデル50Bとが互いに離れている例が示されている、実際には、筋モデル50A,50Bは、互いに接しているか、互いに近接している。
FIG. 5 shows a
筋モデル50A,50Bの干渉を回避するために、筋モデル50A,50Bの間に緩衝オブジェクト60が配置される。緩衝オブジェクト60は、ユーザによって手動で配置されてもよいし、干渉する可能性のある部位間に自動で配置されてもよい。
In order to avoid the interference of the
緩衝オブジェクト60は、人体の体内の部位に見立てることができる。本例では、緩衝オブジェクト60は、人体の筋膜に見立てられる。
The
緩衝オブジェクト60は、筋モデル50A,50Bと同様に図2で説明した質点情報112によって規定される。すなわち、緩衝オブジェクト60は、複数の質点で表現され、各質点には、質量、バネの自然長などが関連付けられる。バネの自然長は、初期姿勢における各質点間の距離とする。
The
緩衝オブジェクト60のj方向の質点数を表わす「Nj」は、たとえば、2に設定される。つまり、緩衝オブジェクト60は、第1の表面を構成する複数の質点(すなわち、j=0に相当する質点)と、第2の表面を構成する複数の質点(すなわち、j=1に相当する質点)とで構成される。緩衝オブジェクト60を構成する各質点は、緩衝オブジェクト60内の隣り合う質点とバネで結合している。
For example, "Nj" representing the number of quality points in the j direction of the
緩衝オブジェクト60を構成する各質点は、緩衝オブジェクト60内の質点だけでなく、緩衝オブジェクト60に接する筋モデル50A,50Bの各質点とも仮想的なバネで結合している。すなわち、緩衝オブジェクト60を構成する一部または全部の質点は、筋モデル50A(第1の部位モデル)を構成する複数の質点と、筋モデル50B(第2の部位モデル)を構成する複数の質点との内のいずれかの質点に関連付けられている。
Each mass point constituting the
図5の例では、緩衝オブジェクト60の第1の表面を表わす各質点(すなわち、j=0に相当する質点)は、筋モデル50Aの質点に結合している。緩衝オブジェクト60の第1の表面を構成する質点は、筋モデル50Aの筋膜として見なすことできる。一方で、緩衝オブジェクト60の第2の表面を表わす各質点(すなわち、j=1に相当する質点)は、筋モデル50Bの質点に結合している。緩衝オブジェクト60の第2の表面を表わす質点は、筋モデル50Bの筋膜として見なすことできる。
In the example of FIG. 5, each mass point representing the first surface of the buffer object 60 (that is, the mass point corresponding to j = 0) is connected to the mass point of the
緩衝オブジェクト60と結合する筋モデル50A,50B内の質点は、たとえば、運動解析装置100によって自動で登録される。より具体的には、運動解析装置100は、緩衝オブジェクト60内の第1の表面を構成する各質点(すなわち、j=0に相当する質点)について筋モデル50A内の全質点との距離を算出する。そして、運動解析装置100は、緩衝オブジェクト60内の第1の表面を構成する各質点を、筋モデル50Aを構成する各質点の内の最も距離が近い1つ以上の質点と結合する。同様に、運動解析装置100は、緩衝オブジェクト60内の第2の表面を構成する各質点(すなわち、j=1に相当する質点)について、筋モデル50B内の全質点との距離を算出する。そして、運動解析装置100は、緩衝オブジェクト60内の第2の表面を構成する各質点を、筋モデル50Bを構成する各質点の内の最も距離が近い1つ以上の質点と結合する。緩衝オブジェクト60の各質点に結合される筋モデル50A,50Bの質点の数は、たとえば、2点程度である。
The mass points in the
筋モデル50A,50Bの各質点と緩衝オブジェクト60の各質点との結合結果は、図6に示される結合情報113として記憶される。図6は、結合情報113のデータ構造の一例を示す図である。
The connection result between each mass point of the
図6に示されるように、結合情報113には、緩衝オブジェクト60の各質点について筋モデル50Aの質点が対応付けられている。一例として、緩衝オブジェクト60の質点番号「n1」の質点は、筋モデル50Aの質点番号「n10」の質点と対応付けられている。
As shown in FIG. 6, the mass points of the
なお、図6には、筋モデル50Aと緩衝オブジェクト60との結合情報113が示されているが、実際には、他の筋モデル(たとえば、筋モデル50B)についても、当該他の筋モデルと緩衝オブジェクト60との結合情報113が存在する。
Although the
運動解析装置100は、筋モデル50A,50Bおよび緩衝オブジェクト60を構成する各質点について、上述の「筋モデルの運動解析」で説明した計算方法で運動解析を行う。すなわち、運動解析装置100は、筋モデル50A,50Bおよび緩衝オブジェクト60を構成する各質点について結合先の他の質点から受ける力を計算し、当該力と各質点に対応付けられている質量とに依存する運動方程式(すなわち、上記式(1))によって各質点の座標値を順次計算する。
The
より具体的には、運動解析装置100は、筋モデル50A,50Bを構成する各質点の内、緩衝オブジェクト60と結合している各質点については、筋モデル50A,50B内の結合先の各質点から受ける力と、緩衝オブジェクト60内の結合先の各質点から受ける力との両方に応じて、筋モデル50A,50B内の各質点の位置を計算する。一方で、運動解析装置100は、筋モデル50A,50Bを構成する各質点の内、緩衝オブジェクト60と結合していない各質点については、筋モデル50A,50B内の結合先の各質点から受ける力に応じて、筋モデル50A,50B内の各質点の位置を計算する。
More specifically, in the
また、運動解析装置100は、緩衝オブジェクト60を構成する各質点については、緩衝オブジェクト60内の結合先の各質点から受ける力と、筋モデル50A,50B内の結合先の各質点から受ける力との両方に応じて、緩衝オブジェクト60内の各質点の位置を計算する。
Further, the
これにより、運動解析装置100は、筋モデル50A,50B内の各質点間の力のやり取りを計算できるだけでなく、緩衝オブジェクト60を介した筋モデル50Aと筋モデル50Bとの間の力のやり取りを計算することができ、筋モデル50Aと筋モデル50Bとの干渉を回避することができる。
As a result, the
(3.3)筋モデルと皮膚モデルとの干渉回避処理
次に、図7を参照して、干渉回避処理の他の例について説明する。図7は、筋モデルと皮膚モデルとの干渉回避処理を説明するための図である。
(3.3) Interference avoidance processing between the muscle model and the skin model Next, another example of the interference avoidance processing will be described with reference to FIG. 7. FIG. 7 is a diagram for explaining the interference avoidance process between the muscle model and the skin model.
図7には、人体の第1の筋(第1の部位)を表わす筋モデル50A(第1の部位モデル)と、人体の第2の筋(第2の部位)を表わす筋モデル50B(第2の部位モデル)と、緩衝オブジェクト60とが示されている。図7では、説明の便宜のために、筋モデル50A,50Bと緩衝オブジェクト60とが互いに離れている例が示されている、実際には、筋モデル50A,50Bと緩衝オブジェクト60とは、互いに接しているか、互いに近接している。
FIG. 7 shows a
基本的には、図7に示される緩衝オブジェクト60は、図5に示される緩衝オブジェクト60と同じである。図5に示される緩衝オブジェクト60においては、筋モデル50Aの質点が緩衝オブジェクト60の第1の表面を構成する複数の質点(すなわち、j=0に相当する質点)と結合しており、筋モデル50Bの質点が緩衝オブジェクト60の第2の表面を構成する複数の質点(すなわち、j=1に相当する質点)と結合していた。これに対して、図7に示される緩衝オブジェクト60においては、筋モデル50Aの質点と筋モデル50Bの質点とが、共に、緩衝オブジェクト60の第1の表面(すなわち、j=0に相当する質点)を構成する質点と結合している。このように配置された緩衝オブジェクト60は、人体の皮膚(第3の部位)として見なすことできる。
Basically, the
緩衝オブジェクト60と結合する筋モデル50A,50B内の質点は、たとえば、運動解析装置100によって自動で登録される。より具体的には、運動解析装置100は、緩衝オブジェクト60内の第1の表面を構成する各質点(すなわち、j=0に相当する質点)について筋モデル50A内および筋モデル50B内の全質点との距離を算出する。そして、運動解析装置100は、緩衝オブジェクト60内の第1の表面を構成する各質点を、筋モデル50A,50Bを構成する各質点の内の最も距離が近い1つ以上の質点と結合する。緩衝オブジェクト60の各質点に結合される筋モデル50A,50Bの質点の数は、たとえば、2点程度である。
The mass points in the
なお、運動解析装置100は、緩衝オブジェクト60内の第1の表面を構成する各質点だけではなく、緩衝オブジェクト60内の第2の表面を構成する各質点(すなわち、j=1に相当する質点)も、筋モデル50A,50B内のいずれかの質点と結合させてもよい。この場合、緩衝オブジェクト60内の全質点が筋モデル50A,50B内の質点のいずれかと結合することになる。より具体的には、運動解析装置100は、緩衝オブジェクト60内の全質点について筋モデル50A,50B内の各質点との距離を算出する。そして、運動解析装置100は、緩衝オブジェクト60内の全質点を、筋モデル50A,50Bを構成する各質点の内の最も距離が近い1つ以上の質点と結合する。
The
運動解析装置100は、筋モデル50A,50Bおよび緩衝オブジェクト60を構成する各質点について、上述の「筋モデルの運動解析」で説明した計算方法で運動解析を行う。すなわち、運動解析装置100は、筋モデル50A,50Bおよび緩衝オブジェクト60を構成する各質点について結合先の他の質点から受ける力を計算し、当該力と各質点に対応付けられている質量とに依存する運動方程式(すなわち、上記式(1))によって各質点の座標値を順次計算する。
The
より具体的には、運動解析装置100は、筋モデル50A,50Bを構成する各質点の内、緩衝オブジェクト60と結合している各質点については、緩衝オブジェクト60内の結合先の各質点から受ける力と、筋モデル50A,50B内の結合先の各質点から受ける力との両方に応じて、筋モデル50A,50B内の各質点の位置を計算する。一方で、運動解析装置100は、筋モデル50A,50Bを構成する各質点の内、緩衝オブジェクト60と結合していない各質点については、筋モデル50A,50B内の結合先の各質点から受ける力に応じて、筋モデル50A,50B内の各質点の位置を計算する。
More specifically, the
また、運動解析装置100は、緩衝オブジェクト60を構成する各質点については、緩衝オブジェクト60内の結合先の各質点から受ける力と、筋モデル50A,50B内の結合先の各質点から受ける力との両方に応じて、緩衝オブジェクト60内の各質点の位置を計算する。
Further, the
これにより、運動解析装置100は、筋モデル50A,50B内の各質点間の力のやり取りを計算できるだけでなく、筋モデル50A,50Bと緩衝オブジェクト60との間の力のやり取りを計算することができ、筋モデル50A,50Bと緩衝オブジェクト60との干渉を回避することができる。
As a result, the
[4 筋モデルおよび骨モデルの統合]
筋モデル等の形状が変化するモデルは、形状が変化しない剛体モデルに組み合わせることができる。図8を参照して、剛体モデルと、筋モデルとを組み合わせた筋骨格モデルについて説明する。以下では、剛体モデルの一例である骨モデルを例に挙げて筋骨格モデルの説明を行うが、剛体モデルは、骨モデルに限定されない。図8は、筋骨格モデルを概略的に示す図である。
[4 Integration of muscle model and bone model]
A model whose shape changes, such as a muscle model, can be combined with a rigid body model whose shape does not change. A musculoskeletal model in which a rigid body model and a musculoskeletal model are combined will be described with reference to FIG. In the following, the musculoskeletal model will be described by taking the bone model, which is an example of the rigid body model, as an example, but the rigid body model is not limited to the bone model. FIG. 8 is a diagram schematically showing a musculoskeletal model.
筋骨格モデルを扱うためには、運動解析装置100は、骨モデルだけでなく、筋モデルの運動方程式(上記式(1)参照)も同時に扱う必要がある。運動解析装置100は、2種の運動方程式を同時に扱うために、筋の端部に含まれる質点(以下、「端点」ともいう。)が骨に対して不動であるという拘束条件の元に、両運動方程式の計算を行う。端点とは、筋の始端(すなわち、k=0の断面)と終端(すなわち、k=Nkの断面)とに含まれる質点のことをいう。
In order to handle the musculoskeletal model, the
骨モデルと筋モデルとの間の力のやり取りは、端点で行われる。筋モデルが骨モデルに与える力は、図8(A)に示される力ベクトル「f1」および「f2」である。 The exchange of force between the bone model and the muscle model takes place at the endpoints. The forces exerted by the muscle model on the bone model are the force vectors "f 1 " and "f 2 " shown in FIG. 8 (A).
骨モデルと筋モデルとの間の力のやり取りは、骨モデルと筋モデルとの干渉点においても行われる。当該干渉点においては、大きさが等しい反対方向の反発力「fCol」のそれぞれが骨モデルおよび筋モデルのそれぞれに与えられる。以上をまとめると、筋モデルから受ける力を組み込んだ骨モデルの運動方程式は、図8に示される上腕骨を例に挙げると以下の式(7),(8)で表わされる。 The exchange of force between the bone model and the muscle model also takes place at the point of interference between the bone model and the muscle model. At the point of interference, the repulsive forces "f Col " in opposite directions of equal magnitude are applied to the bone model and the muscle model, respectively. Summarizing the above, the equation of motion of the bone model incorporating the force received from the muscle model is expressed by the following equations (7) and (8), taking the humerus shown in FIG. 8 as an example.
ここで、「m1」は、上腕の質量を表わす。「g」は、重力加速度を表わす。「Fs」は、肩関節の関節間力を表わす。「Fe」は、肘関節の関節間力を表わす。「fi,j End」は、j番目の筋におけるi番目の筋線維が上腕骨に与える力を表わす。「ag1」は、上腕重心位置の加速度を表わす。「Ls」は、上腕重心位置から肩関節までのベクトルを表わす。「Le」は、上腕重心位置から肘関節までのベクトルを表わす。「li,j End」は、上腕重心位置からj番目の筋のi番目の端点までのベクトルを表わす。「lCol」は、上腕重心位置から干渉点までのベクトルを表わす。I1は、上腕の慣性テンソルを表わす。ドット付の「ω1」は、上腕の角加速度ベクトルを表わす。ドット無しの「ω1」は、上腕の角速度ベクトルを表わす。 Here, "m 1 " represents the mass of the upper arm. "G" represents gravitational acceleration. "F s " represents the inter-articular force of the shoulder joint. "F e " represents the inter-articular force of the elbow joint. “Fi , j End ” represents the force exerted on the humerus by the i-th muscle fiber in the j-th muscle. “A g1 ” represents the acceleration of the position of the center of gravity of the upper arm. "L s " represents a vector from the position of the center of gravity of the upper arm to the shoulder joint. "L e " represents a vector from the position of the center of gravity of the upper arm to the elbow joint. "L i, j End " represents a vector from the position of the center of gravity of the upper arm to the i-th end point of the j-th muscle. “L Col ” represents a vector from the position of the center of gravity of the upper arm to the point of interference. I 1 represents the inertia tensor of the upper arm. “Ω 1 ” with dots represents the angular acceleration vector of the upper arm. “Ω 1 ” without dots represents the angular velocity vector of the upper arm.
なお、端点は、筋モデルの上記式(1)の運動方程式で表わされるものの、骨に対して不動であるという拘束条件があるため、実質的には骨モデルのシミュレーション結果に従うべき質点である。つまり、端点については、運動解析装置100は、骨モデルのシミュレーション結果を参照して1タイムステップ後の位置を更新する。一方、端点以外の質点については、運動解析装置100は、筋モデルのシミュレーション結果をそのまま用いて1タイムステップ後の位置を更新する。このように、運動解析装置100は、端点とそれ以外の質点とを別に扱うことで、骨モデルと筋モデルとを統合的に扱うことができる。
Although the end points are represented by the equation of motion of the above equation (1) of the muscle model, they are mass points that should substantially follow the simulation results of the bone model because there is a constraint condition that they are immobile with respect to the bone. That is, for the end points, the
[5 運動解析装置100のハードウェア構成]
図9を参照して、運動解析装置100のハードウェア構成の一例について説明する。図9は、運動解析装置100の主要なハードウェア構成を示すブロック図である。図9に示されるように、運動解析装置100は、ROM(Read Only Memory)101と、CPU102と、RAM(Random Access Memory)103と、GPU104と、ネットワークインターフェース105と、ディスプレイインターフェース106と、記憶装置110とを含む。
[5 Hardware configuration of motion analysis device 100]
An example of the hardware configuration of the
ROM101は、オペレーティングシステム、運動解析装置100で実行される制御プログラム等を格納する。CPU102は、オペレーティングシステムや運動解析プログラム114等の各種プログラムを実行することで、運動解析装置100の動作を制御する。RAM103は、ワーキングメモリとして機能し、プログラムの実行に必要な各種データを一時的に格納する。
The
GPU104は、筋モデル50A,50Bや緩衝オブジェクト60の運動解析処理を高速化するための演算装置である。GPU104は、筋モデル50Aを構成する各質点と、筋モデル50Bを構成する各質点と、緩衝オブジェクト60を構成する各質点との運動解析を上述の「2.3 GPUへの実装方法」で説明した方法で並列処理する。
The
ディスプレイインターフェース106は、運動解析装置100とディスプレイ107とを接続するための端子である。ディスプレイ107は、たとえば、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、またはその他の表示機器等を含む。運動解析プログラム114が実行されることにより、ディスプレイ107は、筋モデルや骨モデルの運動解析結果を表示する。
The
記憶装置110は、たとえば、ハードディスクや外付けの記憶装置等の記憶媒体である。一例として、記憶装置110は、人体の各部位をコンピュータ上で表現するための質点情報112(図2参照)と、各部位間の結合関係を規定している結合情報113(図6参照)と、本実施の形態に従う各種の処理を実現するための運動解析プログラム114とを格納する。
The
運動解析プログラム114は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、任意のプログラムと協働して本実施の形態に従う処理が実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う運動解析装置100の趣旨を逸脱するものではない。さらに、本実施の形態に従う運動解析プログラム114によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、運動解析装置100とサーバとが協働して、本実施の形態に従う処理を実現するようにしてもよい。さらに、少なくとも1つのサーバが本実施の形態に従う処理を実現する、所謂クラウドサービスの形態で運動解析装置100が構成されてもよい。
The
[7 まとめ]
(7.1 利点)
(a)演算時間の短縮
上述の運動解析方法を用いることで、運動解析装置100は、筋モデル50Aと筋モデル50Bとの間の距離を緩衝オブジェクト60を通じて一定に保つことができる。その結果、筋モデル50Aと筋モデル50Bとが初期姿勢で互いに接していた場合には、その接していた状態を保つことになる。
[7 Summary]
(7.1 Advantage)
(A) Reduction of calculation time By using the above-mentioned motion analysis method, the
従来の方法では、干渉判定を行う際には、三次元オブジェクトを三角形の集合(すなわち、ポリゴンオブジェクト)として扱うことが多かった。この場合には、各オブジェクトから一つずつ三角形を選択し、2つの三角形の干渉判定を行う必要がある。三角形の数の多い精巧なオブジェクトの場合には、この作業に膨大な時間を要する。また、干渉判定があった場合に、その干渉深度に応じて両オブジェクトに反対方向の力(すなわち、ペナルティフォース)を与えることで干渉を回避していた。 In the conventional method, when the interference determination is performed, the three-dimensional object is often treated as a set of triangles (that is, a polygon object). In this case, it is necessary to select one triangle from each object and determine the interference between the two triangles. For elaborate objects with a large number of triangles, this can be very time consuming. In addition, when an interference determination is made, interference is avoided by applying a force (that is, a penalty force) in the opposite direction to both objects according to the interference depth.
本提案手法は、従来の方法での多くのデメリットを解消することができる。本提案手法の1つ目のメリットは、三次元オブジェクト同士の干渉判定を行う必要がなく、計算時間を大幅に短縮できる点である。緩衝オブジェクト60の質点と筋モデル50A,50Bの質点との間で生じる力ベクトルは、両質点の位置関係だけで決まるため、ポリゴンオブジェクトという概念を利用する必要がない。
The proposed method can eliminate many of the disadvantages of the conventional method. The first merit of the proposed method is that it is not necessary to determine the interference between three-dimensional objects, and the calculation time can be significantly shortened. Since the force vector generated between the mass points of the
本提案手法の2つ目のメリットは、急激な力の変化が発生しやすいペナルティフォースを用いる必要がない点である。干渉が判定された場合にだけペナルティフォースを与える方法では、判定時に急激に大きな力が発生してしまう場合があり、シミュレーションが安定しない。一方で、本実施の形態に従う運動解析方法では、緩衝オブジェクト60の質点と筋モデル50A,50Bの質点との間に常に非ゼロの力が作用するため、急激な力の変化が起こりにくく、シミュレーションが安定する。
The second merit of the proposed method is that it is not necessary to use a penalty force that tends to cause a sudden change in force. In the method of giving a penalty force only when interference is determined, a large force may be suddenly generated at the time of determination, and the simulation is not stable. On the other hand, in the motion analysis method according to the present embodiment, since a non-zero force always acts between the mass points of the
(b)シミュレーション性能の改善
従来、大胸筋、三角筋、上腕二頭筋等の多数の筋が重なる上腕骨大結節稜付近においては、シミュレーションが不安定になることが多かった。特に、肩関節の外転角度を90度程度まで大きくした場合には、シミュレーションが発散してしまうことがあった。一方で、本提案手法を用いると発散することはなく、肩関節の外転角度が90度を超えても安定してシミュレーションを継続することが可能となった。図10は、本提案手法のシミュレーション結果の一例を示す図である。図10に示されるように、本提案手法では、肩関節の外転角度が90度を超えている場合でも、安定してシミュレーションが継続している。
(B) Improvement of simulation performance Conventionally, the simulation was often unstable near the humeral large nodule ridge where many muscles such as the pectoralis major muscle, deltoid muscle, and biceps brachii muscle overlap. In particular, when the abduction angle of the shoulder joint was increased to about 90 degrees, the simulation sometimes diverged. On the other hand, when the proposed method was used, it did not diverge, and it became possible to continue the simulation stably even if the abduction angle of the shoulder joint exceeded 90 degrees. FIG. 10 is a diagram showing an example of the simulation result of the proposed method. As shown in FIG. 10, in the proposed method, the simulation continues stably even when the abduction angle of the shoulder joint exceeds 90 degrees.
(7.2 利用例)
本提案手法は、人体CG(Computer Graphics)モデルのように、複数の変形可能オブジェクトが常に接している状況を再現する場合に有用である。特に、人体筋骨格モデルの場合には、各筋を個別にモデル化する必要があるため、オブジェクトの数、および、オブジェクト同士の干渉数が膨大になる。そのため、ペナルティフォース法による干渉回避方法では、いたる箇所でシミュレーションが不安定となるため、このことを解消できる本提案手法は、極めて画期的である。
(7.2 Usage example)
The proposed method is useful when reproducing a situation in which a plurality of deformable objects are always in contact with each other, such as a human body CG (Computer Graphics) model. In particular, in the case of the human musculoskeletal model, each muscle needs to be modeled individually, so that the number of objects and the number of interferences between objects become enormous. Therefore, in the interference avoidance method by the penalty force method, the simulation becomes unstable everywhere, and the proposed method that can solve this is extremely epoch-making.
また、本提案手法は、筋だけではなく、内蔵・血管などの他の部位にも適用可能である。内蔵・血管も、筋と同様に、結合組織を介して他の組織と緩やかに結合している。そのため、干渉判定による離散的な制御よりも、緩衝オブジェクト60を配置することによる連続的な制御の方が効果的である。
In addition, the proposed method can be applied not only to muscles but also to other parts such as internal organs and blood vessels. Like muscle, internal organs and blood vessels are loosely connected to other tissues via connective tissue. Therefore, continuous control by arranging the
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。 It should be considered that the embodiments disclosed this time are exemplary in all respects and not restrictive. The scope of the present invention is shown by the scope of claims rather than the above description, and is intended to include all modifications within the meaning and scope equivalent to the scope of claims.
50,50A,50B 筋モデル、60 緩衝オブジェクト、100 運動解析装置、101 ROM、102 CPU、103 RAM、104 GPU、105 ネットワークインターフェース、106 ディスプレイインターフェース、107 ディスプレイ、110 記憶装置、112 質点情報、113 結合情報、114 運動解析プログラム、150 演算部、151 第1算出部、152 第2算出部、153 第3算出部、160 位置算出部。 50, 50A, 50B muscle model, 60 buffer object, 100 motion analyzer, 101 ROM, 102 CPU, 103 RAM, 104 GPU, 105 network interface, 106 display interface, 107 display, 110 storage device, 112 point information, 113 coupling Information, 114 motion analysis program, 150 calculation unit, 151 first calculation unit, 152 second calculation unit, 153 third calculation unit, 160 position calculation unit.
Claims (5)
前記動物の体内の各部位を表わす複数の三次元モデルを格納するための記憶部を備え、
前記複数の三次元モデルの各々は、複数の質点で表わされ、
前記複数の質点の各々は、三次元上の座標値と質量とに対応付けられており、かつ、三次元モデル内の関連付けられている他の質点との距離に依存する力学的関係よって当該他の質点と結合しており、
前記複数の三次元モデルは、前記動物の体内の第1~第3の部位を表わす第1~第3の部位モデルを含み、
前記第3の部位モデルの1つ以上の表面の各々を構成する複数の質点の一部または全部は、前記第1の部位モデルを構成する複数の質点と、前記第2の部位モデルを構成する複数の質点との内のいずれかの質点に関連付けられており、
前記第1~第3の部位モデルの複数の質点の各々についての座標値を計算するための演算部を備え、
前記演算部は、
前記第1~第3の部位モデルの複数の質点の各々について、当該質点と関連付けられている他の質点との間の距離に応じて、当該質点が当該他の質点から受ける力を計算し、
前記第1~第3の部位モデルの複数の質点の各々について、当該質点に対応付けられている質量と、当該質点について計算された前記力とに依存する運動方程式によって当該質点の座標値を順次計算する、運動解析装置。 It is a motion analysis device for analyzing the motion of animals.
A storage unit for storing a plurality of three-dimensional models representing each part of the animal's body is provided.
Each of the plurality of three-dimensional models is represented by a plurality of mass points.
Each of the plurality of mass points is associated with a coordinate value in three dimensions and a mass, and is said to be the other due to a mechanical relationship depending on the distance from other associated mass points in the three-dimensional model. Combined with the mass point of
The plurality of three-dimensional models include a first to third site model representing the first to third sites in the animal's body.
A part or all of the plurality of mass points constituting each of the one or more surfaces of the third site model constitutes the plurality of mass points constituting the first site model and the second site model. It is associated with one of the masses with multiple masses and
A calculation unit for calculating the coordinate values for each of the plurality of mass points of the first to third part models is provided.
The arithmetic unit
For each of the plurality of mass points of the first to third site models, the force that the mass point receives from the other mass points is calculated according to the distance between the mass point and the other mass points associated with the mass point.
For each of the plurality of mass points of the first to third part models, the coordinate values of the mass points are sequentially set by an equation of motion depending on the mass associated with the mass point and the force calculated for the mass point. A motion analyzer that calculates.
前記第2の表面を構成する複数の質点の一部または全部は、前記第2の部位モデルを構成する少なくとも1つの質点と関連付けられている、請求項2に記載の運動解析装置。 Some or all of the plurality of mass points constituting the first surface are associated with at least one mass point constituting the first site model.
The motion analysis apparatus according to claim 2, wherein some or all of the plurality of mass points constituting the second surface are associated with at least one mass point constituting the second site model.
前記第1の表面を構成する複数の質点の一部または全部は、前記第1の部位モデルを構成する複数の質点と、前記第2の部位モデルを構成する複数の質点との内のいずれかの質点に関連付けられている、請求項2に記載の運動解析装置。 The third site model represents the skin of the animal.
A part or all of the plurality of mass points constituting the first surface is any one of the plurality of mass points constituting the first site model and the plurality of mass points constituting the second site model. The motion analysis apparatus according to claim 2, which is associated with the mass point of the above.
前記第2の部位モデルは、前記動物の体内の第2の筋を表わす、請求項1~4のいずれか1項に記載の運動解析装置。 The first site model represents the first muscle in the animal's body.
The motion analysis device according to any one of claims 1 to 4, wherein the second site model represents a second muscle in the body of the animal.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018086037A JP7066174B2 (en) | 2018-04-27 | 2018-04-27 | Motion analysis device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018086037A JP7066174B2 (en) | 2018-04-27 | 2018-04-27 | Motion analysis device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019192053A JP2019192053A (en) | 2019-10-31 |
| JP7066174B2 true JP7066174B2 (en) | 2022-05-13 |
Family
ID=68390322
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018086037A Active JP7066174B2 (en) | 2018-04-27 | 2018-04-27 | Motion analysis device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7066174B2 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004078698A (en) | 2002-08-20 | 2004-03-11 | Japan Science & Technology Corp | Simulation system with human body model including muscles |
| US20160024731A1 (en) | 2013-03-05 | 2016-01-28 | Jose Manuel Sanchez De La Cruz | Traffic protection barrier for roads |
| JP2017037553A (en) | 2015-08-12 | 2017-02-16 | 国立研究開発法人情報通信研究機構 | Motion analysis device and motion analysis method |
-
2018
- 2018-04-27 JP JP2018086037A patent/JP7066174B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004078698A (en) | 2002-08-20 | 2004-03-11 | Japan Science & Technology Corp | Simulation system with human body model including muscles |
| US20160024731A1 (en) | 2013-03-05 | 2016-01-28 | Jose Manuel Sanchez De La Cruz | Traffic protection barrier for roads |
| JP2017037553A (en) | 2015-08-12 | 2017-02-16 | 国立研究開発法人情報通信研究機構 | Motion analysis device and motion analysis method |
Non-Patent Citations (2)
| Title |
|---|
| 中田 聖人,解剖学的構造とその挙動を考慮した手の陰的モデリング,映像情報メディア学会技術報告,映像情報メディア学会,2017年03月07日,Vol.41 No.12,pp.53-56,ISSN 134-6893 |
| 松阪 喜幸,ビジュアル情報処理 -CG・画像処理入門-,初版,画像情報教育振興協会,2017年03月23日,pp.120-121,ISBN 978-4-903474-57-1 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2019192053A (en) | 2019-10-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Comas et al. | Efficient nonlinear FEM for soft tissue modelling and its GPU implementation within the open source framework SOFA | |
| US8185265B2 (en) | Path planning device, path planning method, and computer program | |
| Alqumsan et al. | Robust control of continuum robots using Cosserat rod theory | |
| JP5411057B2 (en) | Improved method and system for simulating beam-surface contact in finite element analysis | |
| Groen et al. | Analysing and modelling the performance of the HemeLB lattice-Boltzmann simulation environment | |
| US20100030532A1 (en) | System and methods for digital human model prediction and simulation | |
| JP6043146B2 (en) | Method and system for numerically simulating muscle movement along a bone and muscle movement around a joint | |
| US20190108300A1 (en) | Methods for realistic and efficient simulation of moving objects | |
| Paloc et al. | Online multiresolution volumetric mass spring model for real time soft tissue deformation | |
| Michels et al. | A physically based approach to the accurate simulation of stiff fibers and stiff fiber meshes | |
| US10621384B2 (en) | Method and system of constraint-based optimization of digital human upper limb models | |
| Valero-Lara et al. | Accelerating solid-fluid interaction using lattice-boltzmann and immersed boundary coupled simulations on heterogeneous platforms | |
| CN107330972A (en) | Simulate the real-time soft tissue deformation method and system of biomechanics characteristic | |
| Austin et al. | Titan: A parallel asynchronous library for multi-agent and soft-body robotics using nvidia cuda | |
| Nowak et al. | Justification of a certain algorithm for shape optimization in 3D elasticity | |
| JP6614645B2 (en) | Motion analysis apparatus and motion analysis method | |
| Choi et al. | A scalable force propagation approach for web-based deformable simulation of soft tissues | |
| Chen et al. | A dynamic model of tensegrity robotic fish considering soft fish skin and tail | |
| JP7066174B2 (en) | Motion analysis device | |
| Hermann et al. | Interactive physical simulation on multicore architectures | |
| WO2015102484A1 (en) | Method for generating a real-time haptic feedback signal for a haptic device of a virtual surgery simulator and virtual surgery simulator | |
| Lu et al. | Cylindrical element: Isogeometric model of continuum rod | |
| Va et al. | Real-time volume preserving constraints for volumetric model on GPU | |
| Gilles et al. | Frame-based interactive simulation of complex deformable objects | |
| De Oliveira et al. | Virtual reality framework for medical training: implementation of a deformation class using Java |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210413 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220118 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220318 |
|
| 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: 20220412 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220420 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7066174 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |