Acceleration from transform sensor in Simulink does not coincide with position from same sensor block

7 次查看(过去 30 天)
Hi All,
I have a Simulink model where I am modelling the physical interaction between a long cyclindrical tool and a sphere. The tool is inserted into the sphere and can pivot around the 3 axis having the insertion point as the fulcrum. I have modelled this interaction between both solid objects as 3 revolute joints that can be individually actuated to make the tool move in any direction. Each of the joints have the same spring stiffness (k) and dampning coefficient(d). k is the product of a gain value and the inertia of the tool. d is the product of k and another gain value. Both gain values have been worked out through trial and error to get the correct values for the model to simulate.
At the end of the tool I have placed a transform sensor block to measure the position and acceleration at that point. When I actuate the revolute joint to move about the y-axis to oscillate with a sinusodial signal, thus making the tool pivot from one side to the other, I look at the position and acceleration output from the sensor via a scope. I have attached a screen grab of what it looks like. The position behaves as I would expect, but the acceleration doesnt. It doesnt even match the shown positions. The position oscillates whilst the acceleration also oscillates but with a weird double peek at the max and min magnitudes of each wave. If I double integrate the acceleration to get the displacement, it doesnt match the sensed position. As far as I unserstand, acceleration should also be behaving in a sinusodial way. So what could be happening here? Any thoughts or help would be much appreciated.
Here is the model I am using:
Here is the scope for acceleration, velocity and position (only for x-axis) all taken from the transform sensor block:
Many thanks.
Jeremy

回答(1 个)

Qi Li
Qi Li 2021-2-26
Hi Jeremy,
  1. The posion plot from the senser may not be strickly sinusodial so that the velocity and acceleration are also not. It is hard to predict the acceleration plot from the velocity in the scope intuitivly. Since as you can see the velocity is not sinusidial.
  2. Double integrate acceleration is effected by multiple factors such as your initial condition and time steps. so it is likely you won't get the exact same result when you double integrate the accelertion back to position.
Best regards,
Qi
  6 个评论
Qi Li
Qi Li 2021-3-9
Hi, after using FFT analyzing the x signal, this signal at least has two domainant frequency. That's why in the velocity and accelration signal you have are not a sinusodial.
I am not sure why the acturator is not exactly give you an sinusodial signal. But maybe there are some distrubance/noise from other source.
Jeremy Birch
Jeremy Birch 2021-3-14
Thanks for the reply. That is strange as the peak should be at 0.1Hz as that is the frequency of the actuating sigal. It seems that 0.1 is exactly in between these two peeks. I will keep looking what might be causing the noise/disturbance. Thanks for the help!

请先登录,再进行评论。

类别

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

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by