Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7066174B2 - Motion analysis device - Google Patents
[go: Go Back, main page]

JP7066174B2 - Motion analysis device - Google Patents

Motion analysis device Download PDF

Info

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
Application number
JP2018086037A
Other languages
Japanese (ja)
Other versions
JP2019192053A (en
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.)
National Institute of Information and Communications Technology
Original Assignee
National Institute of Information and Communications Technology
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 National Institute of Information and Communications Technology filed Critical National Institute of Information and Communications Technology
Priority to JP2018086037A priority Critical patent/JP7066174B2/en
Publication of JP2019192053A publication Critical patent/JP2019192053A/en
Application granted granted Critical
Publication of JP7066174B2 publication Critical patent/JP7066174B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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. Patent Document 2 discloses "a three-dimensional object control device capable of calculating interference between objects arranged in a virtual space by a simple calculation". The three-dimensional object control device disclosed in Patent Document 2 is not premised on avoiding interference between parts in the body.

特開2017-037553号公報Japanese Unexamined Patent Publication No. 2017-037553 特開2006-302098号公報Japanese Unexamined Patent Publication No. 2006-302098

体内の各部位は、他の部位と常に接触しており、より複雑な運動解析を実現するためには、各部位の干渉を常に考慮する必要がある。体内の各部位について干渉判定処理および干渉回避処理を行うと、処理に膨大な時間を要する。そのため、これらの処理を常に行うことは現実的ではない。そのため、体内の各部位の干渉回避を従来とは異なる手法で実現する必要がある。 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.

筋モデルの一例を概略的に示す図である。It is a figure which shows the example of the muscle model schematically. 筋モデルの各質点に関する質点情報112を示す図である。It is a figure which shows the mass point information 112 about each mass point of a muscle model. 運動解析装置の機能構成の一例を示すブロック図である。It is a block diagram which shows an example of the functional structure of a motion analysis apparatus. 各質点の座標計算時におけるGPU(Graphics Processing Unit)へのスレッドの配置を示す概念図である。It is a conceptual diagram which shows the arrangement of a thread in a GPU (Graphics Processing Unit) at the time of coordinate calculation of each mass point. 筋モデル同士の干渉回避処理を説明するための図である。It is a figure for demonstrating the interference avoidance processing between muscle models. 結合情報のデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the join information. 筋モデルと皮膚モデルとの干渉回避処理を説明するための図である。It is a figure for demonstrating the interference avoidance processing between a muscle model and a skin model. 筋骨格モデルを概略的に示す図である。It is a figure which shows the musculoskeletal model schematically. 運動解析装置の主要なハードウェア構成を示すブロック図である。It is a block diagram which shows the main hardware composition of a motion analysis apparatus. 本提案手法のシミュレーション結果の一例を示す図である。It is a figure which shows an example of the simulation result of this proposed method.

以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。また、以下で説明する変形例は、適宜選択的に組み合わされてもよい。 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 muscle model 50 according to the embodiment will be described with reference to FIG. FIG. 1 is a diagram schematically showing an example of a muscle model 50.

筋モデル50は、複数の質点で表わされる。質点とは、筋を構成する各部分を表わす要素のことをいう。各質点には、三次元上の座標値と質量とが関連付けられている。 The muscle model 50 is represented by a plurality of mass points. A mass point is an element that represents each part that constitutes a muscle. Each mass point is associated with a three-dimensional coordinate value and mass.

図1に示されるように、筋モデル50を構成する各質点は、三次元の格子座標系(i、j、k)で表わされる。当該座標系の「k」は、筋の長手方向(すなわち、筋の始端から終端に向かう方向)に直交する断面の番号を表わす。筋モデル50の各断面に含まれる各質点の番号は、2次元格子座標(i、j)で管理される。 As shown in FIG. 1, each mass point constituting the muscle model 50 is represented by a three-dimensional grid coordinate system (i, j, k). The "k" in the coordinate system represents the number of the cross section orthogonal to the longitudinal direction of the muscle (that is, the direction from the beginning to the end of the muscle). The number of each mass point included in each cross section of the muscle model 50 is managed by the two-dimensional lattice coordinates (i, j).

i方向の質点数は、N個とする。j方向の質点数は、N個とする。k方向の質点数は、N個とする。すなわち、1つの筋は、6面体のポリゴンを直列に(N-1)個並べてできる細長いポリゴンを、並列に(N-1)*(N-1)個束ねることによって構成される。(i、j、k)番目の質点の通し番号nは、「n=i+(N*j)+(N*N*k)」で表わされる。たとえば、N=5、N=7である場合、(i、j、k)=(0、2、1)における質点の通し番号は、45(=0+(5*2)+(5*7*1))となる。N、N、Nの値が調整されることで、筋モデル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 muscle model 50 can be represented by various shapes such as elongated muscles and flat muscles.

