So I found that if I set the transform sensor to 'non-rotating follower' the accelerations and velocities are actually what I expected it to be. I don't know why it's called non-rotating, because I couldn't find any clear documentation on these frames.
6DOF joint accelerating without a force present
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Nils van der Gaag
am 6 Dez. 2023
Beantwortet: Nils van der Gaag
am 11 Dez. 2023
Dear all,
I have modelled a rigid body free floating in space using the 6DOF joint without any forces working on it, whatsoever. Since I need the accelerations and velocities in the body frame, and the position in the world frame, I'm using a transform sensor (set to 'Follower') to sense the acceleration and velocity of the body frame with respect to the world, expressed in the body frame. The position is then outputted by the 6DOF joint itself.
Whenever I set the initial conditions to a velocity in one axis, and a rotational velocity about another axis, the rigid body seems to accelerate ever faster. Since there is no force acting on it, this should not be possible. You should only be able to see the acceleration fluctuating as a result of the rotating frame, but it shouldn't get any larger. Does anyone know what I'm doing wrong?
Potential useful information: this doesn't happen when the initial velocities (translational and rotational) are in (and about) the same axis, or when the initial velocities are zero. Here are some relevant pictures (the signal 'R' from the transform sensor gets multiplied by a gravity vector and subtracted from the linear acceleration to simulate an accelerometer. However, in this example gravity is turned off so the LinAcc signal is not altered) :
Thank you in advance!
EDIT: What is also a bit peculiar is that while the linear acceleration and velocity are increasing in the output of the transform sensor to about ten times the original value, this isn't visible in the visualization window... The animation seems to go at a steady speed.
0 Kommentare
Akzeptierte Antwort
Weitere Antworten (1)
Sam Chak
am 6 Dez. 2023
In the absence of force, if the initial velocities are non-zero (or start from non-equilibrium states), then the motion of the rigid body will be unstable. In principle, it behaves like a Double Integrator system. If the initial velocities are zero (or start from equilibrium states), then the motion of the rigid body will be stable.
If you want the motion of the rigid body to be uniformly bounded from any non-zero initial velocities, then ensure that the moments of inertia follow the order . For more details, refer to the Tennis Racket Theorem (a.k.a. the Intermediate Axis Theorem).
7 Kommentare
Sam Chak
am 7 Dez. 2023
I've found some tools which maybe useful. To derive equations using Simulink, you can utilize the Model Linearizer App or the linearize() command. However, it's important to note that these linearizations are only approximations around operating points, which are generally sufficient for certain applications such as nadir-pointing satellites but may not be suitable for space telescopes that need to point anywhere in the observable universe.
Nevertheless, it's fortunate that you noticed something about the results. Some unaware researchers might have accepted the results without validation, as they may lack the necessary mathematical models or real-time data to verify their Simscape results.
Siehe auch
Kategorien
Mehr zu Applications finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!