visual3d:documentation:kinematics_and_kinetics:global_optimization
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
visual3d:documentation:kinematics_and_kinetics:global_optimization [2024/06/19 12:47] – sgranger | visual3d:documentation:kinematics_and_kinetics:global_optimization [2024/07/17 15:45] (current) – created sgranger | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|| | + | ====== Global Optimization ====== |
+ | |||
+ | || | ||
\\ | \\ | ||
- | in visual3d | + | In Visual3D |
- | in other words global optimization is the search of an optimal pose of a multi-link model for each data frame such that the overall differences between the measured and model-determined marker coordinates are minimized in a least squares sense, throughout all the body segments. | + | In other words global optimization is the search of an optimal pose of a multi-link model for each data frame such that the overall differences between the measured and model-determined marker coordinates are minimized in a least squares sense, throughout all the body segments. |
- | our initial solutions to this problem were based on the following article: | + | Our initial solutions to this problem were based on the following article: |
- | **lu tw and o'connor jj** (1999) | + | **Lu TW and O'Connor JJ** (1999) |
- | j biomech | + | J Biomech |
- | ik_figure1.png\\ | + | {{: |
- | consider | + | Consider |
- | the location of the same marker | + | The location of the same marker |
- | ik_ai.png is computed by visual3d | + | {{:IK_ai.png}} is computed by Visual3D |
- | ik_pi.png is the 3d motion capture data recorded | + | {{:IK_pi.png}} is the 3D motion capture data recorded |
- | the relationship between | + | The relationship between |
- | ik_eqn1.png (1)\\ | + | {{:IK_Eqn1.png}} (1)\\ |
where: | where: | ||
- | ik_r.png is a rotation matrix from scs to lcs, and | + | {{:IK_r.png}} is a rotation matrix from SCS to LCS, and |
- | ik_o.pngis the translation between | + | {{:IK_O.png}}is |
- | if a segment moves, the new orientation matrix | + | If a segment moves, the new orientation matrix |
\\ | \\ | ||
- | for the [[visual3d:documentation:kinematics_and_kinetics:six_degrees_of_freedom#6_dof_tracking|6 dof analysis described elsewhere]], | + | For the [[Visual3D:Documentation:Kinematics_and_Kinetics:Six_Degrees_of_Freedom#6_DOF_Tracking|6 DOF analysis described elsewhere]], |
- | ik_eqn2.png (2) | + | {{:IK_Eqn2.png}} (2) |
- | equation | + | Equation |
\\ | \\ | ||
- | lu & o’connor | + | Lu & O’Connor |
- | ik_upperarm.png | + | {{: |
\\ | \\ | ||
- | //figure a model comprised of a series of rigid segments connected by joints.// | + | //Figure A model comprised of a series of rigid segments connected by joints.// |
- | the solution to the ik is the pose of a model that best matches the motion capture data in terms of a global criterion (e.g. least squares). in the general case there is no analytic solution for the ik problem. | + | The solution to the IK is the pose of a model that best matches the motion capture data in terms of a global criterion (e.g. Least Squares). In the general case there is no analytic solution for the IK problem. |
- | ik_eqn3.png (1) | + | {{:IK_Eqn3.png}} (1) |
\\ | \\ | ||
- | determining | + | Determining |
- | visual3d | + | Visual3D |
- | the quasi-newton | + | The Quasi-Newton |
- | to find the search direction (step 1) using newton's method, consider a point on/near the current value. | + | To find the search direction (step 1) using Newton's method, consider a point on/near the current value. |
\\ | \\ | ||
Line 63: | Line 65: | ||
(5) | (5) | ||
- | where is the gradient ofat the current valueandis the hessian | + | Where is the gradient ofat the current valueandis the Hessian |
\\ | \\ | ||
- | the gradient has a minima at: | + | The gradient has a minima at: |
\\ | \\ | ||
Line 78: | Line 80: | ||
- | after solving for the search directionthe next point in the searchcan be found by moving in the direction ofwith a step size computed to ensure that we obtained a sufficient decrease in the cost function without taking excessively small steps. | + | After solving for the search directionthe next point in the searchcan be found by moving in the direction ofwith a step size computed to ensure that we obtained a sufficient decrease in the cost function without taking excessively small steps. |
\\ | \\ | ||
- | one problem with the newton | + | One problem with the Newton |
- | in the visual3d ik, each frame of data is computed " | + | In the Visual3D IK, each frame of data is computed " |
- | in many circumstances the ik solution is preferred to the 6 dof solution, but the user must attend to the determination of the appropriateness of the joint constraints. | + | In many circumstances the IK solution is preferred to the 6 DOF solution, but the user must attend to the determination of the appropriateness of the joint constraints. |
- | when estimating the pose the user may want to make sure that certain segments follow the tracking targets with a higher degree of accuracy than other segments. | + | When estimating the pose the user may want to make sure that certain segments follow the tracking targets with a higher degree of accuracy than other segments. |
(6) | (6) | ||
- | where n is the number of generalized coordinates in the ik model andis the weight factor for each marker. | + | where N is the number of generalized coordinates in the IK model andis the weight factor for each marker. |
+ | |||
+ | It is well known that residual errors (i.e. differences between model predictions and sensor measurements) computed by IK algorithms reflect both sensor noise and soft tissue artifact. If these individual residuals are represented in their local segment coordinate system it is possible to compute correlations between the residuals and the generalized coordinates. What we really want to do is to identify systematic noise and minimize its effect on the estimated pose. The IK algorithm, however, has no mechanism to compensate for noise even though it can be used to identify the presence of systematic noise. | ||
- | it is well known that residual errors | + | **van den Bogert AT and Su A** (2008) A weighted least squares method for inverse dynamic analysis. Computer Methods |
- | **van den bogert at and su a** (2008) a weighted least squares method for inverse dynamic analysis. computer methods in biomechanics and biomedical engineering, | ||
- | }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} |
visual3d/documentation/kinematics_and_kinetics/global_optimization.1718801275.txt.gz · Last modified: 2024/06/19 12:47 by sgranger