TCP 5-axis kinematics

More
9 years 1 month ago - 9 years 1 month ago #99346 by jsskangas
Replied by jsskangas on topic TCP 5-axis kinematics
Joint mode Can not be run with program or MDI.
Other vice could work.
Also not all functionality are available in joint mode and I think trajectory planner had some limitations in joint mode.
Last edit: 9 years 1 month ago by jsskangas.
The following user(s) said Thank You: Shu

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

More
9 years 1 month ago - 9 years 1 month ago #99458 by dgarrett
Replied by dgarrett on topic TCP 5-axis kinematics
Switching kinematics methods must be done in a way
that preserves all joint.N.motor-pos-cmd values in
order to avoid a bump (and a likely following
error for a servo system).

I've made an experimental branch using a simple XYZ
kins module (altkins.c) to demonstrate switching
kinematics via a halpin (which could be controlled
by a user M command).

The branch dgarr/alternate_kins is based on the
current master branch with joints-axes updates.

The buildbot will make debs for this 'scratch'
branch for a limited number of days.
Ref: buildbot.linuxcnc.org

The branch can be built from git:
$ cd your_git_top_dir_for_LinuxCNC
$ git fetch
$ git co dgarr/alternate_kins
$ source scripts/rip-environment
$ cd src; make && sudo make setuid
$ cd ../configs/sim/axis/
$ linuxcnc altkins.ini

It seems to work and may serve as a starting point
for more complex kinematics.
(i have not tested on hardware)

Branch ref:
github.com/LinuxCNC/linuxcnc/commits/dgarr/alternate_kins

Usage info:
github.com/LinuxCNC/linuxcnc/blob/dgarr/...sim/axis/altkins.txt
Last edit: 9 years 1 month ago by dgarrett. Reason: forgot rip-environment
The following user(s) said Thank You: Shu

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

More
9 years 2 days ago - 9 years 2 days ago #101022 by jsskangas
Replied by jsskangas on topic TCP 5-axis kinematics
dgarrett: thanks, I Will look will your method make any difference.

[strike]You have used two different kinematic "calls" and change between them.
Mine is done inside one.[/strike]
I was too hasty....



I did look your solution more closely, this need more thinking....

I am still figuring out how your position correcting method works, but your method seems quite promising.
I'll get back when I have tried to apply this to 5-axis kinematics.
Last edit: 9 years 2 days ago by jsskangas.

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

More
9 years 1 day ago #101059 by cts1085
Replied by cts1085 on topic TCP 5-axis kinematics
This is of interest for me as well. I have a 4 axis mill/lathe (XZAB) and have the kinematics setup for TCP and for 2 different "heads" - I have a spindle at 0-degrees and a probe at 90-degrees on the "B" axis. I needed to implement the "W" axis to smooth the transition from one head to the other and when doing tool changes (the offsets change and the point then changes). I don't have this perfect as i still occasionally get following errors if i don't "back out" of one mode/tool before turning on a new mode/tool. For now my solution is to have the TLO mirror the "W" axis and when there is a mode/tool change i G0 W0 which then slowly engages the new mode. Let me know if you want details on the kinematics i am using (Note: The "Mode" is set with a particular tool number - T 100 is the probe - anything else is a tool in the spindle)

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

More
8 years 10 months ago - 8 years 10 months ago #102774 by jsskangas
Replied by jsskangas on topic TCP 5-axis kinematics
I made small progress last night.
I combined dgarrett's and Rudy's work related to kinematics.
I used Ruby's kinematics and Garrett's kinematic change method.

It works perfectly(switching between kinematics) when rotary axes are at 0 position.

Also it does not jump during kinematic change when rotary axes are rotated before transition.

But it loses it position.
This is not an error it is a mathematical problem that can be solved.
B and C axis positions need to be taken account at forward kinematics during change.

I will look in to this, but my time is limited so progress will be some what slow.
I attached latest files for testing and further improvement.
Attachments:
Last edit: 8 years 10 months ago by jsskangas.

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

More
8 years 10 months ago - 8 years 10 months ago #102793 by jsskangas
Replied by jsskangas on topic TCP 5-axis kinematics
Small info about what should happen:

now
NC-code - axis values after command
G0 X0 Y30 Z0. - X=0.0 Y=30.0 Z0.0 B0.0 C0.0
C45. - X=0.0 Y=30.0 Z0.0 B0.0 C45.0
M128.(TCP on) - X=0.0 Y=30.0 Z0.0 B0.0 C45.0
M129 .(TCP off) - X=0.0 Y=30.0 Z0.0 B0.0 C45.0

TCP is turned on (M128) at machine coordinate location X=0.0 Y=30.0 Z0.0 B0.0 C45.0.
but we want to transfer from machine- to rotated coordinate system.
If our tool stays at same position, it will be located on rotated coordinate system at X=-21.21 Y=21.21 Z0.0 B0.0 C45.0
This is cause rotating coordinate system has rotated 45 degree and tool has stayed in place.

it should behave like this
NC-code - axis values after command
G0 X0 Y30 Z0. - X=0.0 Y=30.0 Z0.0 B0.0 C0.0
C45. - X=0.0 Y=30.0 Z0.0 B0.0 C45.0
M128.(TCP on) - X=21.21 Y=21.21 Z0.0 B0.0 C45.0
M129 .(TCP off) - X=0.0 Y=30.0 Z0.0 B0.0 C45.0


So I need to update my axis position to X=21.21 Y=21.21... but still maintain my current joint position.
Transformation back to machine coordinate system(M129), is to update current joint position to axis position.

Hopefully this will clarify what I'm trying to accomplish.
Last edit: 8 years 10 months ago by jsskangas.

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

Time to create page: 0.222 seconds
Powered by Kunena Forum