Convert from unit vector to (maybe) special euler angles on a machine tool

Click For Summary
SUMMARY

This discussion focuses on converting a unit vector to special Euler angles for positioning parts on a 5-axis milling machine. The machine features three linear axes (X, Y, Z) and two rotary axes (A and C). The user successfully calculated the angle A using the formula A = atan2(sqrt(z1*z1 + z2*z2), z3) and determined its value to be 35.264 degrees. The challenge remains in extracting the angle C, which is necessary for aligning the local coordinate system with the machine's XYZ axes.

PREREQUISITES
  • Understanding of 5-axis milling machine configurations
  • Familiarity with unit vectors and coordinate systems
  • Knowledge of rotation matrices and Euler angles
  • Proficiency in trigonometric functions, specifically atan2
NEXT STEPS
  • Research methods for calculating Euler angles from unit vectors
  • Learn about rotation matrices and their application in 3D transformations
  • Explore the use of CAD software for generating local coordinate systems
  • Investigate advanced topics in kinematics for 5-axis machining
USEFUL FOR

This discussion is beneficial for machinists, CAD engineers, and anyone involved in programming or operating 5-axis milling machines, particularly those looking to optimize part positioning using mathematical transformations.

fennex
Messages
2
Reaction score
0
Hello,

I am trying to extract the 3 angles from a unit vector to position a part on a 5 axis milling machine:

This machine has 3 linear axes (x,y,z), direct coordinate system
It has 2 rotary axes:
A turns about the x (called 'tilt')
C is carried on the A axis (called 'rotary')
See picture of an example of such machine.

I want to machine a feature (ex: drill a hole) on a randomly oriented face
My CAD software gives me the unit matrix of the 'local' coordinate system:

x1 x2 x3
y1 y2 y3
z1 z2 z3

See the 2nd picture:
- blue face is the face (local xy plane) that has to be positionned parallel to the machine (brown lines) XY plane
-The machine only has 2 rotations so the best it can do is to make the local coordinate system Z axis parallel to the machine's Z axis (spindle)
Then I need to add the 3rd rotation by rotating (or mapping) the local coordinates around Z to express them in the machine's XYZ.

I am able to extract the 'A' value:
A=atan2( sqrt(z1*z1+ z2*z2),z3)

In the example picture, the cube is 2x2x1
In this particular case:
A = 35.264
C= 135

That brings the blue face (or the local z axis) parallel to the machine's Z axis.
But the part is rotated 180 degrees around z.
I can easily rotate the coordinates with a rotation matrix. This is the 3rd angle that is not physically there (like an Euler type machine) but can be implemented via matrices.

How do I extract the 'C' move?
How do I extract the 3rd angle?

Thank you,
Paul
 

Attachments

  • 5X-mill.gif
    5X-mill.gif
    32.2 KB · Views: 589
  • 5X-example.gif
    5X-example.gif
    15.1 KB · Views: 609
Physics news on Phys.org
Hello,

I found the answers, pretty easy actually after a few good nights thinking about it.

P
 
I have this exact same issue. Could you, or someone, show how this is done? I can find the rotation of the A axis fairly easily, but I'm stuck trying to determine the C rotation.

Thanks in advance,

Dan
 

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 5 ·
Replies
5
Views
6K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 1 ·
Replies
1
Views
1K
Replies
2
Views
2K