#emc-devel | Logs for 2007-12-14

[01:02:44] <LawrenceG> wow... 40 users in #emc.... hitting the big time
[01:38:58] <cradek> there were a lot of new people today
[01:39:11] <cradek> maybe we got mentioned somewhere
[02:23:23] <cradek> jmkasunich: on my stepper machine can I use INVERSE_ONLY kinematics?
[02:25:11] <skunkworks_> cradek: how is the progress?
[02:25:29] <cradek> skunkworks_: I'm putting off making a stepper driver, but that's the only remaining hardware part
[02:26:05] <skunkworks_> nice
[02:26:39] <cradek> actually I need to make some clamps to attach "C" to the table too
[02:27:31] <cradek> maybe one clamp plus a hole for a SHCS through the motor mount
[02:27:34] <cradek> not sure yet
[02:27:41] <skunkworks_> ah
[02:29:17] <skunkworks_> Is jepler your offical pcb maker now?
[02:29:43] <cradek> I hope max will still be able to do that
[02:29:57] <cradek> it might need a longer Z leadscrew to reach the table though
[02:30:34] <skunkworks_> I am sure it will - just not at the moment very well (unless it works 'as is')
[02:30:58] <skunkworks_> bbl
[02:34:15] <SWPadnos> I wonder how coordinate offsets will work with that C axis
[02:34:23] <SWPadnos> s/how/if/
[02:34:31] <cradek> yeah I've sort of wondered about offsets too
[02:35:05] <SWPadnos> it seems as though the center of rotation has to be at 0,0 for it to make any sense
[02:35:11] <SWPadnos> in my head anyway
[02:35:32] <cradek> my head doesn't quite know how it works yet
[02:35:49] <cradek> machine 0 has to be at the center
[02:36:20] <cradek> but if part (relative) 0 is off to the side, I think it might be ok
[02:36:20] <SWPadnos> which is difficult when you have separate moving pieces for B and C
[02:36:47] <SWPadnos> I think there's a part center that needs to coincide with the rotation of the rotary axes
[02:38:30] <cradek> I don't think that's necessary
[02:38:57] <cradek> if part 0,0 is at machine 1,1 and I program X0Y0, the tool tip will follow that point around as B and C rotate
[02:39:23] <cradek> that offset is inside the interp and nobody cares about it but the gcode programmer
[02:40:24] <cradek> the part will have to be oriented along XY though (imagine XY are drawn on the rotary table with a magic marker)
[02:41:54] <SWPadnos> I guess there are two offsets with rotaries - where the center of rotation is, and where the part is on the rotating plane
[02:42:05] <SWPadnos> or where the head is if it's the part that's rotating
[02:42:36] <SWPadnos> which is why you said that machine 0 hasto be at the center - that eliminates one of the offsets
[02:42:40] <SWPadnos> (I think)
[02:43:09] <cradek> if it's not you have another 'pivot length' which kins has to deal with
[02:43:26] <cradek> I definitely have one of those (on B)
[02:43:54] <cradek> is it obvious I haven't quite grasped all this yet?
[02:44:08] <SWPadnos> less so because I haven't either
[02:44:16] <SWPadnos> in case you couldn't tell
[02:45:42] <cradek> by dumb luck, I did the very simplest machine configuration first, fooling myself into thinking it's simple
[02:48:06] <SWPadnos> heh
[02:48:15] <SWPadnos> tilt/pivot head?
[02:48:28] <cradek> haven't you seen the photo?
[02:48:35] <SWPadnos> of MAX?
[02:48:39] <cradek> yes
[02:48:52] <SWPadnos> yes - I saw the tilting head and the rotary on the table
[02:48:56] <SWPadnos> is that the simplest?
[02:49:27] <cradek> no, the simplest is the one already in cvs
[02:49:40] <SWPadnos> heh
[02:49:41] <cradek> a gantry with the spindle on stacked B,C
[02:49:55] <SWPadnos> ok - a tilt/pivot head then
[02:49:58] <cradek> only one pivot, XY don't ever change
[02:50:01] <SWPadnos> right
[02:50:04] <cradek> oh ok
[03:04:57] <cradek> funny EE 101 question: you have a box of 1k and a box of 3.3k resistors. You need a 180 ohm 4 watt power resistor. What do you do?
[03:05:31] <SWPadnos> heh - does the question provide the wattage of the 1k and 3k resistors?
[03:05:43] <cradek> oh sorry, regular old 1/4 watt
[03:05:51] <SWPadnos> ok - that helps
[03:06:03] <cradek> yeah that would be a bad question otherwise.
[03:07:32] <SWPadnos> answer: use series and parallel strings of resistors to get 180 ohms, using at least 16 resistors :)
[03:07:39] <cradek> you don't have to figure it out - I know the answer - but I think it would be a fun question
[03:07:47] <cradek> haha that's definitely partial credit
[03:08:30] <cradek> also accepted would be "go get the resistor you need"
[03:08:37] <SWPadnos> heh
[03:09:07] <SWPadnos> though it is nearly ideal to parallel 18 3.3k
[03:09:22] <seb_kuzminsky> that's almost nerd sniping
[03:09:33] <seb_kuzminsky> http://xkcd.com/356/
[03:10:01] <SWPadnos> reminds me of a final exam one of my philosophy professors gave. it consisted of one word: "Why?"
[03:10:05] <cradek> seb_kuzminsky: in my circle of friends we have called that a "geek trap" for years
[03:10:18] <cradek> SWPadnos: that sounds like urban legend
[03:10:41] <SWPadnos> apparently, if you had any answer, you got a C, "because" got a B, and "why not" got an A
[03:10:46] <SWPadnos> yeah, it does
[03:10:58] <SWPadnos> but this was 20 years ago, before there was such a thing ;)
[03:11:58] <cradek> since the wattage of resistors is probably mostly about heat dissipation, I wonder how much it effectively goes down when you twist 18 of them together
[03:13:35] <cradek> well the point of a geek trap is not to cause any harm, but to distract everyone and get them to work on your interesting but challenging problem
[03:18:37] <seb_kuzminsky> agreed, but mack trucks make for better comics
[03:23:57] <LawrenceG> jmkasunich: do you have an easy procedure to square up the x and y axis on the shoptask? when I make 2 cuts 90 degrees, they are not quite square
[03:28:57] <cradek> LawrenceG: are the gibs properly adjusted?
[03:29:05] <cradek> it could just be slop if not
[03:29:16] <cradek> (grab the table and see if you can rotate it)
[03:29:45] <jepler> 15 3k3 resistors and one 1k resistor all in parallel gives 180.3 ohms if my math is right, but when you put 26V across it (3.75W total power) you have .676W across the 1k resistor, so that's no good. Is the answer you were looking for the 15 3k3 resistors plus two networks of 2 1k resistors each in series? </geetrapped>
[03:30:28] <cradek> I used 18x3.3k and figured it was close enough
[03:31:15] <LawrenceG> I think so... the shoptask has the top (yaxis) table bolted on top of x.. its adjustable like a lathe
[03:31:16] <jepler> well IMO it's good that you didn't see that 15+1 gave a closer resistance to the desired value
[03:31:16] <cradek> part of the extra credit would be knowing that power resistors are like 10% tolerance
[03:32:35] <jepler> and the 1/4W resistors are 5%?
[03:32:48] <cradek> yes these are
[03:33:24] <cradek> max didn't like being disturbed. it's stalling right and left now
[03:33:30] <jepler> :(
[03:34:12] <cradek> LawrenceG: oh I didn't know it's adjustable - I thought you were asking for the impossible
[03:34:50] <cradek> can you crank the table up against the spindle nose (best) or chuck (less good)?
[03:34:55] <LawrenceG> yea... I set it with a square when I first put it together and have never been back to fine tune it
[03:35:04] <fenn> lathes are designed to cut off-square so that two faced parts will touch at the outer edge, rather than rocking back and forth on a point in the middle
[03:35:24] <fenn> but if you did it, then it's your own damn fault :P
[03:39:18] <LawrenceG> it is a pretty crude adjustment... 2 bolts.... no jacking screws for fine tuning.... indicating off the chuck may be a good check
[03:41:32] <jepler> * jepler slaps his forehead.
[03:41:44] <jepler> somehow I downloaded ubuntu-7.10-alternate-amd64.iso instead of ubuntu-7.10-desktop-i386.iso
[03:42:45] <fenn> LawrenceG: better get out the hammer
[03:42:48] <jepler> oh well.. ruin^Wreinstallin
[03:42:53] <jepler> that machie can wait for another day
[03:42:57] <jepler> 'night all
[03:43:19] <christel> [Global Notice] Hi all, Just a quick line to let you know that we are expecting slight disturbance on some of our US routes between 0400 and 0600 hours pacific time (GMT-8) while some emergency maintenance is being performed. While it is a two hour window disruptions should only last for about 10minutes at some point during said window. Expect turbulence. Thank you for using freenode and have a great day!
[04:20:13] <cradek> skunkworks_: I bought a gecko instead
[04:20:34] <cradek> I'm lazy, and also I wanted to see how they compare with my existing drivers
[04:51:01] <skunkworks_> you will probably want all 5 to be geckos then..
[05:07:50] <jmkasunich> very late, but...
[05:08:25] <jmkasunich> LawrenceG: I mounted a parallel to the lathe spindle (chuck, faceplate, I don't recall) and marked a spot on it with a sharpie
[05:08:41] <jmkasunich> turn the spindle so that spot is in front, zero your indicator on it
[05:09:06] <jmkasunich> then turn the spindle a half turn so the spot is in back, crank the Y axis back so the indicator is on the spot again, and read it
[05:09:45] <jmkasunich> using the same spot makes it unimportant that the parallel actually be parallel
[05:10:21] <jmkasunich> if the spot is 5" from spindle centerline, you can rather easily measure 0.0001" per inch out of square
[05:13:54] <skunkworks_> very late?
[05:14:06] <skunkworks_> I suppose it is 12:15 there
[05:14:06] <jmkasunich> he asked about it hours ago
[05:14:19] <skunkworks_> ah - ok I may be a little too tired
[05:14:27] <SWPadnos> it's very late, after all ;)
[05:15:05] <skunkworks_> heh - gigabit file transfers are actually quite a bit faster than 101mbs
[05:15:10] <skunkworks_> 100mbs
[05:15:16] <SWPadnos> 101 too
[05:15:36] <skunkworks_> you need special twisted pair for that
[05:15:43] <SWPadnos> heh
[05:17:21] <skunkworks_> transfering around 400gb is only going to take a hours instead of days..
[05:17:52] <SWPadnos> and disk write speed becomes important with GigE
[05:18:33] <skunkworks_> I can see that - the network speed is only peaking at around 15% but it is still tons faster than 100
[05:18:46] <SWPadnos> 50% faster than 100 ;)
[05:18:58] <skunkworks_> I don't know about that..
[05:19:09] <skunkworks_> maybe my 100 switches really suck
[05:19:17] <SWPadnos> 15% of gigE is 150% of 100mbit :)
[05:19:39] <SWPadnos> do you have jumbo frames enabled for the gigE segments?
[05:19:42] <skunkworks_> but you don't get 100mbit. or atleast I have never seen it
[05:19:57] <SWPadnos> well, I've gotten speeds that are close - >90%
[05:20:23] <SWPadnos> but it depends on the PCs, OSes, and network cards
[05:21:07] <skunkworks_> I have no clue.. We had the raid 5 server totally take a dump today.. So I managed to get it to the point that we can copy files off of it. (quicker than restoring from 4 dlt tapes)
[05:21:29] <SWPadnos> the new one died?
[05:22:13] <skunkworks_> the new replacemnt drive died.. then about 2 minutes later - one of the original drives died
[05:22:20] <skunkworks_> yeck
[05:22:28] <SWPadnos> oops
[05:22:28] <skunkworks_> I think I have other issues
[05:22:30] <skunkworks_> :)
[05:22:32] <SWPadnos> heh
[05:23:16] <skunkworks_> I should say - dropped out of the array causing the server to lock up.
[05:25:09] <skunkworks_> so I am babysitting some file transfers and getting the backup drive setup in another server
[05:25:32] <skunkworks_> (it just got done catalogging the last backup.. seems to be all there. :)
[05:45:49] <LawrenceG> jmkasunich: thanks... will give that a go tomorrow.... I knew there had to be a way, but when I first set up the machine, I wasnt sure what to start with as a reference.
[05:47:15] <jmkasunich> the hard part is moving the table a tiny amount
[05:47:41] <jmkasunich> you'll want to have the X axis locked down, and the Y axis snug
[05:49:11] <LawrenceG> yea.... I will have to look and see if there is some way to add a jacking screw or something.... I am sure it will walk out of adjustment when I tighten the 2 bolts
[05:49:52] <jmkasunich> well, once its close, you can snug the bolts, so it takes a decent tap with a soft hammer to rotate it at all
[05:50:04] <jmkasunich> then fine tune it and tighten
[05:50:49] <LawrenceG> I dont need extreme accuracy, but when I cut out circuit boards, they are parallelograms instead of rectangles
[05:51:18] <jmkasunich> oh, not good
[05:51:31] <jmkasunich> so you are talking several thou per inch?
[05:51:31] <LawrenceG> it will be interesting to check the milling spindle for tram as well (using same technique)
[05:53:59] <jmkasunich> I've never tried that
[05:54:10] <jmkasunich> I dunno whether it would be interesting or frustrating
[05:54:17] <jmkasunich> (since you can't really adjust out any errors
[05:54:48] <LawrenceG> yea... just about visable..... two rectangles cut out with one flipped over is probably out 1/32" in 4"
[05:55:23] <jmkasunich> so 1/64 in 4" (since flipping doubles the error), or 0.004 per inch
[05:55:54] <jmkasunich> you can probably get it under a tenth of that (at least as long as the gibs are tight)
[05:56:27] <jmkasunich> unfortunately any slop at all in the X gib, and the X screw "rocks" the saddle (since the screw is off center)
[05:57:12] <skunkworks_> there is adjustment (square) between x and y? or is scraping involved?
[05:57:19] <jmkasunich> lathe style V ways would have been immune to that (compared to dovetails), but probably not suitable to the varying loading that you get when milling
[05:58:55] <LawrenceG> yea... I have ball screws in mine, and there is still significiant lash.... I find the ball nut has a pretty poor attachment to the saddle on the x.... need to cut sime circles and figure out what is moving
[05:59:56] <LawrenceG> I am putting new steppers on the machine, so its a good chance to pull it apart and clean/align/tighten it up
[06:00:22] <jmkasunich> probably that big overhung bracket that wraps 270 degrees around the top, front, and bottom of the screw before attaching to the nut
[06:00:33] <jmkasunich> I know mine has flex there
[06:00:57] <jmkasunich> locking down the X gib and then turning the X screw by hand is very informative - you can see stuff flex
[06:05:09] <jmkasunich> dang, I wish my clock didn't always seem to be saying 1am every night
[06:05:33] <jmkasunich> goodnight all
[06:08:43] <LawrenceG> goodnight
[06:08:51] <LawrenceG> thanks
[13:45:54] <steves_logging> steves_logging is now known as steve_stallings
[15:07:49] <steve_stallings> steve_stallings is now known as steves_logging
[15:20:58] <cradek> http://www.youtube.com/watch?v=vFkLrQZVcpc
[15:21:06] <cradek> I wish I knew what software this is using
[15:21:34] <cradek> you can hear a 'bang' in the motors once per spindle revolution, and it changes speed for that entire revolution (you can hear the pitch change each rev)
[15:22:03] <cradek> it sounds like it does these changes without acceleration, leading to the banging. when it rapids away from the work at the end, you can hear the normal acceleration and smooth move
[15:22:28] <skunkworks_> either mach or turbocnc (one pulse per rev)
[15:23:54] <cradek> yeah but it would be interesting to know which one (I have never used either)
[15:30:05] <skunkworks__> looks like it is the dumbstercnc guy..
[15:30:14] <skunkworks__> sump
[15:30:17] <skunkworks__> dump
[16:59:00] <cradek> http://pastebin.ca/816083
[16:59:10] <cradek> [untested]
[17:00:18] <cradek> but ... so simple
[17:00:41] <skunkworks__> looks like it...
[17:00:45] <skunkworks__> ;)
[17:01:55] <skunkworks__> looks like it could use some 'if' statements though.. - I could add them if you want..
[17:02:35] <cradek> thanks I'll keep that in mind
[17:03:12] <cradek> I wish I had a model so I could see if it's right
[17:03:25] <cradek> but if I make one, it should be to scale
[17:05:42] <SWPadnos> I think I need more coffee
[17:06:00] <SWPadnos> is w being used for two things in that code?
[17:06:45] <cradek> w is the axis that always points in the direction of the tool
[17:07:11] <SWPadnos> as opposed to the axis parallel to Z, as (I think it's) defined in RS274NGC?
[17:07:24] <cradek> yes
[17:07:36] <cradek> these machines are not "ngc machines"
[17:07:52] <SWPadnos> hmmm. so what would a person like me, with a knee to servo, do? :)
[17:07:54] <cradek> well, I don't think "ngc machines" have uvw...
[17:08:02] <cradek> use W
[17:08:09] <SWPadnos> I thought those letters were defined, but I could be wrong
[17:08:14] <cradek> I'm not sure
[17:08:18] <cradek> ABC are
[17:08:40] <fenn> that's the difference between joints and axes
[17:08:41] <cradek> you will have knee and quill both motorized as Z,W?
[17:09:33] <fenn> W is the direction of the tool (since cradek's patch)
[17:09:33] <SWPadnos> I may have both motorizedat some point, yes
[17:09:35] <cradek> if so you will like to have TLO along W...
[17:09:59] <cradek> fenn: W TLO is still on a branch
[17:10:12] <cradek> but I think it's key to these nontriv machines
[17:10:12] <SWPadnos> RPW and UVW obviously have a conflict in one word ;)
[17:10:32] <cradek> R,P can't be used anyway
[17:10:49] <cradek> I don't know if RPW used to mean something in EMC; it sure doesn't now
[17:10:52] <SWPadnos> right - but I think RPW are ususlly used for roll, pitch, yaw (since Y is also obviously used)
[17:10:59] <SWPadnos> no, not in EMC/NGC
[17:11:17] <SWPadnos> but I think those are used when you talk about tool orientation vectors
[17:11:35] <fenn> what is the other way of doing things? (not tool vector)
[17:11:40] <cradek> TLO should be avaliable for any combination of axes. it's simply hard
[17:11:49] <SWPadnos> yes, it is hard
[17:12:02] <SWPadnos> at least, it seems hard
[17:12:20] <fenn> i'm going to venture and say it's not as hard as it seems
[17:12:23] <cradek> well it's not hard, it just touches a lot of the layers
[17:12:35] <cradek> ... and we have a volunteer
[17:12:47] <SWPadnos> I'll venture to say that like many things, it seems really hard when you're trying to figure it out, but lokos much easier once you're done
[17:12:49] <fenn> i tend to want to rip out cruft..
[17:12:52] <cradek> you'll have to start with supporting it in the tool table, volunteer
[17:12:59] <fenn> starting with the tool table
[17:13:11] <cradek> so do it
[17:13:24] <cradek> a gui editor is probably an important part of any tool table replacement
[17:13:33] <fenn> yes, and interoperability with cam programs
[17:13:40] <SWPadnos> let's start by changing all configuration information to use a single library (hal, var, ini, tool files)
[17:14:20] <fenn> and now you know why i dont get anything done :)
[17:14:37] <SWPadnos> heh
[17:14:52] <SWPadnos> my motto: "No problem too simple to make too complex"
[17:15:51] <fenn> so, back to the tool table, wat does that have to do with kins for a 5 axis knee mill?
[17:16:05] <fenn> (6 axis overactuated)
[17:16:40] <cradek> my machine wants to specify TLO in Z, my lathe in X and Z, and my puma robot in U, V, and W
[17:16:44] <cradek> s/machine/mill/
[17:17:07] <cradek> SWP's mill wants TLO in W
[17:17:10] <fenn> its not just tool length and diameter?
[17:17:38] <cradek> no, there may be more than one length (length along more than one axis)
[17:17:50] <fenn> er.. i'm having trouble picturing that
[17:17:59] <fenn> is it cylindrical?
[17:18:15] <cradek> on my puma the lazzzer cannon points to the right, so I want TLO in U. The angle grinder points forward, so TLO is in W
[17:18:32] <fenn> isn't that specified in the kins though?
[17:18:48] <cradek> kins don't know about TLO, they just know about axis positions
[17:19:10] <fenn> i thought you added support for TLO for 5 axis mills
[17:19:16] <SWPadnos> well, maybe there should be a "tool-kins" layer
[17:19:44] <cradek> no, I added (hacked in) support for TLO in the W axis, which the kins places along the tool
[17:19:57] <alex_joni> on our robots we have XYZ offsets for each tool
[17:19:58] <cradek> SWPadnos: interesting idea
[17:20:02] <SWPadnos> for the example of a puma with two tools pointing in different directions, the underlying actuators have the same kins, it's just the orientation of the tool that changes
[17:20:15] <alex_joni> those get added to the XYZABC position
[17:20:24] <alex_joni> so they are actually UVW offsets
[17:20:37] <fenn> well, you could swap in a new "tool kins" hal module for each tool change
[17:20:55] <SWPadnos> UVW being defined as "XYZ in the tool-oriented cartesian coordinate system"
[17:20:56] <alex_joni> that's because there's hardly a tool that is parallel to the 6th joint
[17:21:04] <alex_joni> SWPadnos: exactly
[17:21:07] <SWPadnos> ok
[17:21:21] <alex_joni> but it's not onlu UVW, I also have to specify A'B'C' tool orientation
[17:21:30] <alex_joni> UVW only defined tooltip
[17:21:46] <alex_joni> defines even
[17:22:31] <alex_joni> the tool orientation is used for more advanced things.. like weaving while welding
[17:23:29] <alex_joni> oh, and for circular interpolation sometimes
[17:23:52] <fenn> could you explain the difference between A and A'?
[17:24:17] <cradek> well I think the kins writer can use the axes however he wants, and one of the things needed for this flexibility is TLO along any/all axes
[17:25:10] <alex_joni> fenn: I just wanted to make a difference between XYZABC (which is robot position and orientation) and UVWA'B'C' (which is a 6-axes carthesian space which defines the tool), the UVWA'B'C' is attached to the tip of the robot, so it rotates/moves along with it
[17:26:05] <alex_joni> to be more precise.. A' is a rotation around U, B' around V, C' around W
[17:26:30] <cradek> * cradek shivers
[17:26:40] <alex_joni> cradek: but I think the idea of having another layer above kins would be great
[17:26:56] <cradek> you mean TLOkins?
[17:26:58] <fenn> how is this different from just plugging kins modules together in series?
[17:27:03] <alex_joni> cradek: yes
[17:27:15] <cradek> I don't quite understand what that would be yet
[17:27:42] <alex_joni> hmm.. it's not quite like that
[17:28:04] <cradek> on a lathe tools have two offsets, an orientation, and a diameter. on a mill they have one offset and a diameter
[17:28:15] <cradek> I don't see a 'general' solution
[17:28:25] <alex_joni> and generally they have 6 specs
[17:28:35] <cradek> on max, they will have one offset and a diameter, but the offset isn't along Z
[17:28:35] <alex_joni> 3 offsets and 3 orientations
[17:28:54] <alex_joni> cradek: these 3 offsets and orientations get applied on the end effector
[17:29:05] <alex_joni> (which most usually is paralel to the Z axis)
[17:29:47] <alex_joni> as it is now we always apply them to the carthesian space.. right?
[17:30:58] <cradek> currently we apply offsets along Z and sometimes X, or along W in my sandbox branch
[17:31:25] <fenn> ok, so the difference that i wasn't seeing is that you're rotating around the edge of the tool instead of the center at the tip
[17:31:33] <alex_joni> and W moves around.. right?
[17:31:43] <cradek> fenn: I don't follow you
[17:32:07] <fenn> the tool diameter affects the point that you're rotating around?
[17:32:11] <cradek> alex_joni: it doesn't matter, but yes think of W as part of the tool coordinate system
[17:32:52] <cradek> fenn: sorry, which rotation are you talking about?
[17:33:16] <alex_joni> cradek: I don't see how you can apply the TLO in a fixed coordinate system as a general solution
[17:33:44] <cradek> you can't, that's why the user or integrator or kins writer or whoever has to be able to decide where it gets applied
[17:33:58] <alex_joni> ok.. right.. but can he atm?
[17:34:02] <cradek> no
[17:34:23] <cradek> I thought that was what we were talking about - how to let him do that
[17:34:26] <alex_joni> so the "real" solution would be to have TLO offsets & angles as an input to the kins
[17:34:35] <alex_joni> along with the positions from motion
[17:34:42] <cradek> no, kins don't care about TLO
[17:34:54] <alex_joni> what if they did?
[17:35:04] <cradek> and no matter what, you can't do TLO at the kins level, because you can't jump joint positions
[17:35:16] <cradek> you have to interpolate along the appropriate axes to apply a TLO
[17:35:34] <cradek> (on the move following a TLO change)
[17:35:46] <alex_joni> hmm.. right
[17:36:01] <alex_joni> what I'm thinking about actually differs a bit from how things are done now
[17:36:19] <fenn> cradek: http://fennetic.net/pub/irc/toolcomp.png the green dot is the tool center, the arrow is the tool offset vector after diameter compensation, red dot is the point you rotate about?
[17:36:21] <cradek> I think we are all thinking about slightly different things :-)
[17:37:15] <cradek> fenn: there is no diameter compensation for 5 axis yet
[17:37:35] <fenn> should there be? or is it impossible without more data in the tool path?
[17:37:55] <cradek> I have considered doing diameter comp in the UV plane
[17:37:57] <fenn> (diameter comp always seemed strange to me)
[17:37:59] <cradek> it would "just work" then
[17:38:29] <cradek> you'd point the tool at some 'face' on your work, and then 'pocket' in UVW with diameter comp
[17:38:52] <cradek> I have no idea how it could/should work when you're doing 3d work with diameter comp on
[17:39:11] <cradek> (I don't think people really use that anyway)
[17:39:24] <alex_joni> cradek: can we say UVW are XYZ rotated by some joint amounts?
[17:39:57] <cradek> well that's what I want on my machine/in my kins, but you can use them for something else in yours
[17:40:13] <alex_joni> no, I'm happy with that for now
[17:40:31] <alex_joni> but I want to apply the TLO in the UVW planes (after the rotations)
[17:40:36] <cradek> my point is I don't want to talk about a specific case or machine
[17:40:39] <alex_joni> is that what you have on your branch?
[17:40:43] <cradek> yes I want that too
[17:41:01] <cradek> yes, right now it offsets W where trunk offsets Z
[17:41:08] <cradek> in the branch
[17:41:10] <fenn> is Z not always in the direction of the spindle?
[17:41:15] <alex_joni> fenn: nopw
[17:41:16] <cradek> no
[17:41:17] <alex_joni> nope
[17:41:19] <fenn> why not?
[17:41:25] <alex_joni> imagine spindle mounted on B
[17:41:29] <alex_joni> or on a puma
[17:41:31] <cradek> imagine the spindle parallel to X
[17:41:35] <cradek> you can't move up anymore
[17:41:45] <cradek> (B90)
[17:41:46] <fenn> ok, W then?
[17:41:51] <alex_joni> Z is just a carthesian direction..
[17:42:02] <alex_joni> W.. maybe
[17:42:07] <cradek> bbl, lunch
[17:42:10] <alex_joni> *if* you have a spindle
[17:43:06] <alex_joni> fenn: http://eneas.juve.ro/~juve/emc/IMG_9346.JPG
[17:43:35] <alex_joni> in this case the "tool's orientation" is parallel to W
[17:43:42] <fenn> XYZ/UVW doesnt really mean anything unless you can say "W is the axis the tool rotates around"
[17:43:43] <alex_joni> but it's a special case..
[17:44:02] <alex_joni> XYZ is the carthesian space.. attached to the bottom of the machine
[17:44:18] <alex_joni> it never moves..
[17:44:19] <fenn> bottom/top i dont care
[17:44:40] <alex_joni> right.. but what I mean is that it doesn't move regardless of the machine position
[17:44:47] <fenn> that looks like a torture device :)
[17:45:31] <alex_joni> UVW is a coordinate system fixed to the end effector
[17:46:13] <fenn> if you can pick any axis for any direction is just complicating things, what's the advantage?
[17:46:32] <fenn> i dont mean to sound like a boor
[17:46:42] <alex_joni> it's easier to specify the tool-shape (TLO)
[17:49:49] <alex_joni> http://imagebin.org/index.php?mode=image&id=12384
[17:50:19] <fenn> you dont give offsets in UVW coordinates?
[17:50:24] <alex_joni> fenn: the green XYZ is actually attached to the bottom of the robot (upside down in this picture), so it's outside the picture
[17:50:25] <fenn> tool offsets
[17:50:40] <alex_joni> the red ones (UVW) are attached to the end effector
[17:51:02] <alex_joni> the blue one (hope you can see it) is the tool center point & tool orientation vector
[17:51:16] <alex_joni> it's specified as 3 offsets in UVW, and 3 rotations from UVW
[17:51:24] <alex_joni> s/from/around/
[17:51:47] <fenn> so, the tool is a separate concept from end effector? i thought UVW would be centered on the tool tip
[17:52:06] <alex_joni> not on the robots I've seen so far
[17:52:18] <alex_joni> they actually have all coordinate systems available for use in programs
[17:52:23] <alex_joni> and while teaching/jogging
[17:53:13] <fenn> i guess you have to center it on the place the tool connects to the robot, else you have no way to define the tool offset
[17:53:45] <alex_joni> right
[17:53:53] <alex_joni> brb
[17:54:51] <fenn> does emc have distinct coordinate systems for tool and end effector? (is that what you've been talking about all this time? man i feel like a moron)
[17:57:54] <fenn> i think UVW means different things to different people because it hasn't been defined rigorously
[18:14:22] <fenn> is A'B'C' rotation around the end effector coordinates or tool tip coordinates? and what about ABC for that matter
[18:20:29] <fenn> i would hope ABC rotates the tool about its tip, while leaving the tool tip stationary, but the axes' directions are defined wrt XYZ
[18:21:06] <fenn> simply because that seems most useful for cutting parts
[18:27:43] <seb_kuzminsky> i think A rotates around X, B around Y, and C around Z
[18:27:56] <seb_kuzminsky> i think A' rotates around U, B' around V, and C' around W
[18:28:24] <seb_kuzminsky> so A'B'C' are around the end effector, not the tool
[18:29:06] <alex_joni> * alex_joni agrees with seb_kuzminsky's definition
[18:31:37] <alex_joni> gotta run for a longer while..
[18:31:39] <alex_joni> bbl
[19:06:03] <fenn_> fenn_ is now known as fenn
[19:22:30] <cradek> in other news, KINEMATICS_INVERSE_ONLY seems to work
[20:31:34] <alex_joni> cradek: good
[20:32:01] <alex_joni> the only thing that is a disadvantage with inverse_only is that when you jog in joint space you need to rehome I think
[20:32:40] <cradek> oh I can see that
[20:37:18] <alex_joni> that's the only limitation I know
[20:38:03] <alex_joni> any reason against FORWARD_KINS ?
[20:39:30] <cradek> I didn't see why it would be necessary since there is no feedback
[20:39:40] <cradek> but for moving joints I can see where it would be nice
[20:41:59] <alex_joni> it would be nice if it could remember the joints & world position
[20:42:15] <alex_joni> so if you jog in joint mode, you can move back to a safe position to change back to world
[20:42:26] <alex_joni> but I guess it's easier to implement forward_kins
[20:42:37] <alex_joni> (especially since those are usually easier to implement..)
[21:02:40] <cradek> with series kins (is that the right word?) I think they're equally easy
[21:08:32] <alex_joni> well.. you get multiple solutions for inverse sometimes
[21:08:41] <alex_joni> like elbow up/down for a puma
[21:08:49] <alex_joni> or left/right on scara
[21:51:00] <alex_joni> does this look ok? http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Videos
[21:56:31] <fenn> what if i have a milling machine that's also a lathe? :)
[21:57:34] <alex_joni> fenn: then I guess you either add it twice
[21:57:37] <alex_joni> or make a new category