Free joint makes state.getNY() return extra state!
Posted: Wed Jul 12, 2017 8:26 pm
I am currently modified the model in "DynamicWalkingStarter", I replace the joint between pelvis and floor with a free joint. (original is 2 slider joints, which limits the DOF)
The model I modified is this provided in the link below
https://drive.google.com/file/d/0B4Av76 ... sp=sharing
And it is clear it only has 12 coordinates
http://imgur.com/a/oOigN
p.s. I set some range to 0 since I want to lock them, but I also called the "setLocked(osimState, true);" in my matlab code.
However, when I use
It returns me 25, which is one extra of what I expected.
Nevertheless, when I use
It gave me 24 values, which seems correct.
In other words, the model I provided have 12 different state variables, but initSystem() create the state that has an extra one, why is that?
The model I modified is this provided in the link below
https://drive.google.com/file/d/0B4Av76 ... sp=sharing
And it is clear it only has 12 coordinates
http://imgur.com/a/oOigN
p.s. I set some range to 0 since I want to lock them, but I also called the "setLocked(osimState, true);" in my matlab code.
However, when I use
Code: Select all
osimModel = Model('../Model/selfDefined/osimModel_pelvis_act.osim');
osimState = osimModel.initSystem();
numVar = osimState.getY().size();
Nevertheless, when I use
Code: Select all
osimModel.getStateVariableNames().getitem(index)
In other words, the model I provided have 12 different state variables, but initSystem() create the state that has an extra one, why is that?