Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
58ac46c
Add VandenBogert2011Muscle (calculation only)
humphreysb Jul 1, 2016
3da1730
A version that compiles for API wrapping
humphreysb Jul 1, 2016
78f084b
Wrap VandenBogert2011Muscle.
chrisdembia Jul 1, 2016
8ae97f7
Added Jacobian Calcs
humphreysb Jul 7, 2016
f355b13
Addressed variable names and changed to opensim nomenclature
humphreysb Jul 7, 2016
0471895
Modifed to include pennation. Also added activation-Vmax relationshi…
humphreysb Jul 8, 2016
af5a276
Add each of the muscle componet forces as individual outputs for trou…
humphreysb Jul 8, 2016
160092d
Fixed setters and getters.
humphreysb Jul 9, 2016
28c5c43
Merge branch 'implicit_proposal' of https://github.com/opensim-org/op…
humphreysb Jul 11, 2016
74278f0
Added calcJacobianByFiniteDiff method
humphreysb Jul 12, 2016
a038284
Start test for implicit differential equations.
chrisdembia Jul 14, 2016
05870cf
Push for troubleshooting Mat wrapping issue
humphreysb Jul 14, 2016
1755664
Fixing deleted source bindings dir
humphreysb Jul 14, 2016
7e98c1a
Properly wrap Mat22, Mat33, etc.
chrisdembia Jul 14, 2016
3c09cb2
Clean up leftover swig rename command.
chrisdembia Jul 14, 2016
b485c38
Added static eq calc .
humphreysb Jul 15, 2016
fb00711
Merge branch 'vandenBogertMuscle' of https://github.com/humphreysb/op…
humphreysb Jul 15, 2016
98a20b4
First successful implicit residual, with many serious flaws.
chrisdembia Jul 15, 2016
0968cf0
Rename getImplicitResidual().
chrisdembia Jul 15, 2016
69bd723
With updates for static equib
humphreysb Jul 15, 2016
a7bb193
Added multibody system (no constraints) to residuals.
chrisdembia Jul 16, 2016
82cabca
Test class ImplicitSystemDerivativeSolver().
chrisdembia Jul 22, 2016
b138477
Change stages to cause proper invalidation of residual.
chrisdembia Jul 22, 2016
7b2955e
Ensure residuals vector can't change size.
chrisdembia Jul 22, 2016
55956fb
Push code before adding tests
humphreysb Jul 25, 2016
360ce86
Merge branch 'master' of https://github.com/opensim-org/opensim-core …
humphreysb Jul 25, 2016
03da0b4
Handle constraints along with implicit form.
chrisdembia Jul 26, 2016
c65d49f
hasFullImplicitForm()
chrisdembia Jul 26, 2016
2f29203
Adding Fwd Test (MATLAB) version for reference
humphreysb Jul 26, 2016
db36279
Halfway through converting to operator scheme.
chrisdembia Jul 28, 2016
a4e3a74
First complete pass of operator form.
chrisdembia Jul 29, 2016
1d6f1e4
Rearrange implicit methods.
chrisdembia Jul 30, 2016
8555746
Use newer Simbody with calcConstraintAccelerationErrors().
chrisdembia Jul 31, 2016
8fe9348
First pass at doxygen for Model::calcImplicitResiduals.
chrisdembia Aug 1, 2016
f20ad79
Update with some Muscle.h interfaces
humphreysb Aug 2, 2016
b1ecf43
Merge branch 'implicit_operator' of https://github.com/opensim-org/op…
humphreysb Aug 2, 2016
a3c60a5
Adding Forward Muscle Test Code - Not intgrated as a test (yet)
humphreysb Aug 3, 2016
5f63a12
Added documentation and general cleanup
humphreysb Aug 4, 2016
c0c4eb8
More clean-up
humphreysb Aug 4, 2016
f0d6af3
With Explicit via implicit calcualtions added back in
humphreysb Aug 5, 2016
0a6fba6
Interim update addressing some PR1160 comments
humphreysb Aug 24, 2016
17875df
Adding Muscle update (before switching state variable back to project…
humphreysb Sep 27, 2016
254fcfb
Lot's of cleanup and state variable swicthed to using normProjFiberLe…
humphreysb Sep 30, 2016
70aebce
Misc Doxy updates
humphreysb Oct 1, 2016
aafa38a
Commit after adding mli cache variable. Just prior to branching to a…
humphreysb Oct 5, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Bindings/Java/Matlab/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ add_dependencies(RunMatlabTests JavaBindings)
OpenSimAddMatlabTest(TugOfWar ../examples/OpenSimCreateTugOfWarModel.m)
OpenSimAddMatlabTest(ConnectorsInputsOutputs testConnectorsInputsOutputs.m)
OpenSimAddMatlabTest(AccessSubcomponents testAccessSubcomponents.m)
OpenSimAddMatlabTest(VandenBogert2011Muscle testVandenBogert2011Muscle.m)

# Copy resources.
file(COPY "${OPENSIM_SHARED_TEST_FILES_DIR}/arm26.osim"
Expand Down
27 changes: 27 additions & 0 deletions Bindings/Java/Matlab/tests/testVandenBogert2011Muscle.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@

import org.opensim.modeling.*

muscle = VandenBogert2011Muscle();
Lm = 0;
Lce = 0;
a = 0;
Lcedot = 0;
adot = 0;
u = 0;
out = muscle.calcImplicitResidual(Lm, Lce, a, Lcedot, adot, u, 0);
% out should have 3 elements:
%assert(out.size() == 3);
%disp(out.get(0))
%disp(out.get(1))
%disp(out.get(2))
methods(out)

% Make sure that we can access the Mat22:
df_dy = out.getDf_dy();
df_dy.get(0, 0);
df_dy.get(1, 1);
df_dy.set(1, 1, 1.5);


% Ensure the nested struct is wrapped.
impRes = VandenBogert2011MuscleImplicitResidual()
2 changes: 2 additions & 0 deletions Bindings/OpenSimHeaders_actuators.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,6 @@
#include <OpenSim/Actuators/Millard2012AccelerationMuscle.h>
#include <OpenSim/Actuators/ClutchedPathSpring.h>

#include <OpenSim/Actuators/VandenBogert2011Muscle.h>

#endif // OPENSIM_OPENSIM_HEADERS_ACTUATORS_H_
4 changes: 4 additions & 0 deletions Bindings/actuators.i
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,7 @@
%include <OpenSim/Actuators/Thelen2003Muscle.h>
%include <OpenSim/Actuators/Millard2012EquilibriumMuscle.h>
%include <OpenSim/Actuators/Millard2012AccelerationMuscle.h>

%feature("flatnested") OpenSim::VandenBogert2011Muscle::ImplicitResidual;
%rename(VandenBogert2011MuscleImplicitResidual) OpenSim::VandenBogert2011Muscle::ImplicitResidual;
%include <OpenSim/Actuators/VandenBogert2011Muscle.h>
1 change: 1 addition & 0 deletions Bindings/preliminaries.i
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@

%include "std_map.i"
%include <std_shared_ptr.i>

1 change: 1 addition & 0 deletions Bindings/simbody.i
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ namespace SimTK {
%include <SWIGSimTK/Mat.h>
%include <SimTKcommon/SmallMatrix.h> // for typedefs like Mat33.
namespace SimTK {
%template(Mat22) Mat<2, 2>;
%template(Mat33) Mat<3, 3>;
}
%include <SWIGSimTK/CoordinateAxis.h>
Expand Down
1 change: 1 addition & 0 deletions OpenSim/Actuators/Millard2012EquilibriumMuscle.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ double aTendonSlackLength, double aPennationAngle)

setName(aName);
setMaxIsometricForce(aMaxIsometricForce);
setMaxIsometricForce(aMaxIsometricForce);
setOptimalFiberLength(aOptimalFiberLength);
setTendonSlackLength(aTendonSlackLength);
setPennationAngleAtOptimalFiberLength(aPennationAngle);
Expand Down
4 changes: 4 additions & 0 deletions OpenSim/Actuators/RegisterTypes_osimActuators.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@
#include "Millard2012EquilibriumMuscle.h"
#include "Millard2012AccelerationMuscle.h"

#include "VandenBogert2011Muscle.h"

// Awaiting new component architecture that supports subcomponents with states.
//#include "ConstantMuscleActivation.h"
//#include "ZerothOrderMuscleActivationDynamics.h"
Expand Down Expand Up @@ -105,6 +107,8 @@ OSIMACTUATORS_API void RegisterTypes_osimActuators()
Object::RegisterType(Millard2012EquilibriumMuscle());
Object::RegisterType(Millard2012AccelerationMuscle());

Object::registerType(VandenBogert2011Muscle());

//Object::RegisterType( ConstantMuscleActivation() );
//Object::RegisterType( ZerothOrderMuscleActivationDynamics() );
//Object::RegisterType( FirstOrderMuscleActivationDynamics() );
Expand Down
Loading