WO2007094451A1 - 運動解析方法、運動解析装置、コンピュータプログラム、及び記録媒体 - Google Patents

運動解析方法、運動解析装置、コンピュータプログラム、及び記録媒体 Download PDF

Info

Publication number
WO2007094451A1
WO2007094451A1 PCT/JP2007/052845 JP2007052845W WO2007094451A1 WO 2007094451 A1 WO2007094451 A1 WO 2007094451A1 JP 2007052845 W JP2007052845 W JP 2007052845W WO 2007094451 A1 WO2007094451 A1 WO 2007094451A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
external force
computer
decomposition
motion
Prior art date
Application number
PCT/JP2007/052845
Other languages
English (en)
French (fr)
Inventor
Joshua Hale
Original Assignee
Japan Science And Technology Agency
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 Japan Science And Technology Agency filed Critical Japan Science And Technology Agency
Priority to JP2008500562A priority Critical patent/JPWO2007094451A1/ja
Publication of WO2007094451A1 publication Critical patent/WO2007094451A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations

Definitions

  • Motion analysis method motion analysis apparatus, computer program, and recording medium
  • the present invention relates to a motion analysis method, a motion analysis device, a computer program, and a recording medium that perform motion analysis using a matrix equation.
  • the penalty method is a method of eliminating a constraint violation while proceeding with a simulation by applying a force according to the degree of violation of the constraint (see, for example, Non-Patent Documents 1 and 2). It has been used to find the contact force accurately.
  • the restraint force has a problem that it is necessary to repeat the simulation until the force restraint is resolved, which is obtained directly from the amount of penetration (that is, the amount of violation of restraint) and the speed. .
  • the impact-based method is a method of analyzing collision and contact on the assumption that an instantaneous impact force changes the speed of an object (see, for example, Non-Patent Document 3). This method focuses on the interaction between the objects and the propagation of energy, and focuses on visualizing the behavior of the object rather than the accuracy of the simulation.
  • the analytical method is most suitable for accurately simulating the behavior of a real robot with some limitations.
  • linear constraints are handled, and the force necessary to satisfy the constraints is calculated by solving the constraint equations and equations of motion simultaneously (for example, see Patent Documents 4 and 5). .
  • the analytical method solves the force that satisfies the constraint condition, so that accurate simulation can be performed even if the simulation time is extended to some extent.
  • Non-Patent Document 1 Wilhelm (J. Wilhelms), and two other great book, "Dynamic Animation: interact with ⁇ 1 J control (Dynamic animation: interaction ana control)", Binyu 7 Norekonhyu ' ⁇ ⁇ data (Visu al Computer), 1988, IV, P283-295
  • Non-Patent Document 2 Pane (M. van de Panne), 1 other author, “Sensor-actuator network”, Proceedings ACM
  • Non-Patent Document 3 H. Schmidl and 1 other author, “A fast impulsive contact suite for rigid body simulation”, visual visuals and computer graphics (Visualization and Computer Graphics), 2004, 10th edition, P
  • Non-patent document 4 R. Featherstone, “Robot Dynamics Algorithms”, Kluwer Academic, 1987
  • Non-patent document 5 D. Baraff ), “Fast cont act force computation for nonpenetratingngid bodies;”, SIGGRAPH 94 Conference, 1994, ⁇ 23—34
  • the present invention has been made in view of such circumstances, and is applied to each contact point even when there are many contact points and the relationship between the contact force and the calorie velocity is primarily dependent.
  • Kinematic analysis method, kinematic analysis device, computer program It is an object to provide a recording medium.
  • the motion analysis method according to the first invention is the motion analysis method for analyzing the motion of an object when external force is applied to a plurality of points on the surface.
  • the external force applied to each point and the external force are applied.
  • the relationship with the acceleration at each point is formulated by simultaneous linear equations using a coefficient matrix, and the matrix matrix decomposition is used to extract the non-singular small matrix from the coefficient matrix force, and the extracted non-singular
  • a solution of the simultaneous linear equations is calculated using a small matrix, and intermediate and final results of the simultaneous equations are recorded in a memory.
  • the relationship between external force and acceleration is formulated by simultaneous linear equations using a coefficient matrix, and a nonsingular small matrix is extracted from the coefficient matrix using matrix decomposition. Therefore, even if the relationship between external force and acceleration includes a primary dependent relationship, only a linearly independent relationship remains by eliminating the primary dependent relationship.
  • the motion analysis method according to the second invention is characterized in that the matrix decomposition is QR decomposition.
  • QR decomposition is used as matrix decomposition, a non-singular small matrix is extracted by a known calculation.
  • the coefficient matrix is decomposed into a product of an orthogonal matrix and an upper triangular matrix using QR decomposition, and the obtained column vectors constituting the upper triangular matrix are divided into 1 or It is characterized by performing a plurality of row exchanges and Givens rotation.
  • the coefficient matrix is resolved into a product of an orthogonal matrix and an upper triangular matrix by QR decomposition, and column exchange and Givens rotation are performed on the column vectors constituting the obtained upper triangular matrix. Therefore, the calculation cost is reduced.
  • a motion analysis method searches for a diagonal element that is zero from the upper triangular matrix.
  • a non-zero element is searched in order from the right side of the diagonal element.
  • the column vector including the element and the It is characterized by column exchange with a column vector containing diagonal elements.
  • a diagonal element having an upper triangular matrix force of zero and a non-zero element included in a column vector on the right side of the diagonal element are searched. And if both elements are searched, Since the two column vectors containing the searched diagonal element and non-zero element are exchanged, the non-singular small matrix is extracted quickly.
  • a motion analysis method is characterized in that the object is a walking robot that walks on a floor surface, and the external force is resistance against the floor surface force.
  • a walking robot is adopted as an analysis target, and the resistance received by the walking robot from the floor surface can be solved as a contact force problem.
  • the motion analysis apparatus is a motion analysis apparatus for analyzing the motion of an object when external forces are applied to a plurality of points on the surface.
  • the external force and the external force applied to each point are printed.
  • the relationship between external force and acceleration is formulated by simultaneous linear equations using a coefficient matrix, and a non-singular small matrix is extracted from the coefficient matrix using matrix decomposition. Therefore, even if the relationship between external force and acceleration includes a primary dependent relationship, only a linearly independent relationship remains by eliminating the primary dependent relationship.
  • a computer program according to a seventh invention is a computer program for causing a computer to analyze the motion of an object when an external force is applied to a plurality of points on a surface.
  • the computer program is applied to each point on a computer.
  • the step of formulating the relationship between the external force and the acceleration at each point when the external force is applied by simultaneous linear equations using a coefficient matrix, and the coefficient matrix force non-singular small using a matrix decomposition A step of extracting a matrix; and a step of causing a computer to calculate a solution of the simultaneous equations using the extracted non-singular small matrix.
  • the recording medium according to the eighth invention can be read by a computer in which a computer program for causing a computer to analyze the motion of an object when an external force is applied to a plurality of points on the surface is recorded.
  • the computer formulates the relationship between the external force applied to each point and the acceleration at each point when the external force is applied, using simultaneous linear equations using a coefficient matrix; and
  • a computer program having a step of extracting a non-singular small matrix from the coefficient matrix using matrix decomposition and a step of causing a computer to calculate a solution of the simultaneous equations using the extracted non-singular small matrix It is characterized by that.
  • the relationship between external force and acceleration is formulated by simultaneous linear equations using a coefficient matrix, and a non-singular small matrix is extracted from the coefficient matrix using matrix decomposition. Therefore, even if the relationship between external force and acceleration includes a primary dependent relationship, only a linearly independent relationship remains by eliminating the primary dependent relationship.
  • the relationship between external force and acceleration is formulated by simultaneous linear equations using a coefficient matrix, and a nonsingular small matrix is extracted from the coefficient matrix using matrix decomposition. ing. Therefore, even when the relationship between external force and acceleration includes a primary dependent relationship, it is possible to eliminate the primary dependent relationship and leave only a linearly independent relationship, and analyze the external force and acceleration applied to the object. Can be obtained promptly.
  • the coefficient matrix is decomposed into a product of an orthogonal matrix and an upper triangular matrix by QR decomposition, and column exchange and Givens rotation are performed for the column vectors constituting the obtained upper triangular matrix. Therefore, the calculation cost can be reduced.
  • a diagonal element that is zero from the upper triangular matrix and a non-zero element included in the column vector on the right side of the diagonal element are searched.
  • the two column vectors including the searched diagonal elements and non-zero elements are exchanged, so that the non-singular small matrix can be extracted quickly.
  • a walking robot is adopted as an analysis target, and the anti-fault that the walking robot receives also a floor force can be solved as a contact force problem.
  • the motion analysis method described in the above-described invention can be realized by a computer program and a computer program recorded on a recording medium.
  • the applied external force and acceleration can be quickly determined analytically.
  • FIG. 1 is a block diagram showing an internal configuration of a motion analysis apparatus according to the present embodiment.
  • FIG. 2 A graph showing the comparison of the calculation costs of the two methods.
  • FIG. 3 is a graph showing the calculation cost when the column exchange process is used.
  • FIG. 4 is a graph showing the calculation cost when the erase and insert process is used.
  • FIG. 5 is an explanatory diagram schematically illustrating a search method for non-zero elements.
  • FIG. 6 is a flowchart explaining a procedure of processing executed by the computer program according to the present invention. Explanation of symbols
  • FIG. 1 is a block diagram showing an internal configuration of the motion analysis apparatus according to the present embodiment.
  • Book The motion analysis apparatus according to the embodiment is realized by an information processing apparatus 100 such as a personal computer or a workstation.
  • the information processing apparatus 100 includes a CPU 101 as a calculation means, and hardware such as a ROM 102, a RAM 103, a storage device 104, an input / output IF 105, and an auxiliary storage device 108 is connected to the CPU 101 via a bus 109. ing.
  • the ROM 102 stores a control program for controlling the operation of various hardware connected to the bus 109.
  • the CPU 101 controls the operation of the entire hardware by loading this control program on the RAM 103 and executing it.
  • RAMI 03 the intermediate results and final results of the motion analysis are written out as appropriate.
  • the storage device 104 includes a hard disk drive, and is necessary when executing the computer program for specifically realizing the operation analysis method described in the present embodiment and the computer program. Data is stored.
  • the input / output IF 105 is connected to a keyboard 106 as an input device and a monitor 107 as an output device.
  • the information processing apparatus 100 receives an instruction for starting motion analysis and input of parameters necessary for motion analysis through the keyboard 106.
  • the information processing apparatus 100 displays on the monitor 107 the parameters input through the keyboard 106, the calculation results of the computer program described above, and the like.
  • the auxiliary storage device 108 is an FD or CD in which the computer program according to the present invention is recorded.
  • the computer program read by the auxiliary storage device 108 is stored in the storage device 104.
  • the CPU 101 causes the information processing apparatus 100 to operate as the motion analysis apparatus according to the present embodiment by loading the above-described computer program on the RAM 103 and executing the storage apparatus 104 as necessary.
  • a method of using a walking robot as an object of motion analysis by the information processing apparatus 100 and analyzing the motion when the walking robot walks on the floor will be described below. Since walking robots receive resistance from the floor, the relationship between this resistance (contact force) and acceleration is expressed by an equation of motion.
  • f is a vector representing the contact force at one or more contact points on the object surface
  • a is a vector representing the acceleration in the normal direction and the contact direction at each contact point.
  • A is a matrix that relates contact force and acceleration, and represents a quantity related to the mass of the object. Also, a
  • 0 is a vector representing the acceleration at the contact point in the case where the contact force is applied to the object.
  • dynamics such as SDFAST
  • the software can be derived analytically or experimentally. That is, the value of each element of matrix A and vector a can be considered a known quantity,
  • Equation 1 can be viewed as a simultaneous linear equation with respect to acceleration a and contact force f with matrix A as a coefficient matrix, and can be reduced to a problem solving this simultaneous linear equation.
  • Gaussian elimination, LU decomposition, QR decomposition, and the like are known as methods for solving simultaneous linear equations using a coefficient matrix.
  • the method based on QR decomposition can find a solution as long as the coefficient matrix is regular.
  • the matrix is close to singular, it is known that it is necessary to select an axis train in order to improve the accuracy of the solution, and the parallel solution method without axis selection has a limited scope.
  • Equation 1 the equation of motion shown in Equation 1 is known to include a first-order dependent constraint in many contact states, and independence cannot be assumed for each acceleration.
  • a method of ignoring a certain constraint condition and finding a solution that conforms to all the constraint conditions is often adopted, but it requires a complicated calculation as in the case of obtaining the contact force itself.
  • the acceleration caused by the frictional force it can be linearly dependent on any dimension of any acceleration.
  • coherency utilization method a method for constructing a non-singular small matrix from the matrix A (hereinafter referred to as coherency utilization method) will be described.
  • This coherent usage accepts an arbitrary index of the subset that is not eliminated for matrix A.
  • the solution was obtained as a first-order independent contact problem by ignoring the constraint between certain accelerations. Later we will check the constraints between all accelerations. When all unnecessary constraints are replaced with unnecessary sets, one of the indexes of these unnecessary sets is included in the holding set, and different primary independent submatrices of matrix A can be calculated.
  • constraints which constraints affect other constraints, and in general, are component forces, so all constraints for any combination of constraints to be retained Compute a linearly independent submatrix until a solution that satisfies is found.
  • the original matrix A may be in a bad state or inadequate rank so that a complete solution cannot be obtained, in which case all sub-matrices are found until a solution that satisfies the most constraints is found. Calculate for.
  • QR decomposition an arbitrary matrix A with m rows and n columns is decomposed into an orthogonal matrix Q with m rows and m columns and an upper triangular matrix R with m rows and n columns.
  • QR-decompose an arbitrary matrix A It is possible to QR-decompose an arbitrary matrix A.
  • the orthogonal matrix Q and the upper triangular matrix R are not unique. QR decomposition is particularly useful when the original matrix A is adjusted, or when it is desired to avoid recalculation efforts from the beginning.
  • the QR decomposition is updated when rows or columns are added, and the QR decomposition is down- dated when rows or columns are deleted. Or, recalculation is performed following addition or subtraction of rank 1 matrices.
  • QR decomposition updates and downdates employ a standard approach that preserves decomposition following the exchange of any column of the matrix. For example, when switching between the nth column and the (n + k) th column, the nth and n + kth columns are deleted, and the columns are inserted at the two new locations, respectively. Updates and downdates. However, these operations can be integrated by a single row exchange operation, and the calculation resources can be considerably reduced.
  • Updates and downdates of QR decomposition are performed using Givens rotation.
  • Given matrix Gn (i, j, ⁇ ) is a rotation between two subspaces of ⁇ -dimensional space (one is an i-dimensional subspace and the other is a j-dimensional subspace) Represents.
  • Givens matrix Gn (i , j, ⁇ ) is the unit matrix of ⁇ ⁇ ⁇ , and each element of (i, i), (i, j), (j, i), (j, j) is cos 0, —sin 0 , Sin 0, cos ⁇ .
  • QR decomposition is given as follows. At this time, the orthogonality of Q 'is retained, but R is no longer an upper triangular matrix.
  • the matrix decomposition can be maintained by deleting the k-th column as follows.
  • each element represented by the symbol “X” and the symbols “# 1” to “# 3” generally takes a non-zero value (however, it can take a zero value by chance).
  • Each element without a symbol takes a zero value.
  • the matrix R (1) is not currently an upper triangular matrix, but givens times
  • the elements immediately below the diagonal component that is, each element represented by the symbols “# 1” to “# 3”
  • Triangularity can be repaired, where Givens rotation is applied to adjacent rows in the order in which they are indexed, so that no non-zero elements are generated below the diagonal elements. Guaranteed.
  • each element represented by the symbol “X” and the symbols “# 1" to “# 3” generally takes a non-zero value (provided that it happens to be zero Can take the value of
  • the structure of the matrix R (1) is no longer an upper triangular matrix.
  • the process of repairing the structure of matrix R (1) with the 3rd and 6th columns swapped will be described below, taking the upper triangular matrix of 8 rows and 8 columns as an example.
  • the matrix R (1) can be expressed as:
  • the matrix R (1) in this example is a matrix in which the third column and the sixth column of the upper triangular matrix are interchanged, the third column has three non-vertical elements below the diagonal elements. There are zero elements. these Perform a Givens rotation to make the element zero. At this time, in order to minimize the number of elements affected by the Givens rotation, the Givens rotation is applied to adjacent rows. As a result of Givens rotation to make the element indicated by the “# 1” symbol zero, the element indicated by the “ ⁇ 1” symbol changes from zero to a non-zero value. The same applies to the elements indicated by the symbols “ ⁇ 2” and “ ⁇ 3”.
  • matrix 3 can be expressed as follows.
  • the matrix 3 includes the non-zero elements indicated by the symbols "# 4" and "# 5" below the diagonal elements in the fourth and fifth columns. Exists.
  • this second stage transformation two Givens rotations are performed in order to make these non-zero elements generated by the three Givens rotations in the first stage zero.
  • the elements indicated by “# 4” and “# 5” become zero, and the values indicated by “ ⁇ 4” and “ ⁇ 5” change under the influence of the Givens rotation at that time.
  • the matrix R (2) is transformed into an upper triangular matrix R (3) .
  • the corresponding orthogonal matrix Q ( 3 ⁇ 4 is obtained by performing an inverse rotation operation on the orthogonal matrix Q.
  • the number of Given rotations required to repair the structure is max ⁇ min ⁇ M ⁇ n, N ⁇ n ⁇ , 0 ⁇ . Then, when a column is inserted at the nth position, the number of Givens rotations required for restoration is max ⁇ Mn, 0 ⁇ . Therefore, for a square matrix with N rows and N columns, the first column is deleted by inserting and deleting columns. When swapping the nth and n + k columns, the number of Givens rotations required for restoration is 4N-2 (2n + k) -l.
  • k-number Givens rotation is performed in the first stage and k-l Givens rotation is performed in the second stage.
  • the number of Givens rotations may be 2k-l. In other words, a total of 4 (N- (n + k)) Givens rotations can be saved.
  • the larger index determines the number of Givens rotations that can be saved and decreases as the index approaches the last column of the original matrix.
  • Givens rotation only has to be applied to columns containing non-zero elements, the calculations described above do not necessarily reflect true savings. Considering this point, the savings can be calculated using column rotation rather than using matrix rotation.
  • Givens column rotation is required for the following number of times.
  • M is an integer satisfying ME [N, N + 1].
  • M is an integer satisfying ME [N + 1, N + 2].
  • FIG. 2 is a graph showing a comparison result of calculation costs between the two methods.
  • the calculation cost is calculated for a matrix of 24 rows and 24 columns, with the two axes on the bottom representing the index of the exchanged column, and the axis in the height direction representing the relative cost.
  • This graph shows that the column exchange process is computationally expensive under most conditions compared to the erase and insert process.
  • the condition that the relative cost is 1 is indicated by a broken line in the graph. That is, if one of the indexes of the exchanged column is less than or equal to 20, the computational cost is better to use the exchange process.
  • the index of the exchanged column is the last column of the original matrix (first As you approach (24 columns), the computational cost is better to use the erase and insert process.
  • FIG. 3 is a graph showing the calculation cost when the column exchange process is used
  • FIG. 4 is a graph showing the calculation cost when the deletion and insertion process is used.
  • the calculation cost is calculated for a matrix with 24 rows and 24 columns.
  • the computational cost depends on the size of the original matrix. As the matrix size increased, the computational cost of the column replacement process became close to 50% of the computational cost of the erase and insert process. This factor is a value estimated by counting the number of column rotations, assuming that the probability of replacement of any two columns is equal. For a 4-by-4 matrix or larger, the column exchange process is equivalent to a 3-by-3 matrix, which is on average faster than the erase and insert process, and has the same computational cost.
  • the method for extracting the largest non-singular small matrix from a given matrix is based on the QR decomposition as described above, and requires the following assumptions.
  • a given matrix is a target matrix or a target matrix with row exchange.
  • the matrix R is given in the orthonormal QR decomposition.
  • a given set of holding indexes is given to indicate the set of rows and columns that cannot be erased.
  • a small matrix is extracted following a minor change in the holding index set (typically adding a new index).
  • the extraction of a small matrix is repeated for a series of similar matrices.
  • a small matrix (for example, A, ⁇ , etc.) with an index of 0 or 3 is a square matrix.
  • the submatrix A is nonsingular and outside the submatrix A
  • the submatrix A expanded by adding a set of rows or columns to the 0 0 part is a singular matrix.
  • a QR decomposition is equivalent to finding a set of vectors that are orthogonal to each other across each column of matrix A. Also, partitioning the QR decomposition is equivalent to reducing the set of orthogonal vectors until the base is constructed. In other words, a process is required to arrange as many nonzero elements as possible in the diagonal elements of matrix R so that the complete series starts from the upper left corner of matrix R. [0087] Therefore, the diagonal elements of the matrix R are examined in the order of the upper left corner force, and the zero element is searched. In the present embodiment, a minute value is set in advance as a threshold value, and when a value smaller than the threshold value is found, the element is determined to be zero.
  • Fig. 5 is an explanatory diagram that schematically illustrates the non-zero element search method.
  • the column containing the element is swapped with the column containing the zero diagonal element, and a determination is made as to whether the next diagonal element of the updated matrix R is zero. Is performed. Since the column exchange does not affect the upper and left sides of the nonzero diagonal elements, the structure of the matrix R is retained. The existence of nonzero elements below and to the right of the zero diagonal element in a small matrix means that the column containing the zero diagonal element and each column containing the nonzero diagonal element of matrix R are I'm not subordinate!
  • the preserving set can be applied by exchanging the retained column with the first column of the non-singular block prior to repairing the structure of the matrix R. For example, if a column is present in the holding set but not in a non-singular block, that column is replaced with the first column of the non-singular block that is not itself included in the holding set. If the result is that the diagonal element of the target column in the non-singular block is zero, the retained set contains columns in a first-order dependent relationship, and the process ends because there is no longer a solution.
  • This column exchange procedure ensures that the operation of the holding set can be handled with minimal column exchange updates and can use the expected coherence during the next iteration of the algorithm. To. Also, if a holding set is feasible, it can be determined quickly. By using this pattern to change the order of the original matrix, the initial QR decomposition can approach or approach a segmented form, reducing the number of column exchanges required. [0091] The solution obtained in this way can be handled in the same way as the target matrix. The irregular block derived as a result of the force needs to be checked each time the algorithm is repeated. This requires that the candidate block matrix be fully QR decomposed.
  • the Q matrix is preserved through the algorithm, there is no need to recalculate the decomposition, but it depends on the relative size of the candidate matrix with respect to the original matrix, and indirect retention of the Q matrix and QR decomposition are performed. It will be possible to avoid recalculating as much as possible.
  • FIG. 6 is a flowchart for explaining the procedure of processing executed by the computer program according to the present invention.
  • step Sl the relationship between the external force applied to each point on the object surface and acceleration is formulated.
  • the relationship between the external force applied to each point on the object surface and acceleration is a vector that represents the contact force at one or more contact points on the object surface by using simultaneous linear equations as shown in Equation 1 above.
  • f vector a representing the normal direction and acceleration in the tangential direction at each contact point, and matrix A relating contact force and acceleration.
  • a nonsingular small matrix is extracted from the matrix A (step S 2), and the simultaneous linear equations formulated using the extracted nonsingular small matrix Is calculated (step S3).
  • a solution is obtained as a primary independent contact problem, and after obtaining the solution, the constraints between all accelerations are checked.
  • all unnecessary constraints are replaced with unnecessary sets, one of the indexes of these unnecessary sets is included in the holding set, and a different primary independent submatrix of matrix A can be calculated. There is generally no component force on which force is required and which constraint affects other constraints.
  • the relationship between the external force and the acceleration includes a primary dependent relationship.
  • the primary dependent relationship it is possible to eliminate the primary dependent relationship and leave only a linearly independent relationship, and to quickly and analytically determine the external force and acceleration applied to the object.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)

Abstract

 本発明の運動解析方法を実現する情報処理装置100は、物体表面上の各点に印加された外力と加速度との関係を係数行列を用いた連立一次方程式により定式化し、行列分解を用いて前記係数行列から非特異小行列を抽出し、抽出した非特異小行列を用いて連立一次方程式の解を算出するCPU101を備える。定式化した連立一次方程式の解を算出する際、ある加速度間の拘束を無視することによって一次独立の接触問題として解を求め、解を求めた後に全ての加速度間の拘束をチェックする。

Description

明 細 書
運動解析方法、運動解析装置、コンピュータプログラム、及び記録媒体 技術分野
[0001] 本発明は、行列方程式を用いて運動解析を行う運動解析方法、運動解析装置、コ ンピュータプログラム、及び記録媒体に関する。
背景技術
[0002] ヒューマノイドロボットの挙動を解析する動的シュミレーシヨンでは、外部から印加さ れる外力(接触力および衝突)を注意深く取り扱う必要がある。近年、正確かつ有効 な解を見出すために精力的な研究がなされており、ペナルティ手法、撃力ベースの 手法、解析的手法などの手法により運動の解析が行われて 、る。
[0003] ペナルティ手法は、拘束を違反した度合いに応じて力を加えることで、シミュレーシ ヨンを進めるうちに拘束違反を解消する手法である(例えば、非特許文献 1及び 2参 照)。接触力を正確に求めたい場合などに用いられてきた。拘束力は、侵入量 (すな わち、拘束違反の量)と速度とから直接的に求まる力 拘束が解消するまでシミュレ一 シヨンを繰り返す必要があると 、う問題点を有して 、る。
[0004] 撃力ベースの手法では、瞬間的な撃力が物体の速度を変化させるとして衝突およ び接触を解析する手法である(例えば、非特許文献 3参照)。この手法では、物体同 士の相互作用やエネルギーの伝搬に着目しており、シュミレーシヨンの正確さよりも、 むしろ物体の挙動を視覚化することに主眼を置 、て 、る。
[0005] 一方、解析的手法は、幾つかの制約があるものの現実のロボットの挙動を正確にシ ミュレートするのに最も適している。解析的手法では、線形拘束条件を取り扱い、拘 束条件の式と運動方程式とを連立させて解くことで、拘束条件を満たすために必要 な力を計算する(例えば、特許文献 4及び 5参照)。このように解析的手法では、拘束 条件を満たす力を解くため、シミュレーションの時間をある程度広くとっても正確なシ ミュレーシヨンを行うことができる。
非特許文献 1:ウィルヘルム (J. Wilhelms)、他 2名著、「動的アニメーション:相互作用 と帘1 J御 (Dynamic animation: interaction ana control)」、ビンュ 7ノレコンヒュ' ~~タ (Visu al Computer) , 1988年、第 4卷、 P283— 295
非特許文献 2 :パンネ(M. van de Panne)、他 1名著、「センサーァクチユエータ ネット ワーク(Sensor- actuator network)」、プロシーディングス エーシーエム シーグラフ(
Proc. ACM SIGGRAPH) , 1993年、第 27 (2)卷、 Ρ335— 343
非特許文献 3 :シュミドル(H. Schmidl)、他 1名著、「剛体シュミレーシヨンのための瞬 間的な接 fis (A fast impulsive contact suite for rigid body simulation)」、視覚ィ匕とコン ピュータグラフィックス(Visualization and Computer Graphics)、 2004年、第 10卷、 P
189 - 197
非特許文献 4 :フェザーストーン(R. Featherstone)著、「ロボット力学のアルゴリズム(R obot Dynamics Algorithms)」、クノレワーァカァミック (Kluwer Academic)、 1987年 非特許文献 5 :バラフ (D. Baraff)著、「非侵入剛体に対する接触力の計算 (Fast cont act force computation for nonpenetratingngid bodies;」、、ン' ~~グフノ 94 コンファレ ンス(SIGGRAPH 94 Conference) , 1994年、 Ρ23— 34
発明の開示
発明が解決しょうとする課題
[0006] し力しながら、前述した解析的手法では、全ての接触点について剛体の運動を表 す行列方程式を解く必要があるため、接触点が多い場合などに多くの計算時間を必 要とすることが問題となっていた。
[0007] また、剛体上の複数の点に作用する接触力と加速度との関係が一次独立となり、係 数行列が正則でありさえすれば、 LU分解法、 QR分解法等の行列分解を用いること により解を求めることが可能であるが、実際には、多くの接触状態において一次従属 の拘束を含むことが知られており、係数行列について独立性を仮定することはできな い。この場合、ある拘束条件を無視し、他のすべての拘束条件を満たす解を求める 手法がよく採用されるが、接触力自体を求めるのと同様に複雑な計算を要するという 問題点を有している。
[0008] 本発明は斯力る事情に鑑みてなされたものであり、接触点が多ぐかつ接触力とカロ 速度との関係が一次従属となる場合であっても、各接触点に印加される外力及びカロ 速度を速やかに求めることができる運動解析方法、運動解析装置、コンピュータプロ グラム、及び記録媒体を提供することを目的とする。
課題を解決するための手段
[0009] 第 1発明に係る運動解析方法は、表面上の複数の点に外力が印加された場合の 物体の運動を解析する運動解析方法において、各点に印加された外力と、外力が 印加された場合の各点での加速度との関係を係数行列を用いた連立一次方程式に より定式化し、行列分解を用いて前記係数行列力ゝら非特異小行列を抽出し、抽出し た非特異小行列を用いて前記連立一次方程式の解を算出し、前記連立方程式の途 中結果及び最終結果をメモリに記録することを特徴とする。
[0010] 本発明にあっては、外力と加速度との関係を係数行列を用いた連立一次方程式に より定式化し、行列分解を用いて係数行列から非特異小行列を抽出するようにして ヽ るため、外力及び加速度の関係が一次従属の関係を含む場合であっても、一次従 属の関係を排除することにより線形独立の関係のみが残る。
[0011] 第 2発明に係る運動解析方法は、前記行列分解は、 QR分解であることを特徴とす る。
[0012] 本発明にあっては、行列分解として QR分解を用いるため、既知の演算によって非 特異小行列が抽出される。
[0013] 第 3発明に係る運動解析方法は、 QR分解を用いて前記係数行列を直交行列と上 三角行列との積に分解し、得られた上三角行列を構成する列ベクトルについて 1又 は複数回の列交換及びギブンス回転を行うことを特徴とする。
[0014] 本発明にあっては、 QR分解により係数行列を直交行列と上三角行列との積に分 解し、得られた上三角行列を構成する列ベクトルにつ 、て列交換及びギブンス回転 を行うようにしているため、計算コストが低減される。
[0015] 第 4発明に係る運動解析方法は、前記上三角行列から零である対角要素を探索し
、零である対角要素が探索された場合、該対角要素の右隣から順に非零である要素 を探索し、非零である要素が探索された場合、該要素を含む列ベクトルと前記対角 要素を含む列ベクトルとの間の列交換を行うことを特徴とする。
[0016] 本発明にあっては、上三角行列力 零である対角要素と、その対角要素の右側の 列ベクトルに含まれる非零の要素とを探索する。そして、両要素が探索された場合、 探索された対角要素及び非零である要素を含む 2つの列ベクトルを交換するようにし ているため、非特異小行列が速やかに抽出される。
[0017] 第 5発明に係る運動解析方法は、前記物体は、床面を歩行する歩行ロボットであり 、前記外力は前記床面力 受ける抗カであることを特徴とする。
[0018] 本発明にあっては、解析対象として歩行ロボットを採用し、歩行ロボットが床面から 受ける抗カを接触力問題として解くことができる。
[0019] 第 6発明に係る運動解析装置は、表面上の複数の点に外力が印加された場合の 物体の運動を解析する運動解析装置において、各点に印加された外力と外力が印 カロされた場合の各点での加速度との関係を係数行列を用いた連立一次方程式によ り定式化する手段と、行列分解を用いて前記係数行列力ゝら非特異小行列を抽出する 手段と、抽出した非特異小行列を用いて前記連立一次方程式の解を算出する手段 と、前記連立一次方程式の途中結果及び最終結果をメモリに記録する手段とを備え ることを特徴とする。
[0020] 本発明にあっては、外力と加速度との関係を係数行列を用いた連立一次方程式に より定式化し、行列分解を用いて係数行列から非特異小行列を抽出するようにして ヽ るため、外力及び加速度の関係が一次従属の関係を含む場合であっても、一次従 属の関係を排除することにより線形独立の関係のみが残る。
[0021] 第 7発明に係るコンピュータプログラムは、コンピュータに、表面上の複数の点に外 力が印加された場合の物体の運動を解析させるコンピュータプログラムにおいて、コ ンピュータに、各点に印加された外力と、外力が印加された場合の各点での加速度 との関係を係数行列を用いた連立一次方程式により定式化させるステップと、コンビ ユータに、行列分解を用いて前記係数行列力 非特異小行列を抽出させるステップ と、コンピュータに、抽出させた非特異小行列を用いて前記連立方程式の解を算出 させるステップとを有することを特徴とする。
[0022] 本発明にあっては、外力と加速度との関係を係数行列を用いた連立一次方程式に より定式化し、行列分解を用いて係数行列から非特異小行列を抽出するようにして ヽ るため、外力及び加速度の関係が一次従属の関係を含む場合であっても、一次従 属の関係を排除することにより線形独立の関係のみが残る。 [0023] 第 8発明に係る記録媒体は、コンピュータに、表面上の複数の点に外力が印加され た場合の物体の運動を解析させるコンピュータプログラムが記録されているコンビュ ータでの読み取りが可能な記録媒体において、コンピュータに、各点に印加された外 力と、外力が印加された場合の各点での加速度との関係を係数行列を用いた連立 一次方程式により定式化させるステップと、コンピュータに、行列分解を用いて前記 係数行列から非特異小行列を抽出させるステップと、コンピュータに、抽出させた非 特異小行列を用いて前記連立方程式の解を算出させるステップとを有するコンビュ ータプログラムが記録されて 、ることを特徴とする。
[0024] 本発明にあっては、外力と加速度との関係を係数行列を用いた連立一次方程式に より定式化し、行列分解を用いて係数行列から非特異小行列を抽出するようにして ヽ るため、外力及び加速度の関係が一次従属の関係を含む場合であっても、一次従 属の関係を排除することにより線形独立の関係のみが残る。
発明の効果
[0025] 第 1発明及び第 6発明による場合は、外力と加速度との関係を係数行列を用いた 連立一次方程式により定式化し、行列分解を用いて係数行列から非特異小行列を 抽出するようにしている。したがって、外力及び加速度の関係が一次従属の関係を 含む場合であっても、一次従属の関係を排除して線形独立の関係のみを残すことが でき、物体に印加されている外力及び加速度を解析的に速やかに求めることができ る。
[0026] 第 2発明による場合は、行列分解として特定の QR分解を用いるため、既知の演算 によって非特異小行列を抽出することができる。
[0027] 第 3発明による場合は、 QR分解により係数行列を直交行列と上三角行列との積に 分解し、得られた上三角行列を構成する列ベクトルにつ ヽて列交換及びギブンス回 転を行うようにして 、るため、計算コストを低減することができる。
[0028] 第 4発明による場合は、上三角行列から零である対角要素と、その対角要素の右側 の列ベクトルに含まれる非零の要素とを探索する。そして、両要素が探索された場合 、探索された対角要素及び非零である要素を含む 2つの列ベクトルを交換するように しているため、非特異小行列を速やかに抽出することができる。 [0029] 第 5発明による場合は、解析対象として歩行ロボットを採用し、歩行ロボットが床面 力も受ける抗カを接触力問題として解くことができる。
[0030] 第 7発明及び第 8発明による場合は、上述した発明に記載の運動解析方法をコン ピュータプログラム及び記録媒体に記録されたコンピュータプログラムにより実現でき るため、適宜のコンピュータを用いて物体に印加されている外力及び加速度を解析 的に速やかに求めることができる。
図面の簡単な説明
[0031] [図 1]本実施の形態に係る運動解析装置の内部構成を示すブロック図である。
[図 2]2つの手法の計算コストの比較結果を示すグラフである。
[図 3]列交換プロセスを用いた場合の計算コストを示すグラフである。
[図 4]消去及び挿入プロセスを用いた場合の計算コストを示すグラフである。
[図 5]非零要素の探索手法を模式的に説明する説明図である。
[図 6]本発明に係るコンピュータプログラムにより実行される処理の手順を説明するフ ローチャートである。 符号の説明
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 記憶装置
105 入出力 IF
106 キーボード
107 モニタ
108 補助記憶装置
109 バス
110 記録媒体
発明を実施するための最良の形態
図 1は本実施の形態に係る運動解析装置の内部構成を示すブロック図である。本 実施の形態に係る運動解析装置は、パーソナルコンピュータ、ワークステーション等 の情報処理装置 100により実現される。情報処理装置 100は、演算手段としての CP U101を備えており、この CPU101には、 ROM102、 RAM103、記憶装置 104、入 出力 IF105、補助記憶装置 108等のハードウェアがバス 109を介して接続されてい る。
[0034] ROM102には、バス 109に接続された各種ハードウェアの動作を制御するための 制御プログラムが格納されている。 CPU101は、この制御プログラムを RAM103上 にロードして実行することにより、ハードウェア全体の動作を制御する。また、 RAMI 03には、運動解析の途中結果及び最終結果が適宜書き出される。
[0035] 記憶装置 104は、ハードディスクドライブを備えており、本実施の形態で説明する運 動解析方法を具体的に実現するためのコンピュータプログラム、及びこのコンビユー タプログラムを実行する際に必要となるデータが記憶される。
[0036] 入出力 IF105には、入力デバイスであるキーボード 106、及び出力デバイスである モニタ 107が接続される。情報処理装置 100は、キーボード 106を通じて運動解析 の開始指示、運動解析に必要なパラメータの入力を受付ける。また、情報処理装置 1 00は、キーボード 106を通じて入力されたパラメータ、前述したコンピュータプロダラ ムの演算結果等をモニタ 107上に表示する。
[0037] 補助記憶装置 108は、本発明に係るコンピュータプログラムが記録された FD、 CD
-ROM, DVD— ROM等の記録媒体 110からコンピュータプログラムを読み取るた めの FDドライブ、 CD— ROMドライブ、 DVD— ROMドライブ等を備えている。補助 記憶装置 108により読み取られたコンピュータプログラムは記憶装置 104に記憶され る。 CPU101は、必要に応じて記憶装置 104力も前述のコンピュータプログラムを R AM103上にロードして実行することにより、情報処理装置 100を本実施の形態に係 る運動解析装置として動作させる。
[0038] 情報処理装置 100による運動解析の対象として歩行ロボットを採用し、歩行ロボット が床面を歩行する際の運動を解析する手法を以下で説明する。歩行ロボットは、床 面からの抗カを受けるため、この抗カ(接触力)と加速度との関係を運動方程式によ り表す。典型的な接触力の問題は、次の式のように表すことができる。 [0039] [数 1] a = Af + a0
[0040] ここで、 fは物体表面の 1又は複数の接触点における接触力を表すベクトルであり、 aは各接触点での法線方向及び接戦方向の加速度を表すベクトルである。 Aは接触 力と加速度とを関連付ける行列であり、物体の質量に関係する量を表す。また、 a
0は 物体に接触力が印加されて 、な 、場合の前記接触点での加速度を表すベクトルで ある。
[0041] 行列 Aおよびベクトル a の各要素については、例えば、 SDFASTのような動力学
0
のソフトウェアを用いることにより、解析的に又は実験的に導出することができる。すな わち、行列 Aおよびベクトル a の各要素の値は既知の量と考えることができるため、
0
数式 1は、行列 Aを係数行列とした加速度 aおよび接触力 fに関する連立一次方程式 と見ることができ、この連立一次方程式を解く問題に帰着することができる。
[0042] 係数行列を用いて連立一次方程式を解く方法としては、ガウスの消去法、 LU分解 法、 QR分解法等が知られている。このうち、 QR分解に基づく方法は、係数行列が正 則でありさえすれば解を求めることが可能である。しかし、行列が特異に近い場合に は、解の精度を高めようとすると軸列の選択が必要なことが知られており、軸選択を 行わない並列解法には適用範囲に限界がある。
[0043] 実際、数式 1に示した運動方程式では、多くの接触状態において一次従属の拘束 を含むことが知られており、各加速度について独立性を仮定することができない。こ の場合、ある拘束条件を無視し、全ての拘束条件に適合する解を求める手法がよく 採用されているが、接触力自体を求めるのと同様に複雑な計算を要する。また、摩擦 力に起因する加速度によっては、任意の加速度の任意の次元にぉ 、て一次従属と なり得る。
[0044] そこで、本実施の形態では、行列 Aから非特異小行列を構築する手法 (以下、干渉 性利用法という)について説明する。この干渉性利用法では、行列 Aについて消去し ないサブセットの任意のインデックスを受付ける。このアルゴリズムでは、ある加速度 間の拘束を無視することによって一次独立の接触問題として解を求め、解を求めた 後に全ての加速度間の拘束をチェックする。不要な拘束を全て不要セットに置き換え た場合、これらの不要セットのインデックスの 1つは保持セットに含まれ、行列 Aの異 なる一次独立の小行列を算出することができる。どの拘束が必要である力、どの拘束 が他の拘束に影響を及ぼすかと 、うことにつ 、ては一般的には分力 な 、ため、保 持する拘束のどの組み合わせについても、全ての拘束を満たす解が見つ力るまで線 形独立の小行列を計算する。あるいは、元の行列 Aが悪状態又は不十分なランクで あるために完全な解を求めることが出来ない場合もあり、そのときは最も拘束を満足 する解が見つ力るまで全ての小行列について計算を行う。
[0045] 特異小行列の抽出プロセスには QR分解の理解が不可欠であるため、まず、列交 換を保持するプロセスについて説明する。 QR分解では、 m行 n列の任意の行列 Aを 、 m行 m列の直交行列 Qと m行 n列の上三角行列 Rとに行列分解する。
[0046] [数 2]
A = QR
[0047] 任意の行列 Aを QR分解することは可能である力 直交行列 Q及び上三角行列 Rは 一意ではない。 QR分解は、元の行列 Aが調整される場合、又は最初から計算をし直 す努力を避けたい場合において特に有用である。行または列が追加された場合、 Q R分解はアップデートされ、行または列が削除された場合、 QR分解をダウンデートさ れる。または、ランク 1の行列の加算又は減算に続いて再計算が実行される。
[0048] QR分解のアップデート及びダウンデートは、行列の任意の列の交換に続いて分解 を保持するという標準的な手法が採用される。例えば、第 n列と第 n+k列との間の交 換を行う場合、第 n列および第 n+k列を消去し、その新たな 2箇所に列を挿入し、そ れぞれ 2回のアップデート及びダウンデートを行う。しかしながら、これらの演算は単 一列の交換演算により統合することができ、演算資源をかなり削減することができる。
[0049] QR分解のアップデート及びダウンデートはギブンス回転を用いて実行される。ギブ ンス行列 Gn(i, j, θ )は、 η次元空間のうちの 2つの部分空間(1つは i次元の部分空 間、もう 1つは j次元の部分空間とする)の間の回転を表している。ギブンス行列 Gn(i , j, θ )は、 η Χ ηの単位行列のうち、 (i, i)、 (i, j)、 (j , i)、 (j, j)の各要素をそれぞれ cos 0、—sin 0、 sin 0、 cos Θにより置き換えた行列である。 QR分解は以下のように 与えられる。このとき、 Q 'の直交性は保持されるが、 Rは上三角行列でなくなる。
[数 3]
A = QR QGT GR
R'
Q'
[0051] 行列 Aの QR分解が与えられた場合、以下のようにして第 k列を消去して行列分解 を保持することができる。
[0052] [数 4]
A = QR = Q r T r Τ r T r Τ r T
r0 rk-\ rk rk+\ rn
T T T T
r0 " 'rk-\ rk+\ " ' rn
[0053] 例えば、 6行 6列の行列 R力 第 3列の削除を考えた場合、行列 Rの構造は以下の ように影響を受ける。
[0054] [数 5]
Figure imgf000012_0001
ここで、 「 X」のシンボル、及び「 # 1」〜「 # 3」のシンボルで表される各要素は一般 に非零の値をとる(但し、偶然的に零の値をとり得る)。また、シンボルが付されていな い各要素は零の値をとる。行列 R(1)は現時点で上三角行列ではないが、ギブンス回 転を 3回適用することによって対角成分の直下の要素(すなわち、「# 1」〜「# 3」の シンボルで表した各要素)を 1つずつ零にすることができ、行列 "の上三角性を修 復することができる。ここで、ギブンス回転は、インデックスを付した順に隣り合う行同 士について適用され、その結果、対角要素の下側に非零の要素が生成されないこと が保証される。
[0056] 行列 Aに列を挿入し、 QR分解をアップデートする場合も同様である。行列 Aの QR 分解が与えられた場合、以下のようにして、行列 Aに新しい列 cTを追加し、行列分解 を保持することができる。
[0057] [数 6]
A τ Ί
"0 …" 1 c ak ■a
= eR' = e| '… —】Γ QTCT r -r„
[0058] 例えば、 5行 4列の新たに第 3列を挿入することを考えた場合、行列 Rの構造は以 下のように影響を受ける。
[0059] [数 7]
Figure imgf000013_0001
[0060] 上の式にぉ 、ても「 X」のシンボル、及び「 # 1」〜「 # 3」のシンボルで表される各 要素は一般に非零の値をとる(但し、偶然的に零の値をとり得る)。また、「 のシンポ ルは、元々は零の要素である力 ギブンス回転を適用することによって非零の値に変 化し得る要素を示している。例えば、「# 1」の要素を零にするためにギブンス回転を 適用した場合、「· 1」の要素が非零の値になり、「# 2」の要素を零にするためにギブ ンス回転を適用した場合、「· 2」の要素が非零の値になる。したがって、この場合には 行列 R(1)を上三角行列に変換するために 2回のギブンス回転を行う必要がある。
[0061] 同様の手法は、行列 Rから 2つの列を入れ替えた結果として生成される行列 R(1)の 構造を修復する際にも適用される。 2つの列の入れ替えは、列の挿入と削除とを同時 的に実行することと等価であり、 R(1)の構造を修復する前にアップデートと組み合わ せて複数回の列の消去と挿入とを実行する場合と比べた場合、演算資源を削減する 効果が高い。行列 Aの第冽と第 j列との入れ替えを考えた場合、以下のように行列分 解を保持することができる。
[0062] [数 8]
Figure imgf000014_0001
[0063] 行列 R(1)の構造はもはや上三角行列ではない。 8行 8列の上三角行列を例にとり、 その第 3列と第 6列とを入れ替えた行列 R(1)の構造を修復するプロセスにつ 、て以下 に説明する。行列 R(1)は以下のように表すことができる。
[0064] [数 9]
Figure imgf000014_0002
[0065] この例における行列 R(1)は、上三角行列の第 3列と第 6列とを入れ替えた行列であ るから、その第 3列には対角要素より下側に 3つの非零の要素が存在する。これらの 要素を零にするためにギブンス回転を行う。このとき、ギブンス回転の影響を受ける 要素の数を最小にするために、隣り合う行同士にギブンス回転を適用する。「# 1」の シンボルで示した要素を零にするためにギブンス回転を行った結果、「· 1」のシンポ ルで示した要素は零から非零の値に変わる。「· 2」、 「· 3」のシンボルで示した要素 についても同様である。
[0066] 変形した結果の行列を R(2)とした場合、行列 3は以下のように表すことができる。
[0067] [数 10]
Figure imgf000015_0001
[0068] 上の式で示したように、行列 3には、第 4列及び第 5列の対角要素の下側に「 # 4 」及び「# 5」のシンボルで示した非零の要素が存在する。この第 2段階での変形で は、第 1段階の 3回のギブンス回転により生成されたこれらの非零の要素を零にする ために、 2回のギブンス回転を行う。その結果、「# 4」及び「# 5」で示した要素は零 となり、「·4」及び「· 5」で示した要素はそのときのギブンス回転の影響を受けて値が 変化する。この第 2段階での変形を行った結果、前述の行列 R(2)は上三角行列 R(3) に変形される。対応する直交行列 Q(¾は、直交行列 Qに逆の回転演算を施すことに より得られる。
[0069] 次に、計算コストについて説明する。
M行 N列の行列 Rから第 n列を消去した場合、その構造を修復するために必要なギ ブンス回転の数は、 max{min{M—n, N—n}, 0}となる。次いで、 n番目の位置に 列を挿入した場合、修復する際に必要なギブンス回転の数は、 max{M-n, 0}とな る。したがって、 N行 N列の正方行列について、列の消去及び挿入を行うことにより第 n列と第 n+k列との入れ替えを行う場合、修復に要するギブンス回転の回数は、 4N — 2 (2n+k)—lとなる。
[0070] 一方、列交換の手法を用いる場合、前述したように、第 1段階で k回のギブンス回転 を行い、第 2段階で k—l回のギブンス回転を行うため、修復するために要するギブン ス回転の数は 2k—lでよい。すなわち、トータルで 4 (N— (n+k) )回のギブンス回転 を節約することができる。交換すべき 2つの列のインデックスのうち、大きい方のインデ ックスにより節約できるギブンス回転の数が定まり、インデックスが元の行列の最後の 列に近づくにつれて減少する。
[0071] し力しながら、ギブンス回転は非零の要素を含んだ列に対してのみ適用すればよい ので、前述した計算は必ずしも真の節約量を反映していない。この点を考慮し、行列 回転を用いるよりも列回転を用いて節約量を計算することができる。 N行 N列の行列 について第 n列と第 n+k列との間の列交換を行う場合、以下の回数だけギブンス列 回転が必要となる。
[0072] [数 11]
Figure imgf000016_0001
[0073] 同様に、 M行 N列の行列力 列の消去を行う場合、以下の回数だけギブンス列回 転が必要となる。但し、 Mは、 ME [N, N+ 1]を満足する整数である。
[0074] [数 12]
-(N - n)(N + l - n)
[0075] 更に、列の挿入を行う場合には、以下の回数だけギブンス列回転が必要となる。伹 し、 Mは、 ME [N+ 1, N + 2]を満足する整数である。
[0076] [数 13] (M - N) + -(N - n + l)(N - n + 2)
[0077] したがって、 2つの列を消去して 2つの列を挿入する場合の計算コストは、以下のよ うに表すことができる。
[0078] [数 14]
{N - n - kf + 2 (N - n - k) + (N - nf
[0079] 図 2は 2つの手法の計算コストの比較結果を示すグラフである。このグラフでは 24行 24列の行列について計算コストを算出しており、底面の 2つの軸はそれぞれ交換対 象の列のインデックスを示し、高さ方向の軸は相対コストを示している。このグラフから 、消去及び挿入プロセスに比べて列交換プロセスは大部分の条件下で計算コストが 良いことが分かる。相対コストが 1となる条件をグラフ中の破線により示している。すな わち、交換対象の列のインデックスの何れか一方が 20以下である場合、計算コストは 交換プロセスを使用する方が良ぐ交換対象の列のインデックスが元の行列の最後 の列(第 24列)に近づくにつれて計算コストは消去及び挿入プロセスを使用する方が 良くなる。
[0080] 図 3は列交換プロセスを用いた場合の計算コストを示すグラフであり、図 4は消去及 び挿入プロセスを用いた場合の計算コストを示すグラフである。何れのグラフにつ ヽ ても 24行 24列の行列について計算コストを算出している。何れのプロセスにおいて も計算コストは元の行列のサイズに依存する。行列サイズが大きくなるにつれ、列交 換プロセスの計算コストは、消去及び挿入プロセスの計算コストの 50%に近づくこと が分力つた。このファクタ一は、任意の 2つの列の交換の可能性を等確率と仮定し、 列回転を実行する回数をカウントすることにより見積もった値である。 4行 4列の行列、 又はそれ以上のサイズを有する行列では、列交換プロセスは消去及び挿入プロセス よりも計算速度が平均的に大きぐ 3行 3列の行列で計算コストが等しくなる。
[0081] 次に、最大の非特異小行列を抽出する手法について説明する。 与えられた行列から最大限に大きな非特異小行列を抽出する手法は、前述したよう な QR分解を基にしており、以下の仮定を必要とする。まず、与えられた行列が対象 行列、又は行交換した対象行列であることを仮定する。また、正規直交の QR分解に おいて行列 Rが与えられていることを仮定する。更に、消去することができない行およ び列の組を示す保持用インデックスのセットが与えられて ヽることを仮定する。更に、 保持用インデックスのセットの軽微な変更 (典型的には、新たなインデックスの追加) に続いて小行列の抽出を行うことを仮定する。更に、一連の類似の行列について一 力 小行列の抽出を繰り返すことを仮定する。
[0082] 行列の左上側のブロックの非特異小行列と明確に区別するために元の行列の行お よび列を再配列することを行う。再配列するインデックスは、続くプロセスの繰り返しの 間だけ内部的に保持される。
[0083] 前述の仮定を用いて非特異小行列を抽出するために、対象行列 Aに対する QR分 解を以下のように表す。
[0084] [数 15]
Figure imgf000018_0001
[0085] ここで、 0又は 3のインデックスを付した小行列(例えば、 A 、 Α 等)は正方行列で
0 3
あり、同じインデックスを付した全ての小行列は同じ次元を有する。小行列 R の対角
0 要素の全てを非零と仮定したとき、小行列 A が非特異であり、かつ、小行列 A の外
0 0 部に行または列の組を追加することによって拡張した小行列 A は特異行列となるこ
0
とが証明できる。
[0086] QR分解を構築することは、行列 Aの各列に亘つて互いに直交するベクトルのセット を見つけることと等価である。また、 QR分解を区分ィ匕することは、基を構成するまで 直交するベクトルのセットを縮小することと等価である。すなわち、行列 Rの左上隅か ら完全なシリーズとなるように、行列 Rの対角要素にできるだけ多くの非零の要素を配 列させるプロセスが要求される。 [0087] そのため、行列 Rの対角要素を左上隅力 順に調べ、零の要素を探索する。本実 施の形態では、微小な値を閾値として予め設定しておき、その閾値より小さい値を見 つけた場合、その要素は零であると判定する。零の要素を見つけた場合、その要素 のすぐ右隣から列のインデックスが増える方向に非零の要素を探索する。その行に 非零の要素が見つからない場合には、行を一段だけ下げて対角要素の右側を探索 し、非零の要素が見つ力るまで行を一段ずつ下げながら行列 Rの右下隅に至るまで 探索を繰り返す。非零要素が見つカゝらない場合、行列 Rは区分化された構造を有し ているため、本プロセスを終了する。なお、対角要素の下側は零であることが保証さ れているため、探索を省略できることはいうまでもない。図 5は非零要素の探索手法 を模式的に説明する説明図である。
[0088] このような要素が見つかった場合、その要素を含む列は零対角要素を含んだ列と 交換され、アップデートされた行列 Rの次の対角要素が零であるか否かの判定が行 われる。列交換は、非零対角要素の上側及び左側には影響を及ぼさないため、行列 Rの構造は保持される。小行列における零対角要素の下側及び右側に非零要素が 存在するということは、その零対角要素を含んだ列と行列 Rの非零対角要素を含んだ 各列とがー次従属でな!、ことを保証する。
[0089] 保持用セットは、行列 Rの構造を修復するのに先立ち、保持した列を非特異ブロッ クの最初の列と交換することにより適用することができる。例えば、ある列が保持用セ ットに存在するが非特異ブロックに存在しない場合、その列はそれ自身が保持用セッ トに含まれない非特異ブロックの最初の列と交換される。非特異ブロック中の目的の 列の対角要素が零になるという結果である場合には、保持セットは一次従属の関係 にある列を含み、もはや解が存在しないためプロセスを終了する。
[0090] この列交換の手続きは、保持用セットの操作は最小の列交換アップデートにより処 理することができ、アルゴリズムの次の反復の間で期待された干渉性を使用すること ができることを確実にする。また、保持用セットが実現可能である場合には速やかに 決定することができる。このパターンを用いてオリジナルのマトリックスの順序を入れ 替えることにより、最初の QR分解は区分ィ匕した形態になる力、又は近づき、必要な列 交換の数を減らすことができる。 [0091] このようにして求めた解は対象行列と同等に扱うことができる力 結果として導出さ れた非正則ブロックはアルゴリズムの実行を繰り返す度にチェックする必要がある。こ れは、候補となるブロック行列を完全に QR分解することを要求する。 Q行列がァルゴ リズムを通して保持される場合、分解を再計算する必要はなくなるが、候補となる行 列のオリジナルの行列に対する相対サイズに依存することとなり、 Q行列の間接的な 保持及び QR分解を一力も再計算することを避けることが十分可能になる。
[0092] 次に、本発明に係るコンピュータプログラムにより実行される処理の手順を説明する 。図 6は本発明に係るコンピュータプログラムにより実行される処理の手順を説明する フローチャートである。外部力も入力されたパラメータに基づいて物体 (例えば、歩行 ロボット)の運動解析を行う場合、物体表面上の各点に印加された外力と加速度との 関係を定式化する (ステップ Sl)。物体表面上の各点に印加された外力と加速度との 関係は、前述の数式 1に示したように連立一次方程式を用いることにより、物体表面 の 1又は複数の接触点における接触力を表すベクトル f、各接触点での法線方向及 び接線方向の加速度を表すベクトル a、接触力と加速度とを関連付ける行列 Aにより 記述することができる。
[0093] 次 、で、行列分解 (特に、 QR分解)を用いることにより行列 Aから非特異小行列を 抽出し (ステップ S 2)、抽出した非特異小行列を用いて定式化した連立一次方程式 の解を算出する (ステップ S3)。このとき、ある加速度間の拘束を無視することによつ て一次独立の接触問題として解を求め、解を求めた後に全ての加速度間の拘束を チェックする。不要な拘束を全て不要セットに置き換えた場合、これらの不要セットの インデックスの 1つは保持セットに含まれ、行列 Aの異なる一次独立の小行列を算出 することができる。どの拘束が必要である力、どの拘束が他の拘束に影響を及ぼすか ということについては一般的には分力もないため、保持する拘束のどの組み合わせに ついても、全ての拘束を満たす解が見つカゝるまで線形独立の小行列を計算する。あ るいは、元の行列 Aが悪状態又は不十分なランクであるために完全な解を求めること が出来ない場合もあり、そのときは最も拘束を満足する解が見つ力るまで全ての小行 列について計算を行う。
[0094] このように本発明では、外力及び加速度の関係が一次従属の関係を含む場合であ つても、一次従属の関係を排除して線形独立の関係のみを残すことができ、物体に 印加されている外力及び加速度を解析的に速やかに求めることができる。

Claims

請求の範囲
[1] 表面上の複数の点に外力が印加された場合の物体の運動を解析する運動解析方 法において、
各点に印加された外力と、外力が印加された場合の各点での加速度との関係を係 数行列を用いた連立一次方程式により定式ィ匕し、行列分解を用いて前記係数行列 から非特異小行列を抽出し、抽出した非特異小行列を用いて前記連立一次方程式 の解を算出し、前記連立一次方程式の途中結果及び最終結果をメモリに記録するこ とを特徴とする運動解析方法。
[2] 前記行列分解は、 QR分解であることを特徴とする請求項 1に記載の運動解析方法
[3] QR分解を用いて前記係数行列を直交行列と上三角行列との積に分解し、得られ た上三角行列を構成する列ベクトルについて 1又は複数回の列交換及びギブンス回 転を行うことを特徴とする請求項 1又は請求項 2に記載の運動解析方法。
[4] 前記上三角行列から零である対角要素を探索し、零である対角要素が探索された 場合、該対角要素の右隣から順に非零である要素を探索し、非零である要素が探索 された場合、該要素を含む列ベクトルと前記対角要素を含む列ベクトルとの間の列交 換を行うことを特徴とする請求項 3に記載の運動解析方法。
[5] 前記物体は、床面を歩行する歩行ロボットであり、前記外力は前記床面から受ける 抗カであることを特徴とする請求項 1乃至請求項 4に記載の運動解析方法。
[6] 表面上の複数の点に外力が印加された場合の物体の運動を解析する運動解析装 ¾【こ; i l /、て、
各点に印加された外力と外力が印加された場合の各点での加速度との関係を係数 行列を用いた連立一次方程式により定式ィヒする手段と、行列分解を用いて前記係数 行列から非特異小行列を抽出する手段と、抽出した非特異小行列を用いて前記連 立一次方程式の解を算出する手段と、前記連立一次方程式の途中結果及び最終結 果をメモリに記録する手段とを備えることを特徴とする運動解析装置。
[7] コンピュータに、表面上の複数の点に外力が印加された場合の物体の運動を解析 させるコンピュータプログラムにおいて、 コンピュータに、各点に印加された外力と外力が印加された場合の各点での加速 度との関係を係数行列を用いた連立一次方程式により定式ィ匕させるステップと、コン ピュータに、行列分解を用いて前記係数行列から非特異小行列を抽出させるステツ プと、コンピュータに、抽出させた非特異小行列を用いて前記連立方程式の解を算 出させるステップとを有することを特徴とするコンピュータプログラム。
コンピュータに、表面上の複数の点に外力が印加された場合の物体の運動を解析 させるコンピュータプログラムが記録されているコンピュータでの読み取りが可能な記 録媒体において、
コンピュータに、各点に印加された外力と外力が印加された場合の各点での加速 度との関係を係数行列を用いた連立一次方程式により定式ィ匕させるステップと、コン ピュータに、行列分解を用いて前記係数行列から非特異小行列を抽出させるステツ プと、コンピュータに、抽出させた非特異小行列を用いて前記連立方程式の解を算 出させるステップとを有するコンピュータプログラムが記録されていることを特徴とする コンピュータでの読み取りが可能な記録媒体。
PCT/JP2007/052845 2006-02-16 2007-02-16 運動解析方法、運動解析装置、コンピュータプログラム、及び記録媒体 WO2007094451A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008500562A JPWO2007094451A1 (ja) 2006-02-16 2007-02-16 運動解析方法、運動解析装置、コンピュータプログラム、及び記録媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006039834 2006-02-16
JP2006-039834 2006-02-16

Publications (1)

Publication Number Publication Date
WO2007094451A1 true WO2007094451A1 (ja) 2007-08-23

Family

ID=38371627

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/052845 WO2007094451A1 (ja) 2006-02-16 2007-02-16 運動解析方法、運動解析装置、コンピュータプログラム、及び記録媒体

Country Status (2)

Country Link
JP (1) JPWO2007094451A1 (ja)
WO (1) WO2007094451A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016198873A (ja) * 2015-04-14 2016-12-01 トヨタ自動車株式会社 最適制御装置、最適制御方法及び最適制御プログラム
CN107186753A (zh) * 2017-05-17 2017-09-22 上海电器科学研究所(集团)有限公司 工业机器人性能测试的工作空间确定方法
CN107844460A (zh) * 2017-07-24 2018-03-27 哈尔滨工程大学 一种基于p‑maxq的多水下机器人的围捕方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003296734A (ja) * 2002-03-26 2003-10-17 Agilent Technol Inc 次元低減を用いた物体分類システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003296734A (ja) * 2002-03-26 2003-10-17 Agilent Technol Inc 次元低減を用いた物体分類システム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HALE J.G.: "Abstract of Sub-matrix analysis for contact force resolution in humanoid simulation", PROGRAM OF 8TH INTERNATIONAL IFAC SYMPOSIUM ON ROBOT CONTROL, XP003016579 *
HALE J.G.: "Practical and theoretical research into humanoid motion and interaction", IEEE SYSTEMS, MAN AND CYBERNETICS SOCIETY ENEWSLETTER, December 2005 (2005-12-01), XP003016578 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016198873A (ja) * 2015-04-14 2016-12-01 トヨタ自動車株式会社 最適制御装置、最適制御方法及び最適制御プログラム
CN107186753A (zh) * 2017-05-17 2017-09-22 上海电器科学研究所(集团)有限公司 工业机器人性能测试的工作空间确定方法
CN107186753B (zh) * 2017-05-17 2020-10-09 上海电器科学研究所(集团)有限公司 工业机器人性能测试的工作空间确定方法
CN107844460A (zh) * 2017-07-24 2018-03-27 哈尔滨工程大学 一种基于p‑maxq的多水下机器人的围捕方法
CN107844460B (zh) * 2017-07-24 2020-12-25 哈尔滨工程大学 一种基于p-maxq的多水下机器人的围捕方法

Also Published As

Publication number Publication date
JPWO2007094451A1 (ja) 2009-07-09

Similar Documents

Publication Publication Date Title
Petra et al. A Bayesian approach for parameter estimation with uncertainty for dynamic power systems
TWI757774B (zh) 評估材料機械性質的機器學習技術
US9483602B2 (en) Method and system for identifying rare-event failure rates
US20210158152A1 (en) Simulation system for semiconductor process and simulation method thereof
Yuan et al. A novel adaptive importance sampling algorithm based on Markov chain and low-discrepancy sequence
JP5402351B2 (ja) 多目的最適化設計支援装置、方法、及びプログラム
US20190034802A1 (en) Dimensionality reduction in Bayesian Optimization using Stacked Autoencoders
JP2010061439A (ja) 最適解関係表示装置、方法、及びプログラム
JP2014229311A (ja) シミュレーションシステム及び方法と該システムを含むコンピュータシステム
JP5176895B2 (ja) Sram形状パラメータ等の多目的最適化設計支援装置、方法、及びプログラム
JP6860084B2 (ja) 情報処理装置、情報処理方法及びプログラム
WO2007094451A1 (ja) 運動解析方法、運動解析装置、コンピュータプログラム、及び記録媒体
US7904853B1 (en) Pattern signature
Nitzler et al. A generalized probabilistic learning approach for multi-fidelity uncertainty quantification in complex physical simulations
JP5600693B2 (ja) クラスタリング装置及び方法及びプログラム
JP4871194B2 (ja) パラメータ抽出方法及び当該パラメータ抽出方法を実行させるプログラムを具備するコンピュータ読み取り可能な記憶媒体
JP2008015841A (ja) 回路解析方法、及び回路解析プログラム、回路シミュレーション装置
JP3892167B2 (ja) 粒子集団の配置を生成する生成装置および方法
Dou et al. Machining fixture layout optimization using particle swarm optimization algorithm
JP5813498B2 (ja) モデル学習装置、関連情報抽出装置、関連情報予測装置、モデル学習方法、関連情報抽出方法、関連情報予測方法およびプログラム
JP6831307B2 (ja) 解算出装置、解算出方法及び解算出プログラム
JP5777506B2 (ja) 解析装置およびシミュレーション方法
Basu et al. Uncertainty quantification methods for ML-based surrogate models of scientific applications
CN113609720B (zh) 一种有限元分析的主从自由度处理方法、设备及存储介质
TW201525742A (zh) 用於處理及環境變化之快速巢狀迴路電路驗證之方法及系統以及分層電路

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2008500562

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07714375

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)