On Sat, Nov 17, 2012 at 01:10:09AM +0100, Martin Lederhilger wrote: > > In kinematicsForward and kinematicsInverse: What is the point EmcPose > 'world' exactly? Is it the absolute pose of the tool tip (like specified > in the g-code program) or is the tool length compensation already > applied by the interpreter? -
It is the commanded tool tip position after all applicable offsets are considered. Tool length is just another offset. > Or do I have to handle the tool length compensation by myself in the > kinematics via a HAL input pin which gets the tool length information > from motion.tool_offset_z or w? No - tool length must be added long before the kinematics, because a step change in tool length (like any offset) must not cause a jump in final commanded position. This is important to understand. Notice that just changing an offset in gcode NEVER causes machine motion. It only changes the current position's coordinates. Only when you issue a move involving an axis whose offset has changed does the effect of the new offset "show up" in the machine position. > Before I had the 4th axis, I used trivkins, and it does not contain any > tool length compensation related code, but tool length compensation > already worked out of the box. So probably it is already applied by the > interpreter. But in the source code I have only found that the > tool_offset is added / subtracted to / from other poses. With a trivial > kinematic this is sufficient, but my tool's axis is not along x-, y- or > the z-axis - it is [0, -sin(A), cos(A)]. > > Does it matter which entry of the tool table (Z or W) I use for tool > length compensation? It sounds like for the setup you want, you must use W, since as you say, your tool doesn't always point along Z. You will write the kinematics in such a way that W is along the tool axis. This also has the happy side effect of giving you the useful behavior of canned cycles in the G17.1 plane (along W). Looking for an example for you, I found http://git.linuxcnc.org/gitweb?p=linuxcnc.git;a=blob;f=src/emc/kinematics/5axiskins.c;h=0342088875f6fcf7f5c67a6ce88ea6b4eda531e5;hb=db19d8a1c29045f4eaf712935f9cd8a192fafcab which was an early attempt to do this before TLO could be along W. Because of the things I described above, it didn't work. I'm going to remove that file. I hope it didn't send you down the wrong path. Chris ------------------------------------------------------------------------------ Monitor your physical, virtual and cloud infrastructure from a single web console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud infrastructure, etc. Download 30-day Free Trial. Pricing starts from $795 for 25 servers or applications! http://p.sf.net/sfu/zoho_dev2dev_nov _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users