jepler: did you see that from pcw?
jthornton: yay! I'll go read the new stuff!
ain't much there yet
what version of lyx is the annointed one now?
the one that comes with 8.04
darn, I have 1.6.2
my two devel machines are <hardy and >hardy
anything you need to add just e mail it to me and I'll be glad to add it
sometimes it is hard for me to keep up with new stuff added so when you add a new feature just holler at me :)
EMC: 03jthornton 07master * rde6c02be2c13 10/docs/src/gui/ (images/touchy.png touchy.lyx): Add Touchy
that took a while
EMC: 03jthornton 07master * r8dca223092e4 10/docs/src/Master_User.lyx: Add Touchy to the Manual as well
PCW: [I know you aren't here but] I got the file - thank you!
jthornton: amazing how different ours look: http://timeguy.com/cradek-files/emc/touchy.png
I used smaller fonts so it would fit better on the page
I like how it can fit different screens with just a few settings
if your machine has a tiny screen will it be possible to configure it on another computer somehow then copy the config to the machine computer
or do they even make tiny touch screens for computers
I think by default it will fit on 800x600 ok
you could even just edit ~/.touchy_preferences if you were in a bind
where is that file located?
but don't put that in the docs - people shouldn't need to mess with it
it remembers everything on the prefs screen
EMC: 03jthornton 07master * r9e3c18e5f20b 10/docs/src/gui/touchy.lyx: Shrink image to fit in PDF
should I add sphereprobe.9 to .gitignore or just change .gitignore to *.9 so we don't have to mess with it again?
just add it I think - some of those files are not autogenerated so they are actually in git
it's a sin to put handwritten and autogenerated files in the same directory for this very reason
ok, I didn't think of that
EMC: 03jthornton 07master * r901bf98b7ce3 10/docs/man/man9/.gitignore: Add sphereprobe.9
cradek: yes I see pcw's link
configure: WARNING: --enable-run-in-place will be removed soon.
^^ when did that get decided?
alex_joni: in master --enable-run-in-place is enabled by default, maybe this is it
micges: doesn't sound like that
EMC: 03alex_joni 07master * r9b9e48630f6c 10/docs/src/ (Submakefile index.tmpl): add Touchy to the html docs
whee.. I still know how to do this :D
alex_joni: .configure --help: (snip) --enable-run-in-place A deprecated flag (instead, configure without specifying --prefix)
we can revsit it if there's a reason to. my logic is that I want the case of people on ubuntu systems who build their own to get RIP and not screw up their installed package with a run-installed version.
you can still get --prefix=/usr/local, you just have to specify it
jepler: that sounds ok.. the message is what was confusing for me
you could make it the default behavior without removing the flag or giving a scary warning
hmmm, I upgraded to 9.10 now and everything went smoothly. But one of the packages it says is deprecated is autogen. Is there a replacement for it?
autogen doesn't show as deprecated on packages.ubuntu.com
it is in universe though, which might be disabled at upgrade time
ok, let me check some more. it was one of the programs it wanted to remove as part of the "cleanup" after the install.
huh, it's in synaptic. don't know why it wanted to remove it.
did you have to re-enable univertse?
no. it upgraded everything. took a day and a half to get it all on my 512Kbps link!
I think it only ran about half that speed though on average.
I'm sure the million or two others upgrading had soemthing to do with that
I'm sure. But I was at work so it didn't bother me.
I suppose I should start a CD downloading this morning
I've got it downloading now, seems to be running normal speed (for me anyhow).
I think it must have downloaded several gig of stuff to upgrade this machine.
emc doesn't depend on the package 'autogen' to build. emc includes a script that happens to be called 'autogen.sh'.
micges: >>in master --enable-run-in-place is enabled by default, maybe this is it
Yes it is .... did that yesterday without run in place and it did it anyway....
cradek: Threading report - didn't happen yesterday due to flaky index pulse on encoder.... Chan A and B work fine, Index is noisy and intermittent. Verified on Halscope and a hardware scope. Time for different encoder. Sorry..
Will report back when I have a decent encoder!
pcw_home: is it possible that a file called 'PinExists.vhd' was omitted from the first probe-related zip file you sent Chris a few weeks ago?
Yes I just added it because the probe counter was enough bigger that it made some configs not fit
so I made the compilation of the counter with probe conditional on their being a probe pin in the pinout file
Also changed hostmot2.vhd to add the conditional generate
and the top level files... the last zipfile should have all the updated soure
I have the svst8_3p-source.zip you sent cradek. it refers to PinExists but doesn't have the PinExists.vhd file..
the source zip I am referring to is apparently http://filebin.ca/zedfac
828,948 bytes md5sum e833defdac9bcb4d12b557314da856d9
must have forgotten to include it, but here it is: http://filebin.ca/wtmfsm
(I'm working on the firmware building script again, in light of the new toplevel structure..)
Great, I hope its somewhat easier (and I haven't made it worse)
yes, I think this makes it easier
WARNING:PhysDesignRules:367 - The signal <LBE<0>_IBUF> is incomplete. The signal
does not drive any load pins in the design.
is this an important warning?
-rw-r--r-- 1 jepler jepler 167050 2009-10-31 12:56 5i20_SVST8_3P_72.BIT
whee, I have a bit file
No, I should just delete the top module I/O pins for the byte enables since I dont use them
so to change a pinout I modify a PIN_xxx.vhd file, and that's it?
(well, and change the toplevel vhd to refer to it)
jepler: you could come now, anytime you want to try out your stuff
Yes to make a new config, you just change the pinout (and point the top level to it)
hm2/hm2_5i20.0: IO Pin 005 (P2-11): Encoder (all), pin Probe (Input)
[18:38:55] <Dave911> http://groups.yahoo.com/group/mach1mach2cnc/message/114249
[18:38:57] <Dave911> http://groups.yahoo.com/group/mach1mach2cnc/message/114245
Interesting discussion about EMC2 and Mach3 vs threading on the Mach3 Yahoo email forum..
Threading is a major issue with Mach3 as you guys know..
In order to defer the threading subject (as it really doesn't affect many people, and it isn't a big problem - (choke choke cough cough - ;-) according to Art ) and he isn't worried about it (although he has been working on it for well over a year - see the Mach3 web forum message list.. ) ... Art is saying jerk limiting is impossible to do in EMC2, (although it is not being done in...
...Mach3 yet either) Geez...
This seems an awful lot like a slight of hand trick ----
Good news - I have another encoder coming to replace the piece of crap I bought off fleabay which prevented me from threading last night... :-)
can I run emc in simulator mode on ubuntu 9.10 ?
"jepler>hm2/hm2_5i20.0: IO Pin 005 (P2-11): Encoder (all), pin Probe (Input)"
I think you've got it!
bbl hay run (hay ewe)
jerk limiting impossible in EMC2? that sounds like a challenge to me :)
awallin: should be able to.
awallin: try if it works: sudo apt-get build-dep emc2
mozmck: ok, last I played with this was back in the cvs days... need to learn the git way now I guess.
micges: need to tune sources.list first...
EMC: 03jepler 07master * r7b8f6d0d32c8 10/scripts/haltcl.in: add an interactive mode to haltcl
EMC: 03jepler 07master * r072a6599a2ce 10/scripts/halrun.in: Add a way to get the interactive tcl prompt
cradek: I'll head out shortly.. I think I have the hm2probe branch in order for trying over there
awallin: follow http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Git
micges: if I get the source with git, I still need all the build-dep packages? the install.sh only has repositories for hardy, will they work with karmic?
awallin: yes, you need all build dep packages
iirc on my 9.04 I've followed compilation istructions and installed packages that were missed (./configure will show them)
hm, not sure if I want to dig into this now. I guess packages for 9.10 are in the works?
packages are only for LTS ubuntu versions
10.04 will be next
awallin: you can install packages in 9.10 but it will install hardy version of rtai patched kernel (didn't tried it)
but probably this will mess it up
for simulator mode I don't want to change kernels
yes you don't need to
hmm, Art says EMC2 doesn't do any lookahead and therefore can't do SCurve jerk limitation. Is this true? I thought the blending EMC2 does would require some lookahead...
I think it looks at the current segment and the next one.
hmm, but there shouldn't be any reason this couldn't be changed if needed is there?
mozmck: there is lookahead not only to next segment
mozmck: I'm not native english, can you write some details what SCurve jerk limitation is?
ah, so art was wrong about the lookahead and threading then in the link Dave911 gave above I guess...
it has to do with smoothing the acceleration profile. I've been reading a bit on it lately but I'm not the best to define it yet.
in canon stage of emc there is unlimited depth lookahead for colinear segments joining in G64 Pn mode
I don't know how you can do CV if you don't have a look ahead... ?? And from what I have heard CV works in EMC2.
Jerk is the first derrivative of accelleration...
that's what I thought. maybe art hasn't looked at emc2 in a while.
So like velocity is distance per time, and accel is distance per time squared, jerk is distance per time cubed ...
I see thanks
the trick is to limit acceleration and jerk while allowing real-time adjustment of feed-override
if you dissallow feed-override I think the problem becomes quite a bit simpler
also the kinematics kind get hard. if you move in X,Y,Z, not all machines have joints that correspond to X,Y,Z
'can get hard'
yeah, it has to do with the rate of change of acceleration. a machine can't physically change acceleration instantaneously - I think...
so the feed-override would be the main thing that would make the jerk-limiting function need to be computed in real-time?
I think so. It's a while I looked at this and thought about the problem.
if you want to look far into the future of the g-code stream you definitely have to assume the feed-override stays put at it's current value. I think...
I'm studying it right now. Don't know what I can do but I have a lot of interest...
Art really threw out a red herrring in that discussion. The fact is that he does have a demo traj planner that supposidly does S curving or jerk limiting (not clear on which he really has) that you can try with Mach3. However he has flat out stated that it will not be part of Mach3. IMO he brought up jerk limiting/S curving to throw people off track so it would limit the discussion of...
...Mach3's threading problems.
I think SCurve is the graph of Jerk-limited acceleration...
I thought he was planning to put it in Mach3 eventually?
No, he flat out stated that it would not be part of Mach3. I can find the quote for you.... I read that very closely.
Dave911: can you paste link?
I think so... let me look for it....
I think I saw that, but I don't remember exactly what he said. I skim to much...
there is a paper which describes a "segment-queue" trajectory planner which most emc
probably there's a link in the wiki
[19:34:07] <awallin> http://cat.inist.fr/?aModele=afficheN&cpsidt=14525766
the pdf is somewhere online also. I think there was work on this but it never got all the way into emc2
[19:35:25] <mozmck> http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?Whitepapers_For_Reference
Sorry I don't have the message number... but in a message from Art2 9/23/09 at 12:54 pm
>>>This planner is not slated to be used in Mach3 in any near future, but is R&D to try to develop the next generation of planner for the future. It has been a holy grail in CNC for the hobbiest for some time as it emulates ( or tries to ) what the very big boys have been doing for a few years now.
So why is he mentioning S curving when the discussion is about threading issues ... RED HERRING ... or salesmanship.. ;-) Whatever. He tried to throw the conv off track..
Some of these are what I've been reading through, as well as others I've found.
if someone is going to run a really fast/big with emc2 they probably will need better lookahead. for hobby mills the current trajectory planner is probably good enough
but commercial machines have accelerations of > 1g and rapids of 40m/min or something crazy. Need to process one or many blocks of code per servo cycle etc.
awallin: I have machine with acc = 1,05g and rapid 42m/min under emc2 and Scurve acceleration would be very usable ;)
micges: nice! any pics or videos out there? are you running 'trivial' kinematics with one joint for X,Y,Z? would you be willing to have feed-override fixed for the part program? or at least the lookahead buffer emptied if feed-override is changed?
this is double header welder (XYU) configuration, trivial kins
feed override can be fixed
feed override is usable for 'teaching' mode whis is done in 10x smaller acc/vels
I think it's doable but there are not many emc'ers who are willing to mess with that part of the code...
it's only 24h per day ;)
micges: that's a problem for sure :-) I'm willing to try on the planner, but we'll see if I can actually do anything...
as soon as someone sends me a VMC that really needs lookahead I promise to work on that :)
mozmck: I'm not sure it's really useful to write another trivkins planner, even if s-curve
it would be more useful to write an s-curve planner based on joint limits
which is a HUGE deal harder to do ;)
that's what I was sort of looking at!
well.. the thing is that planning is done in carthesian (world) space
so you plan the move in XYZABCUVW
sonja's paper covers task and joint space planning, and looks fairly thorough if I can through it.
get through it that is...
well.. there were quite a few people reading sonja's (including myself)
what do you think of it?
but understanding the stuff, doing the math and implementing it in emc2 are kinda different thingss
mozmck: I think it looks nice :D
but I didn't spend the time needed to really get into it
heh, quite true.
e.g. take care of the math
btw.. if you want, I can send you some s-curve planner
yeah, I'm having to brush up / learn new math, but I enjoy that stuff.
it's written by Fred P. from NIST
and could (theoretically) be integrated into emc2
one thing is that it doesn't do blending atm
so it is jerk limited, but in exact stop mode
I'd love to see it! Examples help me learn a good bit.
they wrote a new motion controller for robots only
there was a dutch group who describe a jerk and double-jerk limited exact-stop planner. I think I have matlab code for it also.
exact stop, trivial kins, and no feed override = easy
never used matlab, can it be translated to c pretty easily?
yes it should not be that hard. octave is the free version of matlab, it might work on that too
this is exact stop, non-trikins and no feed override iirc
I was thinking octave was like matlab, but I haven't used that either.
blending + trivial kinematics + no/limited feed-override would be acceptable for most high-end mills I think
feed-override < 1 should be quite doable
mozmck: if you send me your email I can dig for the papers and matlab code
fo <1 could just slow down the machine. if you also want the blending to more accurately follow the programmed path it might be hard
one approach is to precompute the path, then keep the path rigid and just increase/decrease based on FO
precompute the path for the fastest possible speed (requested vel * max FO)
thanks for the link.
for feed override, if the path is already precomputed for the maximum velocity acceleration given the machine constraints and maximum divergence from the commanded path, if fo > 1 I would think you could just increase the velocity on the straight sections.
the first version has some issues.. the second one should have them fixed
mozmck: no.. you can increase the velocity on the whole path
if the path is computed given max. constraints
not if you're already at the max constraints I wouldn't think.
currently (the existing TP) plans at the max constraints
that means max machine velocity/accel settings
if you have 100 mm/sec max vel on X,Y,Z
you can't round a corner any faster than the machine can physically do it, and if you increase the radius you will not meet the tolerance requirement
and the program requests 50 mm/sec
then even if you have FO at 400%, it still won't go faster than 100 mm/sec
yes, but on a corner it may have to slow down to 5mm/sec
so even at FO at 400% you can only go 5mm/sec around the corner.
but I guess is the requested feedrate is lower than the machine can go around the corner then you would have to recompute that then, but still not the blend functions maybe?
I'm probably not making any sense.
I think I'm saying basically what you said >... precompute the path, then keep the path rigid and just increase/decrease based on FO
there are two problems here, that's why it's hard. one is to output trajectory points each servo period and ensure that the max vel/acc/jerk limits are not violated. The other problem is to choose a geometric path that is close to the programmed path but allows an easier solution of problem 1.
mozmck: if you precompute and keep rigid then you get no improvement in accuracy with fo < 1. some people might expect the machine to closely follow the programmed path when going slowly.
I think you would just change the tolerance setting wouldn't you?
that's P64 isn't it?
G64 P0.1 or something
precomputing whilre respecting the G64 Pxx limit and then keeping the path rigid while allowing fo<1 is certainly one approach
remember there are a couple of FO's in emc2
there's the FO coming from the GUIs
then there's AF (adaptive feed rate) which potentially comes from a sensor (like for EDM)
then there's SO (spindle speed override) which gets used on synced moves
do they all behave differently?
no, they get multiplied together
but it's extra things to consider ;)
this is interesting: http://ubuntu-tutorials.com/2009/10/29/use-zsync-to-update-existing-iso-images/
that's pretty neat.
pcw: how is an "all units" pin supposed to come up? The second bitfile you put up uses unit 0x80 pin 0x5; the one I built from the last sources gives unit 0x80 pin 0x45
EMC: 03jepler 07master * r5c1c1ec6ada4 10/src/hal/components/sim_encoder.c: provide rawcounts output
EMC: 03jepler 07master * re0f1607d6b3e 10/src/emc/motion/control.c: only update joint-pos-probed when probe tripped
EMC: 03jepler 07master * r0220b2fe5012 10/src/hal/drivers/mesa-hostmot2/hostmot2.h: fix HM2_PRINT and friends to be expressions
EMC: 03jepler 07master * r37134f92392e 10/src/hal/drivers/mesa-hostmot2/encoder.c: accept new module version
EMC: 03jepler 07master * re9ce01206afa 10/src/hal/drivers/mesa-hostmot2/pins.c: handle new "applies to all instances" pins
EMC: 03jepler 07master * r35780fed3df1 10/src/hal/drivers/mesa-hostmot2/pins.c: show correct name for pin
EMC: 03jepler 07master * rc7869588edb1 10/src/hal/drivers/mesa-hostmot2/hostmot2.h: define additional encoder status register bits
EMC: 03jepler 07master * r55011a51cef0 10/src/hal/drivers/mesa-hostmot2/ (encoder.c hostmot2.h): High resolution probing for hostmot2
EMC: 03jepler 07master * raf1cced0e006 10/ (4 files in 2 dirs): provide additional probing-related outputs
^^ I hope that's right
I massaged it a bit since the version that we ran on jr
mostly to take out the "backwards compatible" change that is a bit controversial
Jepler should you read this later, its pin5 channel (unit 0x80)
the 0x45 pin was before I though about it long enough to realize
"all" should be coded in the unit #, and leave the pins alone
(so correct for probe is pin 5 unit 0x80)
pcw_home: makes sense, thanks
pcw_home: we did get it working nicely -- +- 1 count repeatability moving at 20 inch/minute (8.5 counts/ms)
but for some reason the probed position is still speed-dependent
(I assume it's some delay in the probe, which is a wireless type)