Patent ID: 7490012

Claim:
A dynamics calculation method for muscles, tendons, ligamenta, and a skeleton, for calculating, in a body model defined by data for rigid links expressing a skeleton and data for wires and virtual links expressing muscles, tendons, and ligamenta, forces applied to or generated by the wires and virtual links from acceleration given to the rigid links, said the body dynamics model which is expressed by data for wires and virtual links connected between the wires which express muscles, tendons, and ligamenta of a body which includes a human body, a living body, or an animal body, and data for rigid links which express bones, wherein the rigid links are coupled by joints which express joints having a plurality of degrees of freedom to form a skeleton; the wires connect origins and end points secured to predetermined locations of the bones expressed by the rigid links, pass through no or one or more via-points which allow sliding and are secured to bones, and are formed such that the lengths and tension of the wires can be changed according to the movement of the rigid links; the virtual links are formed such that the origins and end points of a plurality of the wires are secured; and forces applied to the wires and the virtual links, the lengths of the wires, and the motion of the rigid links interact with each other, the dynamics calculation method comprising: a step of reading model data which includes the shapes and dynamics data of the wires and virtual links and the rigid links for which dynamics calculation is performed, from a model-data file by a processing section; a step of reading the current angles, positions, and velocities of the rigid links from a rigid-link file having stored the angles, positions, and velocities of the rigid links, and also of reading acceleration given to the rigid links from an acceleration file, by the processing section; a step of calculating a Jacobian J L for the joint angle of the length of each wire according to the model data and the angles, positions, and velocities of the rigid links, by the processing section; a step of calculating generalized forces τ G serving as forces at the connection points of the rigid links, required for generating motion caused by the acceleration given to the rigid links, according to the acceleration of the rigid links read from the acceleration file and the angles and velocities read from the rigid-link file, by the processing section; a step of storing the obtained generalized forces τ G in a generalized-force file, by the processing section; a step of solving the following equation for f according to the previously obtained J L to obtain the generation forces f applied to each wire and virtual link from the generalized forces τ G , by the processing section; τ G =J L t f a step of storing the obtained rigid-link generation forces f in a generation-force file; and wherein, T denotes transposed matrix or transposed vector.