TCP 5-axis kinematics

More
23 Aug 2021 07:52 #218466 by jurod
Replied by jurod on topic TCP 5-axis kinematics
I've seen everything possible before, but without success.
Where do the following points lie in space?
setp xyzbc-trt-kins.x-offset 0
setp xyzbc-trt-kins.y-offset 0
setp xyzbc-trt-kins.z-offset 0
setp xyzbc-trt-kins.x-rot-point 160
setp xyzbc-trt-kins.y-rot-point 0
setp xyzbc-trt-kins.z-rot-point 0

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

More
23 Aug 2021 08:04 - 23 Aug 2021 08:07 #218468 by Aciera
Replied by Aciera on topic TCP 5-axis kinematics
This is from the description:

xyzbc-trt-kins (switchkins) 
Uses remapped user m codes for kins switch: 
M429: Identity Kinematics
M428: XYZBC (TCP)
M430: userk Kinematics A
hal net is required to connect the analog out pin N,
Example (for N=3): net :kinstype-select <= motion.analog-out-03net :kinstype-select => motion.switchkins-type 

Hal Input pins:xyzbc-trt-kins.x-offset, xyzbc-trt-kins.z-offset: 
X and Z offsets are the offsets from the center of rotation of the B axis relative to the center of rotation of the C axis. 
Hal Input pins:xyzac-trt-kins.x-rot-point, xyzac-trt-kins.y-rot-point, xyzac-trt-kins.z-rot-point:
 X, Y and Z rot-point pins represent the offsets of the center of rotation of the C axisrelative to the machine absolute zero


But I'll say it again if your machine has indeed a rotary/tilting spindle then the -trt kinematics will not work for you. The math in the  -trt kinematics is not going to work for an -srt machine.
Last edit: 23 Aug 2021 08:07 by Aciera.

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

More
24 Aug 2021 06:54 #218589 by jurod
Replied by jurod on topic TCP 5-axis kinematics
so i have to go to kinematics xyzbc-trt-kins?

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

More
25 Aug 2021 09:16 - 26 Aug 2021 08:26 #218691 by Aciera
Replied by Aciera on topic TCP 5-axis kinematics
I have not really seen more than a quick glimpse of the spindle of your machine but if your machine has a rotary/tilting spindle like this:
linuxcnc.org/docs/2.8/html/motion/5-axis-figures/Figure-11.png
Then you should try '5axiskins'. Have a look at the simualtion at /configs/sim/axis/vismach/5axis/bridgemill

If you have a setup like one of these (ie a tilting/rotating mechanism on the machine table) then either 'xyzac-trt' or 'xyzbc-trt' will be useful to you:
linuxcnc.org/docs/2.8/html/motion/5-axis-figures/Figure-3.png

linuxcnc.org/docs/2.8/html/motion/5-axis-figures/Figure-7.png

There are also mixed types. If you are still unsure then please post a picture of your machine.


[edit]
There is also documentation on a XYZBC-SRT kinematic by the same author who contributed the xyzac-trt and xyzbc-trt kinematic: forum.linuxcnc.org/media/kunena/attachme...5-axis-machines2.pdf
 

[edit2]
I made a simulation from the documented xyz-srt kinematic mentioned above and, as far as I can tell, it does basically the same as  '5axiskins' does in the 'bridgemill' simulation config.
Since I don't really have any hands on experience with 5-axis machining I can't say more than that.  
Attachments:
Last edit: 26 Aug 2021 08:26 by Aciera.

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

More
23 Sep 2021 09:37 #221413 by jurod
Replied by jurod on topic TCP 5-axis kinematics
I am sending photo.
So should i go back to 2.8.2?
Attachments:

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

More
23 Sep 2021 16:19 #221438 by Aciera
Replied by Aciera on topic TCP 5-axis kinematics
Nice machine. Looks like the XYZBC-SRT kinematics would be the most likely to help you. The most important thing is to get the offsets of the rotational axis correct. Do you have any dimensional drawings of the machine head?

So should i go back to 2.8.2?

No, I think you would want to use the master version as you might find the 'switchable kinematics' feature useful.

 

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

More
03 Oct 2021 14:44 #222108 by jurod
Replied by jurod on topic TCP 5-axis kinematics
Is the XYZBC-srt module to download somewhere?
Dimensional drawing in the photo.
Attachments:

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

