TCP 5-axis kinematics

More
13 Dec 2017 08:32 #103064 by jsskangas
Replied by jsskangas on topic TCP 5-axis kinematics
Yes if you mean this line:
haldata = hal_malloc(sizeof(struct haldata));

That is located in rtapi_app_main() before introducing HAL pins.

Jussi
More
13 Dec 2017 10:07 #103068 by andypugh
Replied by andypugh on topic TCP 5-axis kinematics
And is oma in the haldata struct (I can't open .rar files to check. (And I am on a Windows 10 PC at work))

Is the code that is setting the oma value in a function that is being used? I am a little unclear which of the forward and inverse kins subroutines get called when. I think I would be tempted to add another HAL pin that changes state whenever forwards kins or reverse kins runs.
More
13 Dec 2017 11:02 #103070 by jsskangas
Replied by jsskangas on topic TCP 5-axis kinematics
Ok

Here is c file of kinematics.
Attachments:
More
16 Dec 2017 16:32 #103169 by andypugh
Replied by andypugh on topic TCP 5-axis kinematics
Nothing looks particularly wrong (other that you probably need HAL_OUT as HAL_IO is only for very special and unusual cases.)

Is the haldata->oma pin never changing vale at all? I think that that caon only really mean that that code isn't being run.
Do the print messages etc all happen as expected?
More
29 Dec 2017 23:06 #103835 by 3D-Master
Replied by 3D-Master on topic TCP 5-axis kinematics
i would also need that kind of Kinematics, but with one mode more: Just move (dont rotate, only move) the Coordinate system around the center of rotation with a new M code for example M130 P30 Q50 rotates the B axis to 30° and the C axis to 50° while also moving the coordinte system to that theoretical point but dont let the tool follow the point. This function is standard with Heidenhain controllers and is called "Plane function". I would even Pay for such a Kinematics.

Oh and also be able to move the center of rotation point using Pins for X Y and Z so i could write myself a calibration routine to find the exact center of rotation :)
The following user(s) said Thank You: perra_e
More
30 Dec 2017 12:09 #103849 by jsskangas
Replied by jsskangas on topic TCP 5-axis kinematics
Hello

This swiveling command can be done with sub program.

Name your subprogram like M130
First you need to calculate your zero point (G54) position relative to you rotation center.
Then calculate zero point rotation, you will get delta XYZ values.
Now add these values(could be negative as well) from your zeropoint (G54) values and you will get your rotated zeropoint position.
then use G10 L2 Pn XYZ to offset your new zeropoint (G58)
Activate G58
G0 BC index your rotation axis with Q P parameter values(this can be optional)

Now you can use this like Haidenhain plane command.

G54
G0 X Y
M130 P30 Q50
G0 Z10.
G1 .....
More
04 Jan 2018 22:46 #104033 by 3D-Master
Replied by 3D-Master on topic TCP 5-axis kinematics
sorry for the late reply,

that sound pretty easy to do... if you are a pro at that section. I am not^^

so it is not really a custom M Macro but i have to write o <M130p30q45> call when i want to swivel it?

i would always write my subpprograms like so, that i can use them at every coordinate system i may run the program at (G10 L2 P0)

anyways thanks
More
05 Jan 2018 07:35 #104044 by jsskangas
Replied by jsskangas on topic TCP 5-axis kinematics
Hello

Kinematic calculations depend on machine setup.
What kind of machine you are running ?

I will will do this command for my setup, you can use it and modify it to your needs.
More
05 Jan 2018 21:47 #104060 by 3D-Master
Replied by 3D-Master on topic TCP 5-axis kinematics
I am still in development so i can choose between XYZAC and XYZBC Tilt Rotary Table.

Much thanks, that helps me tremendously!
More
27 Jan 2018 16:05 #105072 by 3D-Master
Replied by 3D-Master on topic TCP 5-axis kinematics
any news?
Time to create page: 0.102 seconds
Powered by Kunena Forum