MATLAB Answers

Making an active revolute joint passive during simulation

1 view (last 30 days)
I am trying to model a window washer robot and control its motion interactively. In my model, some revolute joints are active and controlled by motion input, while some others are not actuated and act just as passive joints.
I need a joint that can be turned on or off manually during simulation. I mean, sometimes It has to be a passive joint (but engaged), and sometimes it needs to be actuated. I wish to be able to switch between these two modes during simulation, as many times as I would like.
In real world, we can turn a servomotor on or off during operation, making it a controllable active joint or a passive one with its own internal mechanics. How should I simulate it in simscape multibody?


Sign in to comment.

Accepted Answer

Juan Sagarduy
Juan Sagarduy on 13 Nov 2020
Hello Amir
I think the joint will be set to Torque (provided by input) and motion (automatically calculated).
Then, when the servomotor is active, input torque is non-zero and regulated. When off, apply a factor zero - the joint will act passively likely dragged by the inertial movement in the shaft.
You need to use a Rotational Interface as u find in the documentation example to connect motor and joint.
Good luck Juan


Amir Jafarimoghaddam
Amir Jafarimoghaddam on 14 Nov 2020
Hello Juan
Thank you for your answer. But I think it would work only in forward dynamics mode.
I have set my revolute joints to inverse dynamics mode. I mean motion (provided by input) and torque (automatically computed). What should I do now? Is there any way? Or I have to set the joints as you said.
Juan Sagarduy
Juan Sagarduy on 14 Nov 2020
Hi Amir,
I believe use the forward dynamics mode is the only way to accomplish this. In your control loop, the angle prescribed becomes the command.
The controller Pi for instance will then give the actuation torque to the joint. A zero torque will then mean that the joint is passive.
HTH / Juan

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!