- LinuxCNC
- General LinuxCNC Questions
- About the acceleration and deceleration of the end motion of SCARA robot
About the acceleration and deceleration of the end motion of SCARA robot
- SummerLotus
- Offline
- Junior Member
Less
More
- Posts: 27
- Thank you received: 1
21 Apr 2023 10:16 #269542
by SummerLotus
About the acceleration and deceleration of the end motion of SCARA robot was created by SummerLotus
When I used the reference scara robot configuration to do a simulation demonstration, I found that when my robot returned to zero, the robot was in an extended state. At this time, I control the system to move in world mode, and the planned position given to the robot by the system is problematic (I think so). It feels like there is no acceleration section and it starts running directly at maximum speed.
I use halscope to grab the waveform as follows.
Does anyone know why? Or how should I solve this problem?
Is there a problem with tp or scarakins?
I use halscope to grab the waveform as follows.
Does anyone know why? Or how should I solve this problem?
Is there a problem with tp or scarakins?
Attachments:
Please Log in or Create an account to join the conversation.
- bkt
- Offline
- Platinum Member
Less
More
- Posts: 1199
- Thank you received: 103
20 May 2023 13:44 #271744
by bkt
Replied by bkt on topic About the acceleration and deceleration of the end motion of SCARA robot
quite simple ... linuxcnc is not built for robotics ... so not have velocity and acceleration control over critical points and vanishing points .... so it become unstable near that point with robot .... you need to control velocity and acceleration over that critical point (like full extension arm ... aka standard linuxcnc zero position kinematics of scara) .... for example you can not use homing and use only absolute encoder instead ... i remember someone have perform a no homing routine for absolute encoder .... after these near kinematics critical point (atan near zero point give very little result and feedback become inconsistent for robust pid control) need to add some limitation .... in the past AndyPug suggest to me to update kinematics with limit3 .... but simply you can add a pin that return radius measure of end point and use that measure like a switch to limit acceleration and velocity to a reasonable value for stability of control ..... so limit3 can be external to kinematics ...
regards
regards
Please Log in or Create an account to join the conversation.
- SummerLotus
- Offline
- Junior Member
Less
More
- Posts: 27
- Thank you received: 1
22 May 2023 06:09 - 22 May 2023 06:09 #271901
by SummerLotus
Replied by SummerLotus on topic About the acceleration and deceleration of the end motion of SCARA robot
Yes, I think that's the problem too.
In actual usage scenarios, few scara will move to that position. I discussed this problem with my classmates. He thinks that the tp in linuxcnc should be modified, but I think there should be a problem with scarakins...or you can give me some Any suggestions?
I am using the multi-turn absolute value method, and currently my scata robot can start running without performing a zero return operation, and I have modified the source code of linuxcnc so that its kinematics model is valid even if it does not return to zero.
In my opinion, scarakins should be rewritten using the characteristics of multi-turn absolute value, and a set of processing logic should be added to the specific position of the joints...you can use the PID you mentioned...it should be similar to the following
if ((joint[0] > ZERO_J1) && (joint[1] > ZERO_J2)) {
/* Some special processing, such as special PID and the like... */
}
else {
/* Original scarakins processing logic */
}
I'm not sure if I should do this, can you give me some advice, thank you very much~
In actual usage scenarios, few scara will move to that position. I discussed this problem with my classmates. He thinks that the tp in linuxcnc should be modified, but I think there should be a problem with scarakins...or you can give me some Any suggestions?
I am using the multi-turn absolute value method, and currently my scata robot can start running without performing a zero return operation, and I have modified the source code of linuxcnc so that its kinematics model is valid even if it does not return to zero.
In my opinion, scarakins should be rewritten using the characteristics of multi-turn absolute value, and a set of processing logic should be added to the specific position of the joints...you can use the PID you mentioned...it should be similar to the following
if ((joint[0] > ZERO_J1) && (joint[1] > ZERO_J2)) {
/* Some special processing, such as special PID and the like... */
}
else {
/* Original scarakins processing logic */
}
I'm not sure if I should do this, can you give me some advice, thank you very much~
Last edit: 22 May 2023 06:09 by SummerLotus.
Please Log in or Create an account to join the conversation.
- bkt
- Offline
- Platinum Member
Less
More
- Posts: 1199
- Thank you received: 103
03 Jan 2024 21:16 #289698
by bkt
Replied by bkt on topic About the acceleration and deceleration of the end motion of SCARA robot
simply need to check angle differences from joint1 and joint0 .... if reach 0-4° for example, you can limit velocity pin ....
Please Log in or Create an account to join the conversation.
- LinuxCNC
- General LinuxCNC Questions
- About the acceleration and deceleration of the end motion of SCARA robot
Time to create page: 0.065 seconds