A question just for fun: is it possible to output the position as pwm on the parport?You can simple connect a (toy)rc-servo to this pin. you mean RC style PWM? emc1 won't do that Yes with about 1ms on time. emc2 won't either (yet) but it wouldn't be hard to write a HAL module that could do it resolution of the PWM would be about 20-50uS depending on CPU speed Isn't this about the way that the spindle analog pin was supposed to work -- only rpm rather than position. RC pwm isn't ordinary PWM I am looking at the source code. Yes, it is fix period and variable on time. I am looking for 5-axis kinematics. I don't know how much work has been done with 5-axis What does the geometry of your machine look like. At this time I do not have one. But I think of x,y,z,c,b.c is around z, and b is perpendicular to c. c,b are the rotational ones. does b rotate around y? c is on z, and b follows. so both c and b move the spindle, z raises/lowers spindle, x and y move table? Yes If c rotates direction of b is rotating in x,y plane. Have a look at:http://numeryx.com/cnc/5axes.htmbut without the a axis. I can see how c would allign whatever is attached to it to any vector in xy but what does b gain you? rayh: b lets you machine on the side of a part c lets that be any side With 3 tranlatoric and 2 rotatoric axis you can reach every point in 3d and additionally at evey angle. Mathematically this are the Euler angles. hm, could you build a 5th axis head? Not if b is perpendicular. I could see a spindle there. It would be a horizontal with a spindle that could reach any side. rayh: see the photo of the TriTech head at the URL jf posted At http://numeryx.com/cnc/5axes.htm look at the fist picture: Head Rotation - Axes & Directions The Tri Tech picture shows it. Exactly. There is no need of anything but the spindle on c. dunno what you mean... Yes this Tri-Tech setup. The whole thing? C is the black part in the tri-tech pic, B is the blue part Yes Okay. Then b is not perpendicular to c. yeah it is, C is vertical, B is horizontal but B can be parallel to X, or Y, or anywhere in between, based on the setting of C b can be parallel to x and y C is vertical, B is horizontal - I guess we need some precision here. C rotates around the vertical z and B rotates around the horizontal. yes some wild stuff there... drilling in any orientation... Trivkins assumes that each axis moves independent of each other. and jogs parallel to the tool axis, so if you break a drill you can pull it out of the hole using jogs! OK, not having been following this.... two rotary on table, two rotary on spindle, and combinations of one rotary on each--- have you covered each? So does genhexkins if you think of joints rather than world. If someone have any hints or links on the web for writing kinematics.c please tell me. we're talking about two rotary on spindle right now we haven't touched on the others Sagar's Scara had stacked axes. Of course we go for the most complex first 8-) but they operated in the same plane. right much less nasty as is one on table and one on spindle - that means the orientation of each rotary is fixed in space but with stacked rotaries, the orientation of the second changes when the first moves yes Till's modell 2 can make similar moves to the tri tech machine. but still preserves the independence of the joints. What is Till's model? a hexapod I can't think of anyone who's setup emc with a stacked rotary pair. I've wanted to but no time. But. The puma does exactly this. So emc ought to be able to. Till had to deal with similar problems, but he has a smaller range of motion - I expect his "B" only goes 45deg or less from vertical for some settings of "C" the TriTech "B" can go to 90 deg from vertical for any "C" Usually motion of rotatory axis is limited. But htis does not simplify the math. right ;-( On modell 2 he is able to mill a cylinder. so he can take the tool axis to horizontal? cool... didn't realize that Till built three arms that hit the midpoint of the three other arms. Makes for much greater angular moves before singularities. I found this: http://www.me.uwaterloo.ca/~machlab/papers/2003_Mech._mod_5axis.pdf uh-oh, more math.. my head is hurting already ;-) Ray - before you run out of time, I have been hacking the LinuxCNC site to add history stuff. It rough, but a start. Fest 2004 summary is there. SteveStallings: I'll take a look. Thanks again for all your work. nice work Steve Based on Steve's report that we agreed to set up a 5 person board, how do you folk think we should proceed. don't know, I just code things Think we need a impartial observer in case there are hanging chad? step one, post to the list(s) and encourage people to read steve's posting so they understand why then ask for nominations Good. nominations and seconds are public on the lists. allow a week or two for reading the post and nominating we should be able to extract the list of members from the admin pages send each member a ballot allow a week for them to return ballots, then count em Would we want returns public? or to a private address. unfortunately I don't know of a way to simultaneously have a secret ballot and ensure each person votes only once I was thinking private, but at least one person would still know how everyone voted I guess that I'm thinking less of secret than I am of wasted list space. I would like to keep it as secret as practical.. in particular, none of the candidates should know how any individual voted - the vote counter should be someone else How about returning ballots to someone like Jon E.'s wife. She did a good bit of work during fest. good idea - if she's not willing, we can ask for another dis-interested volunteer K. I'll write her a note. See if she's got a personal email address. OK - Just hacked the 2003 meeting notes onto the web page. It is interesting to see how much of what was discussed got accomplished (a lot in my mind) and just how many topics we discussed then. I can extract the addresses of list members. The ballots should probably be sent by the "designated counter" Can we use just the user list or are their developers who do not attend to user. good question I'll extract both lists and compare them I can create a merged list, to ensure nobody is on there twice SteveStallings: It is pretty interesting to look at the activities of the year. Good John. The vote counter can send and count returns from that list. depending on how it's done, the sender could have a lot of work I don't want to CC the entire list, cause that gives everyone a list of everyone else's email addy but sending them out one-by-one would suck maybe BCC? Right. Perhaps Mike (tbl) or others could write a perl script that takes the list and posts to each. Will we freeze the list of eligible voters on some specific date? yes, probably before we announce that there wil be an election Can we assume that since Matt is fearless leader, he would be one of the five? Hi all. Stupid question, for what reason do we need a election ????? read http://www.linuxcnc.org/EMC_news_history/Fest2004.html especially the section starting around paragraph 14 Or do we assume the fl is an additional member. five was chosen to be an odd number to avoid tie votes Or completely separate office/task? making fl an additional member would break that Could be non voting. or votes only in case of a tie (if one member becomes unreachable, for example) We have few enough "volunteers". Making FL separate from the board risks depleting the pool. I would prefer FL + four additional members. Works for me -- any objections? nope. So for this year we will vote for four members in addition to Matt. Do we have a volunteer to write the note regarding this to the lists. you just make it clear that this comes from the discussions at Fest and today, not from you personally was there a case up to now that we need somebody to speak for the project ??? Okay. I'll talk with Matt later this afternoon. Then get ahold of the vote counter. I'll have to put this together today and tomorrow morning cause we leave for Phoenix tuesday. I'll be off lists for a couple weeks. forgot about that... if you'd rather someone else handle it, no problem, just say so Imperator_: dealings with both Smithy and Sherline are probably the main reason EMC is increasingly being utilized by commercial ventures. We wanted a way to relate to them as a group. that they spend something for the project if they earn money with EMC ? BTW, unless it is a topic that _requires_ private discussions ( which I know will happen ), I'd like to request that the board do as much of it's business as possible here on IRC, and that such business be logged and posted Yes. Where possible the committee's work ought to be visible. the board will only partly have the ability to make decisions for the group. They certainly can't compel anyone to do work they don't want to do in fact, ray - even more important than setting the voting in motion is putting down on paper (electrons) the reasons you outlined at the fest for having the board and exactly what it's role will be Imperator_: Once recent commercial contact offered a cash match for funds raised from users. said cash to be used for what? that's the big question It is an interesting notion... note that steves minutes record that: " no funds could be held in the name of the EMC community" this is the only line that actually describes the role of the board "Members of the board would try to provide a cohesiveness to guide EMC and represent EMC to the wider community. " That's good. Could we divide out that task into 1...n more specific tasts. * jmkasunich steps back I was one of those less than thrilled with the idea, remember ;-) you had good reasons, and ultimately convinced most of those present (even me, a little) I hope you remember the reasons better than I do there are others here today who were there... opinions anyone? I'll try, but at the moment I don't understand the question.... With the move towards GPL, there is a need for an official body that can persue infringments, etc. * rayh was worried that some of his actions with respect to Sherline, Smithy, and others would be seen as high-handed and autocratic. SteveStallings: the question is "why do we feel the need for a board"... I guarantee that as soon as we mention voting, it _will_ be asked... Imperator has already asked it today ray has answered part of it just now there are 316 subscribers to the users list, thus 316 voters... about 296 of them have no idea that the discussion took place or the decision to have a board was made there will be about 46 "it's about time" and about 250 "what the hell are they talking about" responses to the first email about this topic hopefully the first email will address many of the questions of those 250 people General summary - some wanted a way to protect EMC (GPL issues), some wanted a way to direct development efforts, some wanted a way to attract funding. Reaction was favorable to a way to "represent the community" but chilly to official structures. This leaves us with no way to be a legal entity and control funds or enforce GPL other than moral strength of the "community". * paul_c thinks Matt should be the one to get the ball rolling on the mailing list(s) agreed - if he can spare the time Matt is struggling to start a new career as a real estate agent and will have a tough time being available at the times most of us consider convenient to chat. I'd be pleased to yield the preparation of this post to others. As we seem to agree, it will be important that we clearly explain what the board is and why it is necessary. may I propose a collaborative effort between Matt and Ray and anyone else they care to pull in, using private emails or phone calls * paul_c nods in agreement. Did you say Matt and Steve... Nice try... rayh: you started this, you aren't getting out of it now! I'll be trying to make the web page more relevant and readable. ray- you know I'm willing to put my 2 cents in on anything, you can call on me if you wish... but the board isn't really my thing I understand. I'm pretty damned independent myself. I appreciate those qualities in others. do we agree that regardless of who is involved in writing that post, Matt should make post it in his role as "grand leader" yes. Yes. If he will. worst case, "somebody" emails it to him and he posts it, five minutes effort he can spare that time at least (I hope) in the ensuing mail storm, he can sit quietly and let others defend it Do we start the storm now, by referencing the meeting summary on the dev and users lists? sure (I think) only 2% of the folks you mention it to will actually go and read it anyway ;-) How about this for a start at the board's activities. "Members of the board would try to provide a cohesiveness to guide EMC and represent EMC to the wider community. " This board will 1. oversee the move towards GPL 2. persue GPL infringments, etc. 3. oversee relationships with business and industrial users. 4. maintain a prioritized list of features to be added 5. establish broad guidelines for testing and release of EMC If I can dig up the meeting sign in list, I will try to notify them directly. rayh: I like that... need to ponder on it to see if there's anything else Just a start. Thoughts on wording and additional topics? would probably like to follow that list of goals with the methods... what powers the board has, etc mostly the power to politely suggest that folks work on this rather than that... Power is a word to avoid... try duty. good point they won't have much "power" and I'd like to keep it that way BUT, if they vote "for the group" to do something, hopefully the group will indeed to that thing, or else they become a joke they are starting to sound like managers (yuck) but they have to manage by persuasion, not power For my part, I will try to make the board relevant by having the web page represent the board's wishes. Over the years when I've been involved with OS projects, I've repeatedly come across folk who have been alienated by rigidly controlled projects. But I've also seen many turn away because there was no structure. the board needs to walk a fine line I must admit we do need more structure... some of our upcoming technical challanges (like lathe) need to coordinate the efforts of multiple coders more closely than we have in the past I hate the term "empower" but something like that is what this board should do. Empower folk to use, develop, apply... Lathe is a big thing right now. we probably need at least 3 folks working hard to pull that off... one on the user/g-code side, one for the "middle", task and interp, and one for the motion controller... I can do the motion part, but I don't know C++ and can't do much at all on the other two we have to take care that EMC goes not so fast the way that every project goes. That meens after a while the participants spend 80% of there time for meetings and bureaucracy The inerpreter side is trivial in comparison to the RT side. I would disagree... but if that means you're volunteering for the interp part, cool! Imperator_: Exactly. We do not want the committee work to take time away from development. anyway, lathe is a bit of a digression Have coded a few tweaks in the interp for other apps. It has got to be nearing the time when someone explains all of the new interp features to me. But i agreethat there must be a big red line Imperator_: Could you expand that thought a bit more. 'cause your reactions today are exactly the ones that this post to the lists will face. Ok, then I don't understand something Seems to me that the Lathe thing shows the need of the board. Earlier discussion focused on how tool data is handled by different cnc makers. can I add to that what I am familiar with? we're all ears t# to describe a tool or tool pod number and either a h# or d# to describe both length and radius so a T5 H25 would use tool #5 with offset #25 being used because we need to use a different side of cutter then what offset #5 provided us with earlier or different radius value and height value, where all hight values are set from either a fixed position for setting, say table top, or top of part from hom e thats what im used to I saw a lot of complication in the list mailings, Guys - sorry to divert the topic, but I just hacked the LinuxCNC web page to include and EMC overview and EMC2 description. These are rough and I would appreciate some quick feedback to help clean them up. I'll take a look, I don't know beans about tool offsets anyway * rayh confesses that a lot of what he read went over his head. oh I was just tossing my change into the pot, I should shut up for a few weeks till I get back int he grove I can explain a tool offset case really easly if yall want me to Oh no. Tool comp does need to be studied and that is where the board can be effective. oh good, then I should give my example? Right. this is in a mill, take a square shaped part with a raised square above it about 1 inch the top square gets a 1/2 inch radius edge treetment the bottom square gets a 1/4 inch chamfer you order a custom ground tool with both radius and chamfer on it the one tool, call it T1 requires 2 offsets so we have D1 and D101 one does the chamfer and the other does the radius thats probably the best case I can think of where one tool would require multiple offsets and height numbers Right. That's the way that my old AB control's handle multiples. the chamfer portion may have a length offset of 10 inches from home to set position, and the radius portion may be 11 inches radius for chamfer side, say .5, radius value for radius 1. program with a g42/41 for comp and direct path of each square comp will pull offset value and move each tool section outside the square the right amount so that path is cut correctly reguardless of a radius value in a tools offset value (height and radius) only heigt matters for a drill, unless its an endmill you plan on plunging, but even then the radius value is meaning less unless comp is used like drill in with T1 D1 say D1 has 8.245 len and .501r its an endmill, then circle out the hole to .531 comp would be use to offset the tool wear on the bit, as it gets smaller the hole size srinks, so D1 may become .534 SteveStallings: Fourth paragraph - The RCS (Realtime Control System) library has been pruned somewhat to remove support for obsolete and non-linux platforms (Windows-NT and Sun-OS). In the process, certain files with dubious licensing have been rejected. RCS provides the transport mechanism for NML (Neutral Message Language) message passing between the various parts of EMC. gezr: This is exactly the kinds of examples that we need as we write the specification for tool data. jmk has been doing a lot of this kind of code affects doc and doc affects code recently with the HAL. I dont know what you guys have now or dont have, i have all sorts of ideas heh I've got to get going guys. If you have further thoughts re the board post, get them to Matt. I'll send him the stuff I've got. John, Paul, Ray - EMC2 description updated again, more comments please rayh: if you want my thought on the board post, copy me on what you send to matt You got it John. *** rayh has left channel #emc ("Leaving") 5-axis transformation/kinematics: some links http://www.seas.upenn.edu/~cse390/lectures/ http://people.mech.kuleuven.ac.be/~bruyninc/robot-kinematics.pdf //good overview http://vamos.sourceforge.net/matrixfaq.htm //some math http://claymore.engineer.gvsu.edu/~jackh/eod/mechanic/mechanic-360.html http://www.engr.colostate.edu/~dga/me564/handouts/exam_I_formu a bit of useless trivia: the emc CVS tree contains 241 .c, .h, .cc and .hh files totalling 140,137 non-blank lines, 108,162 are code, 31,975 are comments rcslib has 539 files, 149,053 lines, 124,768 code, 24,285 comments emc2 has 275 files 106,311 total lines, 76,780 code, 29,531 comments I knew emc was big, but didn't realize how big Much of the comments in the emc tree are just change logs the emc2 numbers will change, of course. I don't know if it will shrink as we chop stuff, or grow if we need to copy other things over that aren't there yet If we aim for a 2:1 ratio of code to comment, we should be OK. the comment counting is rough in many ways... lines lines like: "foo = 1; /* comment */" aren't counted, only comments that occupy a whole line emc averages 22% comment lines (~1 comment per 4 code), rcslib 16% (1 comment per 5 code), emc2 27% (~1 per 2 code) I didn't attempt to count bash scripts, makefiles, or tcl... but anyway you count it, emc represents an enourmous amount of work another thing to consider - There are large chunks of duplicate code in some of the source files true at this point probaby 75% of emc2 duplicates emc1 some files are autogenerated, etc I've been meaning to build a codecounting script for a while, finally did it this morning paul_c: now we know exactly how big your axe is - rcslib=149Klines, libnml=26Klines, you chopped 123,000 lines of code! Don't worry - There is still some more to cut out. can get it down to 15-20K without too much trouble. Steve, I think you can also wright somthing about the advanced features of EMC on the homepage. Because there is a lot of software that can move around with G-Code. With the advanced features I mean feed forwward, look ahead, smooth acceleration, Imperator - OK, I have enhanced the overview description somewhat. Keep in mind that constant velocity is not unique to EMC and that features like FeedForward are just enhancements of a true servo system. EMC is, at the moment, the only contender for a low cost system that runs true servos. Yes but is "constant velocity control" the wright description ???? That is the phrase used by most vendors to describe the process of looking ahead and trying to smooth the motion. Ok "look Ahead" and "feed forward" sounds much better in my ears but i dont know if EMC realy have look ahead is segmentque is something like that ???? EMC has always had look ahead, maybe not the best, but it was there. the segmentque code is an enhancement. Feed forward is a term used to describe the servo compensation loop (PID). It does not apply to motion planning. yes and it is realy necessary for using servos