Possibility of locking a force-controlled Prismatic Joint to a position reached at a certain instant
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi there!
I am experiencing a problem when using the Prismatic Joint. I need to initially make use of the Force Input in the first part of the Joint's movement, and then I would like to be able to lock the Prismatic Joint in the position it is in at the moment of the switch. In the real system, locking in position is achieved by means of a valve closure and the incompressibility of the fluid is thus exploited.
At the moment, I have found three possible solutions, but all of them cannot be implemented due to problems with Simscape's handling of the Joint.
First solution:
Use a Weld Joint in parallel with the Prismatic Joint. This is disengaged in the first phase of the simulation and is only activated in the locking phase (by changing its mode). The problem is that an error is obtained due to the fact that the Weld Joint tends to overlap the centres of gravity of the two connected bodies. The error is shown below:
An error occurred while running the simulation and the simulation was terminated
Caused by:
- ['prova_cilindro__2022/Solver Configuration']: The position components of the kinematic constraints of the mechanism cannot be satisfied when attempting to transition joints from disengaged to normal mode. This is more likely to occur for large rotation errors compared to large translation errors. Consider reducing the error in those joints before attempting the transition or consider increasing the joint mode transition nonlinear iterations parameter in the associated Mechanism Configuration block.
Component:Simulink | Category:Block error
My question is whether it would be possible to impose the position of the Weld Joint (in particular, to impose it equal to the position of the Prismatic Joint at the time of the switch) in such a way as to prevent it from bringing the two centres of gravity of the bodies connected by the Prismatic Joint back to coincide.
Second solution:
An alternative solution could be to mount two Prismatic Joints in parallel and control one in Force and one in Position, keeping the one controlled in Position disabled until the switch between the two Prismatic Joints is made. But this solution has two problems:
1) It does not seem to be possible to have a Prismatic Joint that has the command port in position (but the same error is also obtained with the command in force) while it is being disengaged
2) It is not accepted to communicate the position of the force-controlled Prismatic Joint as the position control input of the second Prismatic Joint
Attached you can see models of the proposed solutions.
Thank you for any proposed solutions or advice.
Tommaso
댓글 수: 0
답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Assembly에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!