calclPower() reports zero

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Mohammadreza Rezaie
Posts: 408
Joined: Fri Nov 24, 2017 12:48 am

calclPower() reports zero

Post by Mohammadreza Rezaie » Thu Jun 08, 2023 11:42 am

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

Tags:

User avatar
Thomas Uchida
Posts: 1793
Joined: Wed May 16, 2012 11:40 am

Re: calclPower() reports zero

Post by Thomas Uchida » Mon Jun 12, 2023 4:26 pm

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).

User avatar
Mohammadreza Rezaie
Posts: 408
Joined: Fri Nov 24, 2017 12:48 am

Re: calclPower() reports zero

Post by Mohammadreza Rezaie » Tue Jun 13, 2023 6:06 am

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.

POST REPLY