Hi everyone,
for few days I'm trying to solve a math/kinematic problem and I was hoping for some help:
I'm trying to find equations: A = f(Ao, Bo) B = f(Ao, Bo)
A, B, Ao, Bo -> angles in degrees
Sample results as a hint:
Ao = 0; Bo = 45 to A = 15; B = 54,74
Ao = 0; Bo = 20 to A = 2,15; B = 23,26
Ao = 15; Bo = 0 to A = 15; B = 0
Ao = 45; Bo = 0 to A = 45; B = 0
X,Y,Z corrections are not important right now
I tried to solve this with trigonometry, but the difficulty is the B axis tilted 60 and not 90 degrees. Movment of B axis/joint forces correction in the A axis and vice versa.
I think I should use a vector matrix and inverted kinematics, but I can't really make the right matrix equations.
Could someone push me in right direction?
Hi Jremington,
it's not a homework - I'm just trying to program something à la postprocessor or positioning subroutine for 5-axis CNC machine with this 3D head pivot configuration. This part just where I'm lost
Example (approximate) values ​​are based on empirical measurements in Fusion 360 model that I created.
Could you be so kind and direct me or link some 101 how to's to describe DOFs as vector matrix?
I'm just trying to program something à la postprocessor or positioning subroutine for 5-axis CNC machine with this 3D head pivot configuration.
Excuse me if I find this a bit hard to believe. Can you explain why the head just happens to be in this position, and why you are trying to solve this particular and rather unique problem?
What does the "60.0 degree angle" in the diagram have to do with anything?
In what order are the A and B rotations to be applied? The solutions for the two possibilities are completely different.
for few days I'm trying to solve a math/kinematic problem
Please provide examples of what you have tried and the ways in which the attempts failed?
jremington:
Can you explain why the head just happens to be in this position, and why you are trying to solve this particular and rather unique problem?
This is for existing machine where one axis is tilted 60 deg. Tool need to rotate +/- 45 deg in bouth planes in relation to the surface of the material (Ao, Bo). This 60 deg angle is optimal for toolholder to grab long tool and lead going upwards and at the same time there is enough clearance of rotor to material at Ao=-45
jremington:
What does the "60.0 degree angle" in the diagram have to do with anything?
In what order are the A and B rotations to be applied? The solutions for the two possibilities are completely different.
For me, if it would be 90 deg, math would be easier - movments of B do not need to be compesated by movements in A and only B is affected by angle A. This way is Ao=A and Bo=B+f(A). This i can deduce from trigonometry.
Order in A i B rotation doesn't matter for me, I just need to put A and B values in G-Code in advance to achieve correct Ao and Bo to material angles. But this 60 deg till ads for me another layer of calculation complexity. I do not know how else to explain it - I hope I described it clearly.
jremington:
Please provide examples of what you have tried and the ways in which the attempts failed?
I created 3D model in Fusion360 to simulate joints movemant to visiulise and understand how axis movement are affecting each other.
I simulated different tool angles to plate (Ao, Bo) and measured (in F360 model) corresponding A, B value.
I use these relationships to plot graphs (below) and find function.
I tried to build algorithm to use this functions to corect A based on B and B based on A, in loop to decrease error. Unfortunately, I got some nonsense.
Angle correction of A, based on angle B (from -45 to +45)
Maybe not to you, but the equations are completely different for the two options. You MUST choose an order.
You must also choose a direction for positive rotation angle.
It appears that the A rotation is about a fixed axis and the B rotation is about a moving axis. So, I would apply the A rotation first and the B rotation second, to keep the matrix operations simple.