Page 1 of 1

calclPower() reports zero

Posted: Thu Jun 08, 2023 11:42 am
by kernalnet
Hi, I'm trying to get joint power (joint moment * joint angular velocity) using OpenSim::Joint::calcPower but the outputs are always zero. The model is Rajagopal (torque-actuated) and the input data are kinematics, external load, and generalized forces followed. In GUI, the OutputReporter (e.g., /jointset/hip_r|power) also reports zero.

I found this description but couldn't understand it very well:
Joints only produce power when internal constraint forces have components along the mobilities of the joint (for example to satisfy prescribed motion). In which case the joint power is the constraint forces projected onto the mobilities multiplied by the mobilities (internal coordinate velocities). Only constraints internal to the joint are accounted for, not external constraints that affect joint motion.
https://github.com/opensim-org/opensim- ... #L380-L385

Any help would be greatly appreciated.

Regards,
Mohammadreza

Re: calclPower() reports zero

Posted: Mon Jun 12, 2023 4:26 pm
by tkuchida
As far as I know, the joints do not calculate the power generated by muscles. The joints are just responsible for maintaining a particular relationship between a parent frame and a child frame. You might investigate the power reported by the MuscleAnalysis (https://simtk.org/api_docs/opensim/api_ ... lysis.html).

Re: calclPower() reports zero

Posted: Tue Jun 13, 2023 6:06 am
by kernalnet
Thanks for your reply, I had removed all muscles and the model is now actuated by coordinateActuators (I'm interested in intersegmental power, forces and moments). In what circumstances does calcPower() work?
Thanks for your help.