Simscape MultiBody_Pendulum Simulation (Human Shoulder Joint)_Axis Rotation Independence

4 次查看(过去 30 天)
Hello Everyone
I am building a Simscape model for a single pendulum with 3 rotational DOF “Degree of Freedom” XYZ (one revolute joint for z-axis rotation & one universal joint for x-axis and y-axis rotations). I do this model trying to mimic the human shoulder joint motion. Check the attached file for the simscape model “PendulumModelProblem.slx” and the below picture.
Her is the problem that I have with this model:
1- Let’s say I simulate the initial condition response of the system with x-axis rotation only (I do this by setting target x-axis velocity in the universal joint setting = 1 rad/s and y-axis & z-axis = 0 rad/s in revolute joint). When I did that I got the below (FIG 1) x-axis rotation angle “qx1”, angular velocity “wx1” & angular acceleration “ax1”. While y-axis & z-axis measurements = 0 which what I expect (there should be no rotational motion in y-axis & z-axis)
2- Now when I introduce z-axis rotation in addition to x-axis rotation by setting target z-axis velocity in the revolute joint setting = 2 rad/s). I expect to see motions on x-axis and z-axis only and NO motion on y-axis. However, check the attached (FIG 2) where you can see that there is motion on the y-axis.
3- In addition, I expect to see no change in the x-axis rotation measurement since I didn’t change anything for x-axis. However, check the attached (FIG3) there a change in the x-axis measurements comparing x-axis ONLY simulation with x-axis & z-axis simulation.
4- It seems to me that the x-axis rotations are not independent of each other and what I’m looking for is an independent rotation of all axes. This problem gets worse when I simulate double or triple pendulum. The case we are discussing is for the single pendulum. I don’t know if I should expect this independency in axes rotations from Simulink/Simscape? I guess this should be possible and logically make sense for me.
5- an additional information, I’m looking to measure rotational kinematic values (angle, angular velocity & angular acceleration). I’m implementing 2-axis or even 3-axis rotation to mimic human shoulder joint motion. My goal is to simulate a triple pendulum with 7-DOF (3-DOF 1st pendulum, 2-DOF 2ndpendulum & 2-DOF 3rd pendulum).
I hope the above explanation describe my problem with this model and I hope someone can help me with a solution to this problem of axis rotation & measurements independency.
Thanks
  1 个评论
Nathan Hardenberg
Nathan Hardenberg 2023-6-16
I have a few questions:
  • Is there a particular reason why you use one "Revolution Joint" and one "Universal Joint", and not one "Spherical Joint"? Maybe using three "Revoution Joints" is the easiest here. This would then be equivalant of a "Gimbal Joint" with the problem of having Gimbal Lock. With a "Spherical Joint" Gimbal Lock is not a Problem.
  • For each joint you Specified a Position and Velocity Target. Why do you do this, since you want to simulate the pendulum moving (I think)?

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Assembly 的更多信息

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by