does linuxcnc have joint interpolation inside?
- thang
- Offline
- Elite Member
Less
More
- Posts: 196
- Thank you received: 11
25 May 2018 07:53 - 25 May 2018 07:54 #111105
by thang
does linuxcnc have joint interpolation inside? was created by thang
I'm trying to use python interface to creat a new GUI to control an arm robot. It's pick and place type.
I see python interface can send MDI command that has linear and circular interpolation. Is it possible to send a command that control joints and reach pos-cmd at same time?
I see python interface can send MDI command that has linear and circular interpolation. Is it possible to send a command that control joints and reach pos-cmd at same time?
Last edit: 25 May 2018 07:54 by thang.
Please Log in or Create an account to join the conversation.
- thang
- Offline
- Elite Member
Less
More
- Posts: 196
- Thank you received: 11
25 May 2018 14:06 #111119
by thang
Replied by thang on topic does linuxcnc have joint interpolation inside?
After looked at linuxcnc architecture, i see linuxcnc has interpolation inside but it doesnt have command to control multi joints. So i think i have to add 1 more function for: github.com/LinuxCNC/linuxcnc/blob/master...emc/motion/command.c
And convert to python in: github.com/LinuxCNC/linuxcnc/blob/master...ensions/emcmodule.cc.
There is a problem that i cant find where these commands are used.
And convert to python in: github.com/LinuxCNC/linuxcnc/blob/master...ensions/emcmodule.cc.
There is a problem that i cant find where these commands are used.
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
Less
More
- Posts: 23560
- Thank you received: 4858
29 May 2018 15:03 #111266
by andypugh
Replied by andypugh on topic does linuxcnc have joint interpolation inside?
I am not sure that I entirely understand the question.
The motion planner will drive the system in such a way that all moving axes will reach their end-points at the same time.
Are you saying that you want to operate joints directly from the Python interface rather than use the kinematics and MDI?
The motion planner will drive the system in such a way that all moving axes will reach their end-points at the same time.
Are you saying that you want to operate joints directly from the Python interface rather than use the kinematics and MDI?
The following user(s) said Thank You: thang
Please Log in or Create an account to join the conversation.
- thang
- Offline
- Elite Member
Less
More
- Posts: 196
- Thank you received: 11
29 May 2018 16:43 #111272
by thang
Yes, it's like Point to point mode in robot controllers, just send joint values then robot will move to their end-points at the same time
Replied by thang on topic does linuxcnc have joint interpolation inside?
Are you saying that you want to operate joints directly from the Python interface rather than use the kinematics and MDI?
Yes, it's like Point to point mode in robot controllers, just send joint values then robot will move to their end-points at the same time
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
Less
More
- Posts: 23560
- Thank you received: 4858
29 May 2018 17:46 #111277
by andypugh
Replied by andypugh on topic does linuxcnc have joint interpolation inside?
I don't know if that is possible through canonicam motion commands (but then it isn't easy to get those linked to Python code outside a remap anyway).
What advantage does such motion have over coordinated motion in cartesian space?
What advantage does such motion have over coordinated motion in cartesian space?
Please Log in or Create an account to join the conversation.
- thang
- Offline
- Elite Member
Less
More
- Posts: 196
- Thank you received: 11
30 May 2018 04:46 #111303
by thang
Replied by thang on topic does linuxcnc have joint interpolation inside?
It's much faster. In pick and place applications, they dont require so many linear and circle motions so joints can run at max velocity.
I read: github.com/LinuxCNC/linuxcnc/blob/master...emc/task/emccanon.cc . It doesnt have function i need.
I dont need to send these joint values via MDI command, just create a Python command to send them to pos-cmd, like how jog function work.
After looking into source code, i found the way linuxcnc use interpolation:
github.com/LinuxCNC/linuxcnc/blob/master...tion/control.c#L1079
My idea is create one more state that skips inv-kinematic and just uses "cubicInterpolate" function. How do you think about it?
I read: github.com/LinuxCNC/linuxcnc/blob/master...emc/task/emccanon.cc . It doesnt have function i need.
I dont need to send these joint values via MDI command, just create a Python command to send them to pos-cmd, like how jog function work.
After looking into source code, i found the way linuxcnc use interpolation:
github.com/LinuxCNC/linuxcnc/blob/master...tion/control.c#L1079
My idea is create one more state that skips inv-kinematic and just uses "cubicInterpolate" function. How do you think about it?
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
Less
More
- Posts: 23560
- Thank you received: 4858
30 May 2018 12:00 #111310
by andypugh
Are you sure about that? In coordinated mode during a rapid the speed will be limited by the most limiting joint. And there is no advantage in letting the other joints get to position faster, as they still have to wait for the limiting joint to finish.
You can probably move one joint at a time, in joint mode, through a defined distance, with the Python interface jog command.
linuxcnc.org/docs/devel/html/config/pyth..._linuxcnc_command_tt
Whether you have to wait for that to finish before moving another joint I don't know.
Replied by andypugh on topic does linuxcnc have joint interpolation inside?
It's much faster. In pick and place applications, they dont require so many linear and circle motions so joints can run at max velocity.
Are you sure about that? In coordinated mode during a rapid the speed will be limited by the most limiting joint. And there is no advantage in letting the other joints get to position faster, as they still have to wait for the limiting joint to finish.
You can probably move one joint at a time, in joint mode, through a defined distance, with the Python interface jog command.
linuxcnc.org/docs/devel/html/config/pyth..._linuxcnc_command_tt
Whether you have to wait for that to finish before moving another joint I don't know.
Please Log in or Create an account to join the conversation.
- thang
- Offline
- Elite Member
Less
More
- Posts: 196
- Thank you received: 11
30 May 2018 14:28 #111319
by thang
Replied by thang on topic does linuxcnc have joint interpolation inside?
That isnt true, In coordinate mode, speed is limited by Axis velocity 1st, Axis and joint velocity are same only when we use trivkins (linuxcn 2.8pre).
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
Less
More
- Posts: 23560
- Thank you received: 4858
30 May 2018 14:31 #111320
by andypugh
Replied by andypugh on topic does linuxcnc have joint interpolation inside?
I haven't experimented with whether joint velocity limits take over if the axis limits are set very large.
But in 2,8 I think that might be the case. (But then you might have looked, and I haven't)
But in 2,8 I think that might be the case. (But then you might have looked, and I haven't)
Please Log in or Create an account to join the conversation.
- thang
- Offline
- Elite Member
Less
More
- Posts: 196
- Thank you received: 11
30 May 2018 14:48 #111321
by thang
Replied by thang on topic does linuxcnc have joint interpolation inside?
i have tried it long time ago, if my memory isnt bad, the "following error" will occur when axis velocity limits set enough large.
Please Log in or Create an account to join the conversation.
Time to create page: 0.082 seconds