なお、この形状表現は、筋だけでなく、骨と骨をつないでいる靭帯や、多頭筋を束ねている腱膜の表現にも用いられ得る。これにより、人体の各部位(たとえば、筋、腱、靭帯、腱膜等)の形状が一元的に管理される。また、このような形状表現により、後述するように同一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 motion analysis device 100 will be described with reference to FIGS. 2 and 3. FIG. 2 is a diagram showing mass point information 112 for each mass point of the muscle model 50. FIG. 3 is a block diagram showing an example of the functional configuration of the motion analysis device 100.

以下の式(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.

Figure 0007066174000001
Figure 0007066174000001

式(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 mass point information 112 of FIG. As an example, the mass " mn " of each mass point is obtained in advance from the human body model that defines the structure of the human body. “A n ” in the equation (1) represents the acceleration vector of the nth mass point.

式(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 arithmetic unit 150 included in the motion analysis device 100. The arithmetic unit 150 corresponds to a CPU (Central Processing Unit) 102 or GPU 104, which will be described later. The calculation unit 150 sequentially calculates the coordinate values for each mass point based on the fact that the mass points constituting the surface of the muscle receive an external force among the plurality of mass points constituting the muscle model 50. The calculation unit 150 depends on the mass associated with the mass point, the passive force "f Passive " for the mass point, and the external force "f Col " for the mass point receiving the external force "f Col ". The coordinate values of the mass points are sequentially calculated by the equation of motion. For a mass point that has not received an external force "f Col ", the calculation unit 150 uses an equation of motion that depends on the mass associated with the mass point and the force "f Passive " calculated for the mass point to obtain the coordinates of the mass point. Calculate the values sequentially. That is, the arithmetic unit 150 solves the equation of motion of the equation (1) after setting the external force “f Col ” to zero for the mass point that has not received the external force. When calculating the coordinate values of each mass point in more detail, an active muscle contraction force "f Active " is added to the equation of motion as shown in the equation (1).

図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 calculation unit 150 includes a first calculation unit 151, a second calculation unit 152, a third calculation unit 153, and a position calculation unit 160 as a functional configuration. The first calculation unit 151 calculates the passive force "f Passive " of the equation (1). The second calculation unit 152 calculates the muscle contraction force “f Active ” represented by the equation (1). The third calculation unit 153 calculates the external force "f Col " represented by the equation (1). The position calculation unit 160 calculates the coordinate values of each mass point of the muscle model 50 by solving the equation of motion of the above equation (1).

(a)第1算出部151
以下、隣接する質点から受ける力「fPassive」の算出方法について説明する。力「fPassive」は、第1算出部151によって算出される。第1算出部151は、対象の質点と隣接する質点との力学的な結合関係をバネに見立てて「fPassive」を計算する。すなわち、筋モデル50の各質点は、隣接する質点との距離に依存する力学的関係よって隣接する質点と結合しており、第1算出部151は、対象の質点と隣接する質点との間の距離に応じて、対象の質点が隣接する質点から受ける力を算出する。
(A) First calculation unit 151
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 first calculation unit 151. The first calculation unit 151 calculates "f Passive " by regarding the mechanical coupling relationship between the target mass point and the adjacent mass point as a spring. That is, each mass point of the muscle model 50 is connected to the adjacent mass point by a mechanical relationship depending on the distance from the adjacent mass point, and the first calculation unit 151 is between the target mass point and the adjacent mass point. The force that the target mass point receives from the adjacent mass point is calculated according to the distance.

各質点には、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 muscle model 50 may not be able to maintain its shape only by arranging the springs in the i, j, and k directions (see FIG. 1). Therefore, it is preferable that diagonal springs are arranged in all the cross sections in the i, j, and k directions. As a result, the motion analysis device 100 can stably perform shape simulation on the muscle model 50. For example, the passive force "f Passive " is expressed by the following equation (2).

Figure 0007066174000002
Figure 0007066174000002

式(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).

Figure 0007066174000003
Figure 0007066174000003

式(3)の弾性力「fnm S」は、以下の式(4)で表わされる。 The elastic force "f nm S " in the formula (3) is expressed by the following formula (4).

Figure 0007066174000004
Figure 0007066174000004

式(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 mass point information 112 in FIG. "| X nm |" represents the distance between the nth mass point and the mth mass point. "L nm " represents the distance (that is, the natural length) between the nth mass point and the mth mass point when no force is applied. The natural length between each mass point is predetermined, for example, in the mass point information 112 of FIG.

式(3)の粘性力「fnm D」は、以下の式(5)で表わされる。 The viscous force "f nm D " of the formula (3) is expressed by the following formula (5).

Figure 0007066174000005
Figure 0007066174000005

式(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) Second calculation unit 152
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 second calculation unit 152. The muscle contraction force "f Active " works only in the k direction, and its magnitude is the relationship between muscle activity, tension and length "F l (| x nm |)", and tension and velocity. It is determined by "F v (| v nm |)" and the maximum isometric contractile muscle strength "F max ". More specifically, the muscle contraction force "f Active " is expressed by the following equation (6).

Figure 0007066174000006
Figure 0007066174000006

(c)第3算出部153
上述したように、第3算出部153は、筋モデル50に与える外力「fCol」を算出する。外力「fCol」は、たとえば、筋モデル50が他の物体と衝突することによる反発力や干渉力として生じる。筋モデル50に外力を与える物体は、たとえば、他の筋モデルおよび骨モデルの少なくとも一方を含む。外力「fCol」は、後述する計算方法で算出されてもよいし、運動解析装置100の操作者によって任意の値で与えられてもよい。
(C) Third calculation unit 153
As described above, the third calculation unit 153 calculates the external force "f Col " applied to the muscle model 50. The external force "f Col " is generated as, for example, a repulsive force or an interference force caused by the muscle model 50 colliding with another object. The object that exerts an external force on the muscle model 50 includes, for example, at least one of the other muscle model and the bone model. The external force "f Col " may be calculated by a calculation method described later, or may be given by an operator of the motion analysis device 100 at an arbitrary value.

外力「fCol」は、筋モデル50の表面を構成する質点に与えられる。すなわち、外力「fCol」は、筋モデル50の内部を構成する質点には与えられない。 The external force "f Col " is applied to the mass points constituting the surface of the muscle model 50. That is, the external force "f Col " is not applied to the mass points constituting the inside of the muscle model 50.

(d)位置算出部160
位置算出部160は、上記式(1)に示される運動方程式を各質点について解くことにより、各質点の加速度を算出する。位置算出部160は、各質点の初期位置や各質点の初期速度(典型的には、ゼロ)を反映した上で、各質点の加速度を時間で二回積分することにより各質点の座標を算出する。時間積分の方法としては、たとえば、ベレの方法が用いられる。
(D) Position calculation unit 160
The position calculation unit 160 calculates the acceleration of each mass point by solving the equation of motion shown in the above equation (1) for each mass point. The position calculation unit 160 calculates the coordinates of each mass point by integrating the acceleration of each mass point twice in time after reflecting the initial position of each mass point and the initial velocity of each mass point (typically zero). do. As a method of time integration, for example, Verlet's method is used.

位置算出部160は、各質点の新たな座標値を算出したことに基づいて、図2の質点情報112における現在の位置を各質点の新たな座標値で書き換えるとともに、書き換え前の位置を質点情報112の履歴に格納する。 The position calculation unit 160 rewrites the current position in the mass point information 112 in FIG. 2 with the new coordinate value of each mass point based on the calculation of the new coordinate value of each mass point, and the position before rewriting is the mass point information. Store in the history of 112.

(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 motion analysis device 100 performs the calculation of the equation of motion (see the above equation (1)) for each mass point of the muscle model 50 in parallel for a part or all of them. As a result, the motion analysis device 100 can significantly reduce the processing time required to analyze the motion of the muscle model 50.

(b)スレッドの管理方法
運動解析装置100は、たとえば、各質点の運動方程式の並列処理をGPUで実現する。GPUは、複数のコア(たとえば、数百個のコア)を有する。GPUは、筋モデル50の運動解析を実現するためのプログラムを多数のスレッドに分割し、各コアに対応するスレッドを割り当てることで、筋モデル50の運動解析を並列処理する。
(B) Thread management method The motion analysis device 100 realizes, for example, parallel processing of the equations of motion of each mass point on the GPU. The GPU has a plurality of cores (for example, hundreds of cores). The GPU divides the program for realizing the motion analysis of the muscle model 50 into a large number of threads, and assigns threads corresponding to each core to process the motion analysis of the muscle model 50 in parallel.

図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つの筋繊維を割り当てる。人のほとんどの筋の形状は、N=7、N=16、N=33の範囲内で表現され得るため、i方向の最大スレッド数が7に設定され、j方向の最大スレッド数が16に設定される。 A plurality of threads are arranged in each block in two dimensions. As shown in FIG. 4B, the motion analyzer 100 allocates one muscle fiber to one thread. Since most human muscle shapes can be represented within the range Ni = 7, N j = 16, N k = 33, the maximum number of threads in the i direction is set to 7, and the maximum number of threads in the j direction. Is set to 16.

(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 motion analysis device 100 is designed so that one muscle is assigned to one block.

しかしながら、シェアードメモリの容量は、数十KBと小さいため(たとえば、16KB、32KB、48KBの3種類)、1つの筋の情報を全てシェアードメモリに割り当てることは困難である。たとえば、筋のサイズがN=7、N=16、N=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~Nまで順に計算する。より具体的には、運動解析装置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 motion analysis device 100 allocates one muscle fiber to one thread, and the coordinate value of each mass point of each cross section is k =. Calculate in order from 0 to N k . More specifically, the motion analysis device 100 arranges the information of the mass points included in the three cross sections of k = 0, k = 1, and k = 2 in the shared memory at the time of calculating the mass points in the cross section of k = 1. Then, the coordinate value of each mass point in the cross section of k = 1 is calculated. When all the threads have completed the calculation, the motion analysis device 100 rewrites the shared memory with the information of the mass points included in the cross sections of k = 1, k = 2, and k = 3, and in the next cross section of k = 2. Proceed to the mass calculation process.

[3 筋モデルの干渉回避処理]
(3.1)概要
以下、筋モデル50についての干渉計算について説明する。本実施の形態に従う運動解析装置100は、バネマスダンパモデルに基づく上述の運動解析方法を、筋モデル50と他の部位との干渉回避処理にも適用する。上述のように、バネマスダンパモデルの特徴は、各質点の運動方程式が同じ計算式で表わされ、かつ、各質点のシミュレーションの1タイムステップ(Δt)の積分計算が他の質点とは独立に行うことができる点である。これにより、大量の質点の1タイムステップの積分計算が並列に処理されるので、干渉回避処理についても同様に高速化することができる。
[Interference avoidance processing of 3 muscle models]
(3.1) Outline The interference calculation for the muscle model 50 will be described below. The motion analysis device 100 according to the present embodiment also applies the above-mentioned motion analysis method based on the spring mass damper model to the interference avoidance process between the muscle model 50 and other parts. As described above, the characteristics of the spring mass damper model are 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 is independent of the other mass points. It is a point that can be done. As a result, the integral calculation of a large number of mass points in one time step is processed in parallel, so that the interference avoidance processing can be speeded up as well.

以下では、筋モデル50についての干渉回避処理について説明を行うが、本明細書で説明する干渉回避処理は、筋以外の他の部位を表わす三次元モデルにも適用され得る。 Hereinafter, the interference avoidance process for the muscle model 50 will be described, but the interference avoidance process described in the present specification can also be applied to a three-dimensional model representing a part other than the muscle.

(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 muscle model 50A (first part model) representing the first muscle (first part) of the human body and a muscle model 50B (second part) representing the second muscle (second part) of the human body. 2 site model) is shown. FIG. 5 shows an example in which the muscle model 50A and the muscle model 50B are separated from each other for convenience of explanation. In fact, the muscle models 50A and 50B are in contact with each other or close to each other. ing.

筋モデル50A,50Bの干渉を回避するために、筋モデル50A,50Bの間に緩衝オブジェクト60が配置される。緩衝オブジェクト60は、ユーザによって手動で配置されてもよいし、干渉する可能性のある部位間に自動で配置されてもよい。 In order to avoid the interference of the muscle models 50A and 50B, the buffer object 60 is arranged between the muscle models 50A and 50B. The buffer object 60 may be manually placed by the user or may be automatically placed between sites that may interfere with each other.

緩衝オブジェクト60は、人体の体内の部位に見立てることができる。本例では、緩衝オブジェクト60は、人体の筋膜に見立てられる。 The buffer object 60 can be likened to a part of the human body. In this example, the buffer object 60 is likened to the fascia of the human body.

緩衝オブジェクト60は、筋モデル50A,50Bと同様に図2で説明した質点情報112によって規定される。すなわち、緩衝オブジェクト60は、複数の質点で表現され、各質点には、質量、バネの自然長などが関連付けられる。バネの自然長は、初期姿勢における各質点間の距離とする。 The buffer object 60 is defined by the mass point information 112 described with reference to FIG. 2 in the same manner as the muscle models 50A and 50B. That is, the buffer object 60 is represented by a plurality of mass points, and each mass point is associated with a mass, a natural length of a spring, and the like. The natural length of the spring is the distance between each mass point in the initial posture.

緩衝オブジェクト60のj方向の質点数を表わす「N」は、たとえば、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 buffer object 60 is set to 2. That is, the buffer object 60 has a plurality of mass points constituting the first surface (that is, mass points corresponding to j = 0) and a plurality of mass points constituting the second surface (that is, mass points corresponding to j = 1). ) And. Each mass point constituting the buffer object 60 is spring-loaded with adjacent mass points in the buffer object 60.

緩衝オブジェクト60を構成する各質点は、緩衝オブジェクト60内の質点だけでなく、緩衝オブジェクト60に接する筋モデル50A,50Bの各質点とも仮想的なバネで結合している。すなわち、緩衝オブジェクト60を構成する一部または全部の質点は、筋モデル50A(第1の部位モデル)を構成する複数の質点と、筋モデル50B(第2の部位モデル)を構成する複数の質点との内のいずれかの質点に関連付けられている。 Each mass point constituting the buffer object 60 is connected not only to the mass point in the buffer object 60 but also to each mass point of the muscle models 50A and 50B in contact with the buffer object 60 by a virtual spring. That is, some or all the mass points constituting the buffer object 60 include a plurality of mass points constituting the muscle model 50A (first site model) and a plurality of mass points constituting the muscle model 50B (second site model). It is associated with one of the mass points of.

図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 muscle model 50A. The mass points constituting the first surface of the buffer object 60 can be regarded as the fascia of the muscle model 50A. On the other hand, each mass point representing the second surface of the buffer object 60 (that is, the mass point corresponding to j = 1) is connected to the mass point of the muscle model 50B. The mass point representing the second surface of the buffer object 60 can be regarded as the fascia of the muscle model 50B.

緩衝オブジェクト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 muscle models 50A and 50B coupled to the buffer object 60 are automatically registered by, for example, the motion analysis device 100. More specifically, the motion analysis device 100 calculates the distance from all the mass points in the muscle model 50A for each mass point (that is, the mass point corresponding to j = 0) constituting the first surface in the buffer object 60. do. Then, the motion analysis device 100 combines each mass point constituting the first surface in the buffer object 60 with one or more mass points having the closest distance among the mass points constituting the muscle model 50A. Similarly, the motion analysis device 100 calculates the distance from all the mass points in the muscle model 50B for each mass point (that is, the mass point corresponding to j = 1) constituting the second surface in the buffer object 60. Then, the motion analysis device 100 combines each mass point constituting the second surface in the buffer object 60 with one or more mass points having the closest distance among the mass points constituting the muscle model 50B. The number of mass points of the muscle models 50A and 50B coupled to each mass point of the buffer object 60 is, for example, about two points.

筋モデル50A,50Bの各質点と緩衝オブジェクト60の各質点との結合結果は、図6に示される結合情報113として記憶される。図6は、結合情報113のデータ構造の一例を示す図である。 The connection result between each mass point of the muscle models 50A and 50B and each mass point of the buffer object 60 is stored as the connection information 113 shown in FIG. FIG. 6 is a diagram showing an example of the data structure of the coupling information 113.

図6に示されるように、結合情報113には、緩衝オブジェクト60の各質点について筋モデル50Aの質点が対応付けられている。一例として、緩衝オブジェクト60の質点番号「n1」の質点は、筋モデル50Aの質点番号「n10」の質点と対応付けられている。 As shown in FIG. 6, the mass points of the muscle model 50A are associated with each mass point of the buffer object 60 in the coupling information 113. As an example, the mass point of the mass point number “n1” of the buffer object 60 is associated with the mass point of the mass point number “n10” of the muscle model 50A.

なお、図6には、筋モデル50Aと緩衝オブジェクト60との結合情報113が示されているが、実際には、他の筋モデル(たとえば、筋モデル50B)についても、当該他の筋モデルと緩衝オブジェクト60との結合情報113が存在する。 Although the connection information 113 between the muscle model 50A and the buffer object 60 is shown in FIG. 6, in reality, other muscle models (for example, muscle model 50B) are also combined with the other muscle models. There is coupling information 113 with the buffer object 60.

運動解析装置100は、筋モデル50A,50Bおよび緩衝オブジェクト60を構成する各質点について、上述の「筋モデルの運動解析」で説明した計算方法で運動解析を行う。すなわち、運動解析装置100は、筋モデル50A,50Bおよび緩衝オブジェクト60を構成する各質点について結合先の他の質点から受ける力を計算し、当該力と各質点に対応付けられている質量とに依存する運動方程式(すなわち、上記式(1))によって各質点の座標値を順次計算する。 The motion analysis device 100 performs motion analysis on each mass point constituting the muscle models 50A and 50B and the buffer object 60 by the calculation method described in the above-mentioned "motion analysis of the muscle model". That is, the motion analysis device 100 calculates the force received from the other mass points of the coupling destination for each mass point constituting the muscle models 50A and 50B and the buffer object 60, and determines the force and the mass associated with each mass point. The coordinate values of each mass point are sequentially calculated by the dependent equation of motion (that is, the above equation (1)).

より具体的には、運動解析装置100は、筋モデル50A,50Bを構成する各質点の内、緩衝オブジェクト60と結合している各質点については、筋モデル50A,50B内の結合先の各質点から受ける力と、緩衝オブジェクト60内の結合先の各質点から受ける力との両方に応じて、筋モデル50A,50B内の各質点の位置を計算する。一方で、運動解析装置100は、筋モデル50A,50Bを構成する各質点の内、緩衝オブジェクト60と結合していない各質点については、筋モデル50A,50B内の結合先の各質点から受ける力に応じて、筋モデル50A,50B内の各質点の位置を計算する。 More specifically, in the motion analysis device 100, among the mass points constituting the muscle models 50A and 50B, for each mass point bonded to the buffer object 60, each mass point of the connection destination in the muscle models 50A and 50B. The position of each mass point in the muscle models 50A and 50B is calculated according to both the force received from and the force received from each mass point of the coupling destination in the buffer object 60. On the other hand, the motion analysis device 100 receives the force received from each of the mass points of the connection destinations in the muscle models 50A and 50B for each mass point not bound to the buffer object 60 among the mass points constituting the muscle models 50A and 50B. The position of each mass point in the muscle models 50A and 50B is calculated according to the above.

また、運動解析装置100は、緩衝オブジェクト60を構成する各質点については、緩衝オブジェクト60内の結合先の各質点から受ける力と、筋モデル50A,50B内の結合先の各質点から受ける力との両方に応じて、緩衝オブジェクト60内の各質点の位置を計算する。 Further, the motion analysis device 100 receives the force received from each mass point of the coupling destination in the buffer object 60 and the force received from each mass point of the coupling destination in the muscle models 50A and 50B for each mass point constituting the buffer object 60. The position of each mass point in the buffer object 60 is calculated according to both of the above.

これにより、運動解析装置100は、筋モデル50A,50B内の各質点間の力のやり取りを計算できるだけでなく、緩衝オブジェクト60を介した筋モデル50Aと筋モデル50Bとの間の力のやり取りを計算することができ、筋モデル50Aと筋モデル50Bとの干渉を回避することができる。 As a result, the motion analysis device 100 can not only calculate the force exchange between each mass point in the muscle models 50A and 50B, but also exchange the force between the muscle model 50A and the muscle model 50B via the buffer object 60. It can be calculated and interference between the muscle model 50A and the muscle model 50B can be avoided.

(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 muscle model 50A (first part model) representing the first muscle (first part) of the human body and a muscle model 50B (second part) representing the second muscle (second part) of the human body. 2 site model) and the buffer object 60 are shown. FIG. 7 shows an example in which the muscle models 50A, 50B and the buffer object 60 are separated from each other for convenience of explanation. In fact, the muscle models 50A, 50B and the buffer object 60 are separated from each other. They are in contact with each other or close to each other.

基本的には、図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 buffer object 60 shown in FIG. 7 is the same as the buffer object 60 shown in FIG. In the buffer object 60 shown in FIG. 5, the mass points of the muscle model 50A are connected to a plurality of mass points constituting the first surface of the buffer object 60 (that is, mass points corresponding to j = 0), and the muscle model The mass points of 50B were combined with a plurality of mass points (that is, mass points corresponding to j = 1) constituting the second surface of the buffer object 60. On the other hand, in the buffer object 60 shown in FIG. 7, the mass points of the muscle model 50A and the mass points of the muscle model 50B are both mass points corresponding to the first surface of the buffer object 60 (that is, j = 0). ) Is combined with the mass points that make up. The buffer object 60 arranged in this way can be regarded as the skin (third part) of the human body.

緩衝オブジェクト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 muscle models 50A and 50B coupled to the buffer object 60 are automatically registered by, for example, the motion analysis device 100. More specifically, the motion analysis device 100 has all the mass points in the muscle model 50A and the muscle model 50B for each mass point (that is, the mass point corresponding to j = 0) constituting the first surface in the buffer object 60. Calculate the distance to. Then, the motion analysis device 100 combines each mass point constituting the first surface in the buffer object 60 with one or more mass points having the closest distance among the mass points constituting the muscle models 50A and 50B. The number of mass points of the muscle models 50A and 50B coupled to each mass point of the buffer object 60 is, for example, about two points.

なお、運動解析装置100は、緩衝オブジェクト60内の第1の表面を構成する各質点だけではなく、緩衝オブジェクト60内の第2の表面を構成する各質点(すなわち、j=1に相当する質点)も、筋モデル50A,50B内のいずれかの質点と結合させてもよい。この場合、緩衝オブジェクト60内の全質点が筋モデル50A,50B内の質点のいずれかと結合することになる。より具体的には、運動解析装置100は、緩衝オブジェクト60内の全質点について筋モデル50A,50B内の各質点との距離を算出する。そして、運動解析装置100は、緩衝オブジェクト60内の全質点を、筋モデル50A,50Bを構成する各質点の内の最も距離が近い1つ以上の質点と結合する。 The motion analysis device 100 includes not only each mass point constituting the first surface in the buffer object 60, but also each mass point constituting the second surface in the buffer object 60 (that is, a mass point corresponding to j = 1). ) May also be combined with any mass point in the muscle models 50A and 50B. In this case, all the mass points in the buffer object 60 are combined with any of the mass points in the muscle models 50A and 50B. More specifically, the motion analysis device 100 calculates the distances of all the mass points in the buffer object 60 from the mass points in the muscle models 50A and 50B. Then, the motion analysis device 100 combines all the mass points in the buffer object 60 with one or more mass points having the closest distance among the mass points constituting the muscle models 50A and 50B.

運動解析装置100は、筋モデル50A,50Bおよび緩衝オブジェクト60を構成する各質点について、上述の「筋モデルの運動解析」で説明した計算方法で運動解析を行う。すなわち、運動解析装置100は、筋モデル50A,50Bおよび緩衝オブジェクト60を構成する各質点について結合先の他の質点から受ける力を計算し、当該力と各質点に対応付けられている質量とに依存する運動方程式(すなわち、上記式(1))によって各質点の座標値を順次計算する。 The motion analysis device 100 performs motion analysis on each mass point constituting the muscle models 50A and 50B and the buffer object 60 by the calculation method described in the above-mentioned "motion analysis of the muscle model". That is, the motion analysis device 100 calculates the force received from the other mass points of the coupling destination for each mass point constituting the muscle models 50A and 50B and the buffer object 60, and determines the force and the mass associated with each mass point. The coordinate values of each mass point are sequentially calculated by the dependent equation of motion (that is, the above equation (1)).

より具体的には、運動解析装置100は、筋モデル50A,50Bを構成する各質点の内、緩衝オブジェクト60と結合している各質点については、緩衝オブジェクト60内の結合先の各質点から受ける力と、筋モデル50A,50B内の結合先の各質点から受ける力との両方に応じて、筋モデル50A,50B内の各質点の位置を計算する。一方で、運動解析装置100は、筋モデル50A,50Bを構成する各質点の内、緩衝オブジェクト60と結合していない各質点については、筋モデル50A,50B内の結合先の各質点から受ける力に応じて、筋モデル50A,50B内の各質点の位置を計算する。 More specifically, the motion analysis device 100 receives each mass point bonded to the buffer object 60 from each mass point of the coupling destination in the buffer object 60 among the mass points constituting the muscle models 50A and 50B. The position of each mass point in the muscle models 50A and 50B is calculated according to both the force and the force received from each mass point of the connection destination in the muscle models 50A and 50B. On the other hand, the motion analysis device 100 receives the force received from each of the mass points of the connection destinations in the muscle models 50A and 50B for each mass point not bound to the buffer object 60 among the mass points constituting the muscle models 50A and 50B. The position of each mass point in the muscle models 50A and 50B is calculated according to the above.

また、運動解析装置100は、緩衝オブジェクト60を構成する各質点については、緩衝オブジェクト60内の結合先の各質点から受ける力と、筋モデル50A,50B内の結合先の各質点から受ける力との両方に応じて、緩衝オブジェクト60内の各質点の位置を計算する。 Further, the motion analysis device 100 receives the force received from each mass point of the coupling destination in the buffer object 60 and the force received from each mass point of the coupling destination in the muscle models 50A and 50B for each mass point constituting the buffer object 60. The position of each mass point in the buffer object 60 is calculated according to both of the above.

これにより、運動解析装置100は、筋モデル50A,50B内の各質点間の力のやり取りを計算できるだけでなく、筋モデル50A,50Bと緩衝オブジェクト60との間の力のやり取りを計算することができ、筋モデル50A,50Bと緩衝オブジェクト60との干渉を回避することができる。 As a result, the motion analysis device 100 can not only calculate the force exchange between each mass point in the muscle models 50A and 50B, but also calculate the force exchange between the muscle models 50A and 50B and the buffer object 60. It is possible to avoid interference between the muscle models 50A and 50B and the buffer object 60.

[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=Nの断面)とに含まれる質点のことをいう。 In order to handle the musculoskeletal model, the motion analysis device 100 needs to handle not only the bone model but also the equation of motion of the muscle model (see the above equation (1)) at the same time. In order to handle two types of equations of motion at the same time, the motion analysis device 100 is subject to the constraint that the mass points (hereinafter, also referred to as “end points”) contained in the ends of the muscles are immobile with respect to the bone. Calculate both equations of motion. The end point refers to a mass point included in the start end (that is, the cross section of k = 0) and the end point (that is, the cross section of k = N k ) of the streak.

骨モデルと筋モデルとの間の力のやり取りは、端点で行われる。筋モデルが骨モデルに与える力は、図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.

Figure 0007066174000007
Figure 0007066174000007

Figure 0007066174000008
Figure 0007066174000008

ここで、「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 motion analysis device 100 updates the position after one time step with reference to the simulation result of the bone model. On the other hand, for mass points other than the end points, the motion analysis device 100 updates the position after one time step using the simulation result of the muscle model as it is. In this way, the motion analysis device 100 can handle the bone model and the muscle model in an integrated manner by treating the end points and the other mass points separately.

[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 motion analysis device 100 will be described with reference to FIG. 9. FIG. 9 is a block diagram showing a main hardware configuration of the motion analysis device 100. As shown in FIG. 9, the motion analysis device 100 includes a ROM (Read Only Memory) 101, a CPU 102, a RAM (Random Access Memory) 103, a GPU 104, a network interface 105, a display interface 106, and a storage device. Including 110.

ROM101は、オペレーティングシステム、運動解析装置100で実行される制御プログラム等を格納する。CPU102は、オペレーティングシステムや運動解析プログラム114等の各種プログラムを実行することで、運動解析装置100の動作を制御する。RAM103は、ワーキングメモリとして機能し、プログラムの実行に必要な各種データを一時的に格納する。 The ROM 101 stores an operating system, a control program executed by the motion analysis device 100, and the like. The CPU 102 controls the operation of the motion analysis device 100 by executing various programs such as an operating system and a motion analysis program 114. The RAM 103 functions as a working memory and temporarily stores various data necessary for executing a program.

GPU104は、筋モデル50A,50Bや緩衝オブジェクト60の運動解析処理を高速化するための演算装置である。GPU104は、筋モデル50Aを構成する各質点と、筋モデル50Bを構成する各質点と、緩衝オブジェクト60を構成する各質点との運動解析を上述の「2.3 GPUへの実装方法」で説明した方法で並列処理する。 The GPU 104 is an arithmetic unit for speeding up the motion analysis processing of the muscle models 50A and 50B and the buffer object 60. The GPU 104 describes the motion analysis of each mass point constituting the muscle model 50A, each mass point constituting the muscle model 50B, and each mass point constituting the buffer object 60 in the above-mentioned "2.3 Implementation method to GPU". Parallel processing is performed by the above method.

ディスプレイインターフェース106は、運動解析装置100とディスプレイ107とを接続するための端子である。ディスプレイ107は、たとえば、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、またはその他の表示機器等を含む。運動解析プログラム114が実行されることにより、ディスプレイ107は、筋モデルや骨モデルの運動解析結果を表示する。 The display interface 106 is a terminal for connecting the motion analysis device 100 and the display 107. The display 107 includes, for example, a liquid crystal display, an organic EL (Electro Luminescence) display, or other display device. When the motion analysis program 114 is executed, the display 107 displays the motion analysis results of the muscle model and the bone model.

記憶装置110は、たとえば、ハードディスクや外付けの記憶装置等の記憶媒体である。一例として、記憶装置110は、人体の各部位をコンピュータ上で表現するための質点情報112(図2参照)と、各部位間の結合関係を規定している結合情報113(図6参照)と、本実施の形態に従う各種の処理を実現するための運動解析プログラム114とを格納する。 The storage device 110 is, for example, a storage medium such as a hard disk or an external storage device. As an example, the storage device 110 includes mass point information 112 (see FIG. 2) for expressing each part of the human body on a computer, and connection information 113 (see FIG. 6) that defines a connection relationship between each part. , A motion analysis program 114 for realizing various processes according to the present embodiment is stored.

運動解析プログラム114は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、任意のプログラムと協働して本実施の形態に従う処理が実現される。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う運動解析装置100の趣旨を逸脱するものではない。さらに、本実施の形態に従う運動解析プログラム114によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、運動解析装置100とサーバとが協働して、本実施の形態に従う処理を実現するようにしてもよい。さらに、少なくとも1つのサーバが本実施の形態に従う処理を実現する、所謂クラウドサービスの形態で運動解析装置100が構成されてもよい。 The motion analysis program 114 may be provided as a part of any program, not as a stand-alone program. In this case, the process according to the present embodiment is realized in cooperation with an arbitrary program. Even a program that does not include such a part of the modules does not deviate from the purpose of the motion analysis device 100 according to the present embodiment. Further, some or all of the functions provided by the motion analysis program 114 according to the present embodiment may be realized by dedicated hardware. Further, the motion analysis device 100 and the server may cooperate with each other to realize the processing according to the present embodiment. Further, the motion analysis device 100 may be configured in the form of a so-called cloud service in which at least one server realizes the processing according to the present embodiment.

[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 motion analysis device 100 can keep the distance between the muscle model 50A and the muscle model 50B constant through the buffer object 60. As a result, when the muscle model 50A and the muscle model 50B are in contact with each other in the initial posture, the contacted state is maintained.

従来の方法では、干渉判定を行う際には、三次元オブジェクトを三角形の集合(すなわち、ポリゴンオブジェクト)として扱うことが多かった。この場合には、各オブジェクトから一つずつ三角形を選択し、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 buffer object 60 and the mass points of the muscle models 50A and 50B is determined only by the positional relationship between the mass points, it is not necessary to use the concept of a polygon object.

本提案手法の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 buffer object 60 and the mass points of the muscle models 50A and 50B, sudden changes in force are unlikely to occur, and the simulation Is stable.

(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 buffer object 60 is more effective than discrete control by interference determination.

今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。 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.
前記第3の部位モデルは、前記第3の部位の第1の表面を構成する複数の質点と、前記第3の部位の第2の表面を構成する複数の質点とで構成されている、請求項1に記載の運動解析装置。 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. Item 1. The motion analysis apparatus according to Item 1. 前記第1の表面を構成する複数の質点の一部または全部は、前記第1の部位モデルを構成する少なくとも1つの質点と関連付けられており、
前記第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.
前記第3の部位モデルは、前記動物の皮膚を表わし、
前記第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.
前記第1の部位モデルは、前記動物の体内の第1の筋を表わし、
前記第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.
JP2018086037A 2018-04-27 2018-04-27 Motion analysis device Active JP7066174B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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