vibration at lowspeed.

More
06 Aug 2025 04:05 - 06 Aug 2025 04:06 #332937 by heaven
vibration at lowspeed. was created by heaven
I'm developing a feature that is called "admittance control", it's a method to control motor base on external force.
The system workflow is:

External force (from ft sensor)-> admittance module (100Hz update rate) -->joint cmd--> simple_tp/limit3 (1Khz) -> ethercat -> driver motor

The admittance module will convert external force to joint-cmd to control motor. Everything look fine except vibration at low speed like this chart

 

The velocity input look fine but the output velocity-cmd (derivative from position) is not smooth at low speed. Is this problem come from simple_tp/limit3 component? I look at linuxcnc code note and see cubic interpolator is using. Should i rewrite a cubic interpolator to replace simple_tp/limit3 or try to increase admittance update rate to 1 Khz and skip interpolator?
Attachments:
Last edit: 06 Aug 2025 04:06 by heaven.

Please Log in or Create an account to join the conversation.

More
06 Aug 2025 08:11 #332942 by rodw
Replied by rodw on topic vibration at lowspeed.
Are you using steppers or servos?
It's possible you are observing  low speed stepper harmonics. If that's the case, the solution would be to alter the motor gearing to avoid low motor speeds in the harmonics range.
The following user(s) said Thank You: heaven

Please Log in or Create an account to join the conversation.

More
06 Aug 2025 08:55 #332946 by heaven
Replied by heaven on topic vibration at lowspeed.
i'm using servos, i don't think it comes from the motor side because jogging from LinuxCNC is still smooth. Just look at the figures i attached, the input velocity before the simple_tp module is still smooth but the output velocity from this module is not.
 
Attachments:

Please Log in or Create an account to join the conversation.

More
06 Aug 2025 09:14 #332948 by Hakan
Replied by Hakan on topic vibration at lowspeed.
Something that happens every 100 ms it seems like.
You can see a small change or step in joint_vel and the servos are responding to that. At least where the main spikes are.
So what are you doing every 100 ms?
The following user(s) said Thank You: heaven

Please Log in or Create an account to join the conversation.

More
06 Aug 2025 11:07 - 06 Aug 2025 12:46 #332956 by heaven
Replied by heaven on topic vibration at lowspeed.
It's the admittance module update rate that will update new position cmd
I'm wrong, admittance update rate is 10ms not 100ms.
Last edit: 06 Aug 2025 12:46 by heaven.

Please Log in or Create an account to join the conversation.

More
06 Aug 2025 12:22 #332958 by Hakan
Replied by Hakan on topic vibration at lowspeed.
I would think a faster update rate will decrease the steps.
You will get more steps but less in magnitude.
I guess you have some gain parameter between force and position.
Maybe try higher gain at low speeds? Since it seems to be a bit off, I mean.
The following user(s) said Thank You: heaven

Please Log in or Create an account to join the conversation.

More
06 Aug 2025 12:54 - 06 Aug 2025 12:57 #332961 by heaven
Replied by heaven on topic vibration at lowspeed.
I tried to adjust gain of admittance module before but no luck.

I understand your point about increasing the update rate to reduce step magnitude while potentially increasing the number of steps.

However, if steps were the primary issue, I would expect the problem to be more pronounced at higher speeds, yet that doesn’t seem to be the case here. Additionally, I’ve noticed a sudden velocity drop that fails to meet the required speed, causing vibrations. This issue occurs simultaneously across all four motors and seems to happen approximately every 100ms. While it appears random, I haven’t yet identified the source of this cycle (admittance module is 10ms update rate), which makes it quite puzzling.
Last edit: 06 Aug 2025 12:57 by heaven.

Please Log in or Create an account to join the conversation.

More
06 Aug 2025 14:21 #332964 by PCW
Replied by PCW on topic vibration at lowspeed.
Is your module real time? I have seen similar issues with non-real time
functions being affected by LinuxCNC periodic screen update. 
The following user(s) said Thank You: tommylight, heaven

Please Log in or Create an account to join the conversation.

More
06 Aug 2025 15:40 #332969 by heaven
Replied by heaven on topic vibration at lowspeed.
You are right  , i tried changing screen update and the vibration spikes up at the same rate.
My module is not real-time, it's a Python module and is built as an embedded tab of Lcnc. I dont think real-time is needed but i may need to find another way for it to not get affected by screen update.
 

Please Log in or Create an account to join the conversation.

Time to create page: 0.316 seconds
Powered by Kunena Forum