Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Joint saturation in simmechanics second generation

Asked by pouya jamali on 24 Oct 2012

Any one has any idea about how to limit the motion of a revolute joint which is actuated by torque? in order to model a biped robot I need to saturate the joints like as human body.For example knee joint just can move in a limited range. I did it before in simmechanics first generation by designing a filter. The actuator was motion in that model. Now I don't know how to do it again when the actuator is a torque. I need to use something like revolute hard limits, Maybe...


pouya jamali on 27 Nov 2012

How is it now? ;-)

pouya jamali

2 Answers

Answer by Tony on 27 Nov 2012
Edited by Tony on 27 Nov 2012
Accepted answer

Hi Pouya,

One solution is to use Simscape blocks instead. You can create a Simscape feedback loop that accepts the joint velocity as input, feeds it into a Hard Stop block, and outputs the hard-stop torque/force.

You can do this for both prismatic and revolute primitives, using Simscape foundation translational or rotational blocks. The key thing to remember is that Simscape blocks are 1-D, which means you must use a feedback loop for each 1-D primitive in SimMechanics (prismatic or revolute).

The Hard Stop block allows free motion within a specified range. At the limits of this range, the block applies a contact force, modeled as a combination of springs and dampers. You can adjust the spring stiffness to change the "hardness" of the stop, and the damping coefficient to change the "elasticity" of the stop.

Hope this helps! - Tony


Answer by Ryan G on 24 Oct 2012

You can use an angle constraint to limit the motion of a revolute joint.

1 Comment

pouya jamali on 25 Oct 2012

Daer Ryan tnx for your attention, I will be more grateful if you provide me with more explanation... I don't know how must I place this block on my block diagram...Must it be placed serially between the joint and the body ?

Ryan G

Contact us