Unable to correctly import Spherical Parallel Manipulator CAD files into Simulink. kinematic constraints cannot be maintained error
3 次查看(过去 30 天)
显示 更早的评论
I am currently working on programming a spherical parallel manipulator. I am very new to matlab and I also have minimal knowledge of programming and calculus.
When I import my onshape assembly into simulink and try to run the simulation I get an error saying that the kinematic constraints cannot be maintained. The simulation works for about 0.007 seconds before returning this error.
This is the exact error message:
An error occurred during simulation and the simulation was terminated
Caused by:
- ['V2_SPM_Assembly/Revolute9', 'V2_SPM_Assembly/Solver Configuration']: 'V2_SPM_Assembly/Revolute9' kinematic constraints cannot be maintained. Check solver type and consistency tolerance in the Simscape Solver Configuration block. Check Simulink solver type and tolerances in Model Configuration Parameters. A kinematic singularity might be the source of this problem.
So far I have tried:
- Turning down the tolerance. This results in the same error. Although the simulation works for about 0.108 seconds.
- Changing the solver type. I tried all of the solver types and they do affect how long the simulation runs before resulting in an error but they never result in a simulation time greater than a second or so.
- Redoing the CAD design. I remade the whole design and made sure that every axis of rotation is defined directly off of the origin.
- Changing the order in which I assigned the revolute joints. This had no effect.
- Replacing "revolute7", "revolute8", and "revolute9", with cylindrical joints. This resulted in a position violation error.
- Changing how mate connectors were assigned in onshape part studios. I assigned mate connectors to be aligned with the relative axis of rotation and used those connectors in the joints. When I did not do this then the model resulted in a position violation error.
I have had minor success with:
- Turning down the tolerance, and changing the way the joints are defined. I was able to get the model to simulate without an error. However, it only went through about 10 degrees of rotation on the base axis.
- Changing the way the mate connectors where assigned in the onshape parts studios was the biggest improvement I have had and it made it so I stopped getting the position violation error.
- Simulating the model with only one leg of the spherical parallel manipulator. This worked perfectly but it will not suffice for my project.
What I think the problem is:
I think that the part origins are the issue but I do not know how to correctly define them. The mate connectors help but I am unsure whether they act as coordinate systems for the parts. I have a Solidworks license but it is for Solidworks 2022 and it does not export to Simulink.
If anyone has any suggestions on what else I could try I would love to hear them. I linked my onshape file, and simulink file below as well as an image of the model.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1704486/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1704491/image.png)
2 个评论
Dan
2024-7-28
Hmm I tried to load this model and it refuses, with a reference to a .m file missing from Joey's C:/ drive
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Simulation and Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!