In a recent posting I did say where photo's of my machine and an impeller
cut with it can be looked at.

It is in groups.yahoo.com under group SA-CNC-CLUB in "photos". This is the
discussion group for our local CNC club (South Africa), which I started
about 2 years ago (SA-CNC-CLUB) and has about 40 members. Most of the
members are using EMC2 and we have converted probably more than 20 machines
to EMC2 already. I personally have done 6.

I have not been able to find a way to post photos to this forum.

Lets focus a little on the process of going from world coordinates to joint
coordinates. Starting from a toolpoint position in part or world coordinates
xyz and unit tool vector ijk, these have to be transformed to joint
coordinates XYZAC, with C the rotation angle of the top rotary table and A
the rotation angle of the rotary table on which the top rotary table sits.
The rotary axis of the A table is along the X-axis of the machine. X sits on
Y which sits on Z (look at my pictures if necessary).

The world coordinates I supply to EMC is the original xyz and the two angles
A and C which have been computed in the CAM post-processor from ijk by:

A = -arccos(k) and C =  arctan2(i,j)

Some adjustment of C is necessary to go beyond -180 deg and +180 deg.

This is transformed by the inversekins:

J0 = cos(C)*x - sin(C)*y
j1 = sin(C)*cos(A)*x + cos(C)*cos(A)*y - sin(A)*z
j2 = sin(C)*sin(A)*x + cos(C)*sin(A)*y + cos(A)*z
j3 = A
j4 = b (not used)
j5 = C

This is a working process for me so far as you can see from the photo of the
impeller produced.

If I use a G55 transformation of say G55 x10 y10, then EMC seems to add
these values to x and y before it sends it to inversekins. The world
coordinate origin is shifted to the new position. That seems fine. G55 is
set by a G10 L2 P2 command.

If I use a G55 of say G55 c45 nothing happens. It would have worked for me
if EMC also added 45 to the value of C before it passes it on to
inversekins. Practically I would only want to shift the C-axis when cutting
parts like impellers with a number of blades. The GCODE for only one blade
is the provided.

I could also have passed on the ijk values as abc values to the inversekins.
It would then have to work out the AC values, but there is quite a bit of
checking and adjustment to C to be done. I am not sure if EMC could then
pass on transformations.

I hope the problem is now clearer and look forward to some response.

Rudy


------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to