More
04 Oct 2021 11:29 - 04 Oct 2021 11:35 #222190 by Aciera
Replied by Aciera on topic TCP 5-axis kinematics
Have a look at 5axiskins.c in the linuxcnc/src/emc/kinematics folder. That kinematic is used in the simulation configuration found at /configs/sim/axis/vismach/5axis/bridgemill/5axis.ini

Inside '5axiskins.c' you will find some commentary and the definition of the DEFAULT_PIVOT_LENGTH that you will probably want to change to 160:

/********************************************************************
* Description: 5axiskins.c
* kinematics for XYZBC 5 axis bridge mill
*
* Derived from a work by Fred Proctor & Will Shackleford
*
* Author:
* License: GPL Version 2
* System: Linux
*
* Copyright (c) 2007 Chris Radek
*
* Notes:
* 1) pivot_length hal pin must agree with mechanical
* design (including vismach simulation) and augmented
* with current tool z offset
* (typ: mechanical_pivot_length + motion.tooloffset.z)
* 2) C axis: spherical coordinates aziumthal angle (t or theta)
* projection of radius to xy plane
* 3) B axis: spherical coordinates polar angle (p or phi)
* wrt z axis
* 4) W axis: tool motion. Negative values increase tool radial
* motion example: drilling into body at b,c angles
* 5) W axis motion is incorporated into the motion of the
* joints used for X,Y,Z positioning and no motor or
* hal pin connections are required for the joint specified
* as JW. However, a joint must be configured for W to
* support display of the W axis letter value for
* complicated reasons. (motion/control.c computes joint
* positions only for the number of configured kinematic
* joints (NO_OF_KINS_JOINTS) and the joint positions
* are needed to display axis letters via inverse
* kinematics.
* 6) If no coordinates module parameter is supplied, kins
* will use the required coordinates XYZBCW mapped
* to joints 0..5 in sequence.
* 7) Multiple joints may be assigned to an axis letter
* with the module coordinates parameter
* 8) If a coordinates module parameter is supplied,
* the kins will map coordinate letters in sequence
* to joint numbers beginning with joint 0.
* 9) Coordinates XYZBCW are required, AUV may be used
* if specified with the coordinates parameter and will
* be mapped one-to-one with the assigned joint.
********************************************************************/

// non-required coordinates (A,U,V) can be set by using
// the module coordinates parameter
#define REQUIRED_COORDINATES "XYZBCW"

#define DEFAULT_PIVOT_LENGTH 250


Note that this kinematic creates a hal-pin called 'pivot_length':

struct haldata {
    hal_float_t *pivot_length;

Make sure you provide the required value (ie your 160mm plus any tool-length offset) in your hal. As in the file '5axisgui.hal' in the 'bridgemill' simulation configuration. You will probably want to remove the stuff for the vismach script so you will end up with something like this:

# compute pivot-length needed for 5axiskins

loadrt sum2 names=pivotsum
addf pivotsum servo-thread

setp  pivotsum.in0  160

net :tool-len <= motion.tooloffset.z
net :tool-len => pivotsum.in1

net :pivot-len <= pivotsum.out
net :pivot-len => 5axiskins.pivot-length

 
Last edit: 04 Oct 2021 11:35 by Aciera.

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

More
09 Nov 2021 04:25 - 09 Nov 2021 04:26 #225768 by annhan
Replied by annhan on topic TCP 5-axis kinematics
 
hi all,

I am building the scara robot.
The switch kins is very good.

I want to move the scara in joint mode, but I want to use the position and Gcode in world mode.
When I run a gcode, it will calculate the position to know the angle of joins, after it move joins.

any idea helps me.

thank you so much
 
Last edit: 09 Nov 2021 04:26 by annhan.

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

More
10 Nov 2021 09:19 #225941 by Aciera
Replied by Aciera on topic TCP 5-axis kinematics
Not sure I understand the question.
Scarakins should take care of calculating cartesian position from joint angles (forward kinematic) as well as calculating the joint angles for a given cartesian position (inverse kinematic).
The switch kins feature will let you switch between 'joint' mode and cartesian 'world' mode.

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

Time to create page: 0.174 seconds
Powered by Kunena Forum