Skip to content

Commit

Permalink
Added calcMinimizingExternalTorqueControl cost function
Browse files Browse the repository at this point in the history
  • Loading branch information
MarlenyVega committed Jun 19, 2023
1 parent 66b425f commit f8ef9fa
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
% This function is part of the NMSM Pipeline, see file for full license.
%
% () -> ()
%

% ----------------------------------------------------------------------- %
% The NMSM Pipeline is a toolkit for model personalization and treatment %
% optimization of neuromusculoskeletal models through OpenSim. See %
% nmsm.rice.edu and the NOTICE file for more information. The %
% NMSM Pipeline is developed at Rice University and supported by the US %
% National Institutes of Health (R01 EB030520). %
% %
% Copyright (c) 2021 Rice University and the Authors %
% Author(s): Marleny Vega %
% %
% Licensed under the Apache License, Version 2.0 (the "License"); %
% you may not use this file except in compliance with the License. %
% You may obtain a copy of the License at %
% http://www.apache.org/licenses/LICENSE-2.0. %
% %
% Unless required by applicable law or agreed to in writing, software %
% distributed under the License is distributed on an "AS IS" BASIS, %
% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or %
% implied. See the License for the specific language governing %
% permissions and limitations under the License. %
% ----------------------------------------------------------------------- %

function cost = calcMinimizingExternalTorqueControl(...
externalTorqueControl, params, coordinate)

indx = find(strcmp(convertCharsToStrings( ...
params.externalControlTorqueNames), coordinate));
cost = calcMinimizingCostArrayTerm(externalTorqueControl(:, indx));
end
7 changes: 7 additions & 0 deletions src/core/TreatmentOptimization/generateCostTermStruct.m
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@
"center_mass_velocity_z_minimization" ...
"kinematic_symmetry" ...
"walking_speed_goal" ...
"external_torque_control_minimization" ...
"user_defined", ...
];
otherwise
Expand Down Expand Up @@ -297,6 +298,12 @@
auxdata, ...
costTerm);

costTermCalculations.external_torque_control_minimization = @(values, modeledValues, auxdata, costTerm) ...
calcMinimizingExternalTorqueControl( ...
values.externalTorqueControls, ...
auxdata, ...
costTerm.coordinate);

costTermCalculations.synergy_vector_tracking = @(values, modeledValues, auxdata, costTerm) ...
calcTrackingSynergyVectorsDiscrete( ...
values.synergyWeights, ...
Expand Down

0 comments on commit f8ef9fa

Please sign in to comment.