Hi, I'm working on implementing a model using biological muscles as actuators. In the mujoco.h header file, there are definitions for mju_muscleFVL and mju_musclePassive functions. Most of the inputs to these functions make sense, but some I'm not sure of - the values in the prm input for example. I couldn't find a detailed description of the functions in the current documentation. What are the appropriate inputs to these functions? Thanks in advance, Chris
These functions are just placeholders. They don't do anything for now. The plan is to implement a default muscle model at some point.
Hello, Is there a default muscle model available now?? I am very interested to use it in my project for lower limb model with powered exoskeleton. Regards, Akhil
I'm also running into this. I'd specifically love it if tendons could act as non-linear springs (exponential rather than Hookean) as that would allow for easily implementation of Hill-type models. Maybe there's an easy way to do this already, if so please do let me know!
The documentation of the 1.60 muscle model is now online: http://www.mujoco.org/book/modeling.html#CMuscle Currently the software is in beta-testing. Should be released in August. Comments are welcome based on the documentation.
Very glad to see this! Thanks for all the hard work. I look forward to getting to play with them. A couple questions on a first pass reading 1. Do the combined muscle+tendon structures have elastic properties by default? If not is there anything stopping a user setting the standard stiffness param on a tendon to have it display spring like behavior? 2. Muscle fatigue comes in (at least) two components. 1. central (which is effectively a modifier on the control signal) and 2. peripheral (which is effectively a modifier on the activation level). For my model I'd love to provide a callback that sits between the tau filter and the FLV function. Is that possible?
1. Elasticity is built into the FLV function, in the sense that it has positive slope in the interval (lmin, 1). You could add linear elasticity to the tendon itself. But if you are talking about explicit modeling of a muscle and an elastic tendon in series, this is not done and is left to the user. 2. You can replace the default filter with a callback, but it is easier to simply change tau over time. There is a separate tau for each muscle. You can also change the peak force F0 of the muscle.
Dear Dr. Todorov (@Emo Todorov), I am using this feature on a project for a publication I am working on. Just to make sure I have understood it right, when you mentioned "add linear elasticity to the tendon itself" on the previous comment (how I added this was by declaring a non-zero stiffness value as a tendon property) it will be an element that can be modeled as a passive spring that can only pull and not push (and damper in case of non-zero damper/stiffness loss) added in parallel to the tendon. Is that correct? I also wanted to make sure about the unit for stiffness used in MuJoCo, it is N/m (SI) similar to all other units that are in SI, right?? Thank you in advance