what do you think?
paul_c: just read the logs.. should I mirror 4.21 ?
4.21 isn't ready yet.
* alex_joni wonders if jmk had any luck with that EXPORT_SYMBOL
my dev box is too away
still working on it
hey John.. wasn't aware you're still arounf
I think the best solution is to make a "modversions.h" file on TNG boxes (in the configure script)
the file is a one liner: #include <linux/modsetver.h>
make it where?
configure sees that it's a TNG box, checks for modversions.h, if not present, does echo "#include <linux/modsetver.h>" >/usr/src...../modversions.h
how about adding the necesity for the kernel to be configured?
like rtai does?
you might not have access rights for that
I don't expect they will on the first attempt
but ./configure should pretty much run without any problems
I was gonna have configure check for access, if not it would say something like "run ./configure as root (you will only have to do this once)"
it might fail stating that the kernel is not configured
and it could output the command to fix it
I wonder if it is possible to actually configure the kernel on a TNG box, or have some vital things been left out
configure using the same configuration that was originally used when Paul built it, of course
too tired to think about that ;)
how about the tool stuff?
too tire to think about that ;-)
catch you later
* jmkasunich2 doesn't work well on multiple things...
[03:12] <alex_joni> too tired to think about that ;)
I agree ;)
gotta focus on this first
I'll go and fix the Makefiles tomorrow
what do you think is best?
what part? you mean the EXPORT stuff"
I wanna move the copy of the modules to make modules (instead of make modules_install)
ok, I like that idea
and put the original make modules_install
but I wondered if a rule wouldn't be ok for copying the .ko to rtlib ?
like in Make.rule
well.. I'll try to clean stuff up a bit
and to run hal modules at low base_periods to see if they barf ;)
I've noticed a few other minor things in configure, I'll do a little cleanup too
go right ahead ;)
I'll commit before I go to bed, so you can see my changes and we don't duplicate effort
bdi... Hah! lol. Like the penguin and the fly swatter
Nice. BDI works.
Remember period=0.000024 didn't work on my system before? now it does.
Not sure... but I suspect the toolchain.
I go to bed
on BDI paul_c used 2.95
night jmk et all
nous on va domain
er.. aujourd'hui plus tard
Gawd I love (lust?) BBQing
nice lil rib eye steak... oh so tender, juicey, and flavorfull!!!!!!!!!!!!11
no one ever awake this time of day/night?
or did I forget to shower again?
I didn't understand your last email about backlash
sorry, what part wasn't clear?
I'm thinking it isn't backlkash any more, anyway
I've got problems that I can't track down and finger
I think there is an issue with the backlash comp code
I was really hoping NOT to hear that
that would explain things, expecially tonight
it doesn't show up on the "normal" backlash test (a circle) because the axis that reverses is moving very slowly, and there are only two reversals per circle
when you've MANY moves back adn forth...? is that it?
but on the dome test, there are hundreds of reversals, so a lost step here and there will add up
what about using a triangle
I tried my hand at engraving today
What a mess that made
Some letters up, some letters down
looks like a three year old is writing
I've been looking at the backlash code, but I'm afraid I can't come up with a quick fix
As long as I know it isn't my machine or me
I would suggest setting backlash to zero
okay, it's a start
Alternatively, I made a somewhat complex part, full of radiuses and cutter comp and it seemingly cut very well
there will be some errors because of the mechanical backlash that isn't being compensated for, but they should not accumulate, no matter how many direction changes there are
yes, this makes sense.
BIG question -
I've some small heds encoders and a mauch board...
would this help for the lost step part, or is it completely in the bl comp?
the lost steps aren't in the bl comp
never mind, just thought that one out...
the prob is that the code applies the compensation as a fast ramp
the sudden accel/decel of that ramp can cause lost steps, depending on your motors, drives, etc
what if I set the accel very low?
in the ini
unfortunately that ramp has no accel or decel
is there any way to limit it?
the "fix" fred and I did was a "damned if you do, damned if you don't kind of thing":
the old code did attempt to ramp the backlash
but it was buggy - if you had another direction reversal while the first ramp was in progress, it got fscked up
(could be many steps of error, and could accumulate on subsequent reversals)
our new code will never generate errors itself, but it does generate fast accels that can cause lost steps depending on your motors, drives, and pid tuning
well.... while trying the engraving today and tonight, I've found it to be SOMEWHAT random on where and when it pccurs
the stuff Fred and I did last year at Fest
sorry... been missing meetings...
did you see my ini?
no - you sent me links to 3 photos and a movie, but no ini file
it's in the directory there, if you back it up
(a movie of the mill cutting)
jmkasunich ya ya, is that what the kids are calling porn these days?
[05:24:32] <jmkasunich> http://solutionsmachining.com/images/cnc_mill/milling_circle.avi
warning four megabytes
back into the directory proper and you'll get the ini
might've changed by now, though... lol
you mention the PID tuning, and I'm wondering...
that's something that I never quite grasped, I think
weyland : are you X and Y leadscrews the same pitch?
and I'm wondering if mine might be contributing...
it's not something you normally associate with steppers
X accel is set to 1, Y and Z to 5... any reason for that?
I keep hearing that, but changing it from 200 to 1000 really made a difference
changing what from 200 to 1000?
the P value
I prolly screwed the X accel up
what difference did you notice when you changed from 200 to 1000 for P gain?
weyland : Silly question.... is the PS for the steppers plugged into the sam ecircuit as the mill itself?
ACtually, I seem to recall that my Z kept whirring but not moving (making servo sounds with no movement) until I changed it to 1000
yes it is... why?
weyland : what about the computer?
PS for steppers and computer run off same cord, actually
weyland : how "clean" is that ciruit?
Jymmm is probably thinking about electrical noise
EMI or surging
I've no fscking clue
want me to tell you about it?
Jymmm: look at picture http://www.solutionsmachining.com/images/cnc_mill/backlash1.jpg
that distortion is too symmetrical to be random electrical noise
jmkasunich leasky cap?
I think he's losing a step on each direction reversal, probably because the ramp which applies the backlash comp is too fast
I know this is gonna sound stupid,
jmkasunich what about using a simple test program?
but that's exactly what I'd considered last week - that I was losing a step or two at each direction change
jmkasunich at least that'll verify HW or SW
Never used it, http://www.xylotex.com/steptest.exe
source code here --> http://www.xylotex.com/Steptest.c
I'm about 99% sure it's not hardware
look at the last test in that photo... just about perfect, because backlash comp was disabled (set to zero)
weyland : could you plug in the stepper PS and the computer into another circuit for testing purposes?
sure, I'll do it tomorrow (this) morning
weyland: one that doesn't have any or very little load on it
not a prob
50 foot extension cord okay?
that test is the dome program, BTW... it makes a cut from the edge of the circle toward the middle, then back out to the edge at a slightly different angle (like a clock hand)
so many many direction reversals on both axis
the steppertest prog, or my pics?
jmkasunich so that test I pasted is good to try?
your pics are the dome test
I didn't know if you meant that they were the same
the xylotex stepper test is a DOS program... I have no idea what shape it does
damn... gotta go find a dos disk now... lol
jmkasunich well, easy enough to try out at least.
it probably has the step and direction pins reversed compared to the standard EMC pinout
the Xylotex drives have the pins swapped
jmkasunich I'm thinking about getting his drive and the 269oz steppers, any thoughts?
who's drive? xylotex?
depends on the size of the machine... the drives are pretty good, but small (2.5A, 35V absolute max, 24-30 recommended)
if that's enough for your machine, then it's great
(it would be fine for a sherline size machine)
jmkasunich I'm makeing a 2'x4' gantry router
weyland - if you're gonna run that xylotex program, you probably need to swap your step and dir pins (at a breakout board or something)
Ha. it's still around... good... thanks
okay, can do.
jymmm: only you can determine what size motors you need
geckos and NEMA 34 motors would make a router fly, but cost a lot more than Xylotex and NEMA 23 motors
jmkasunich I have no clue, seriously. He has some 269oz steppers for $50/ea. His driver can't fully drive them, but I can at least use them if I get geckos down the road.
they are only 4-wore bipolar, but seems ok for $50
jmkasunich Oh maybe you know.... you think I get get away with a variac instead of a XFMR, or is the XFMR still needed for isolation?
I'm using a variac
works the charm~!
of course, I AM using a step down xfrmr too
you need a transformer for isolation, or you'll toast your drives, computer, and maybe yourself
you can use a variac ahead of the transformer if you want to adjust the voltage, but don't skip the transformer
that's how mine is
jmkasunich ok, not what I wanted to hear, but thanks =)
Jymm: I got both my xfrmr and variac for under $80
gotta get back to coding
John, has this been listed as a bug?
Should it be?
the variac is definitely optional... just get a transformer if you have budget restrictions
not yet, but it probably should be
jmkasunich having a hard time finding XFMR
just wondering, so I can try and keep track of any progress on it
[05:50:11] <jmkasunich> http://www.linuxcnc.org/trackers/index.html
so, in the mean time, am I just screwed?
go ahead and submit a bug report if you want
have to live w/bl?
Jymmm: What are you powering with the variac?
I'll submit one.
I could probably put the old code back in pretty quickly
was the old code good?
daryl 250KV tesla coil
it has it's own problems, which one is better probably depends on what you are doing and the characteristics of your machine
daryl : Just Kidding =)
for a servo machine, the new code is definitely better - servos automatically smooth out the ramp
but for steppers....
daryl would be for the xylotex driver
for steppers, the fast backlash ramp is probably bad
Yeah, in that case, definitely need isolation.
daryl I figured, but variac would have been a Q&D solution
jmkasunich: can you mail me and exlain how I can get and use the old code with my current setup?
the emc2 stepper driver is pretty much immune to that problem, it has accel limiting built in
you are using bdi-4.20?
and I take it that it's not ready yet?
Jymmm: What voltage/current you looking for?
yeah, emc2 isn't quite ready
daryl 24V 100+va
to use the old code, you need two things:
1) the code replaced in the source file (I can do that, tomorrow (later today I mean))
2) the ability to compile the code
[05:55:11] <jmkasunich> http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?BDI-4_Install
been a while since I did all that stuff... does that mean I have to build EMC from scratch?
read that page, and go thru those steps. that will make your machine ready to compile emc
or just recompile over my existing?
recompile over your existing pretty much
not a prob
Think I can hack my way through that
it's nowhere near as bad as it used to be
Yeah... I remember...
the steps on that webpage you only have to do once
remember when I got it to work on RH 8 & 9?
those were the blurs...
Actually, you guys got it to work. I just did the install
Jymmm: No surplus stores near you?
daryl there are, just nothin with that high a VA rating
if you do everything on that webpage, you will have a freshly compiled version of EMC that is pretty much identical to your original one
then I just have to modify the one file (emcmot.c) with the old backlash code, and you can do a quick recompile
Okay. E* me when I can dl the BDI 4.2 again
Jymmm: how high do you need? the xylotex drives aren't that powerful
24-30V at 5A or so... less than 200 watts
huh? what do you mean dl the 4.2 again?
jmkasunich right, but I can't even find 100va, buch less 200
Yeah. Or do you mean I just dl the source?
just read the webpage
you already have a whole CD of debian, only a few meg of it is actually EMC
I'll go do that now, before I pass out for hte night
I think you'll have to download about 20-25 meg one time
then when bugfixes and such go in, you only download the changed stuff, often less than 10K
the wonders of CVS
on a related note -
does this Deb support wirelss pci cards?
I have no idea... that would be a question for paul
was thinking of sticking one in there so I could xfr files more easily
I bet it does, there are something like 14000 packages for debian, and BDI-4.xx can use most of them
only an apt-get away, eh?
yeah... I must admit it's pretty nice
more than 20k binary packages now.
weyland: I wouldn't try to run wi-fi and emc at the same time.
yeah, even as an old RedHat man, I have to admit it too
well it's 2am here, and I need to get back to coding
Thanks for your time and input, John
Later jmkasunich :)
Phydbleep: would that be a prob?
weyland: You can run one or the other safely, but not both at the same time. (I think)
I wonder why?
although I dont forsee trying to run emc and downloading pr0n at the same time :)
rtai screws with the timing in the machine.. tcpip/wi-fi is very clock driven.
Its just that there's no way for me to get a wire back there, and wifi would solve that
Just unload the wifi driver before you fire up emc.
do you really have to unload the driver, or can you just ifdown the device?
OR.. Use another 200mHz or so box as a wifi-router.
? not clear to me...
Oh~! I get it
old, cheap box tu use wifi, with xover cable to EMC box
Lack of space, mostly
[06:09:23] <weyland> http://www.solutionsmachining.com/gallery/shop
ROFL!... I'm in 8'x16' with a full size desk, 2 computers, lathe (3'x7' for the table), shelving, oxy/acetylene bottles, dog, etc. :)
Phydbleep that's it?
damn... you got a dog...?
what you don't see is the twenty bikes I have ot wheel in and out every day
and the other twenty motors
and the ten or so frames
Hmmm, maybe I can find two battery chargers (10A+)
Hehehe... I didn't even list things I have to move out like the engine hoist, ramps, etc.
Heh... my "shop" is in my dining room.
Late, mill, 4 scopes, spectrum analyzer, computers, desk, two work benches...
daryl: I remember the daze, well...
Oh... and it should be "room". It's a 1 bedroom apartment.
at one time it looked more like I was lving in my workspace than working in my living space :)
in fact, I just moved in there two weeks ago
Been there, done that, got baked and ate the t-shirt. :)
you know yer fscked when the OL bitches about the "metal strings" tearing up the vacuum cleaner
gonna go read that page
weyland: That's why I got a Kirby. :)
Takes nickels to kill a Kirby. :)
03jmkasunich 07kbuild-0-1 * 10emc2/src/ (configure configure.in): Several tweaks to the configure script. Fixed some places where the code was searching for kernel modules using .o instead of .
note to self... don't use $MODEXT in commit log messages...
searching for kernel modules using .o instead of .<NULL> ?
I wrote "instead of $MODEXT"
the shell did substitution on me
Hmm.. I just sat up to do something. But now I forget what.
daryl: Did it involve more 'hsort term memory loss'?
03jmkasunich 07kbuild-0-1 * 10emc2/src/ (configure configure.in): Added a hack that replaces a missing file on BDI-TNG systems. EMC2 should now compile on all BDIs
and on that note, time for bed
jmkasunich is now known as jmk_asleep
* Phydbleep goes to fall over so as not to disrupt the meeting and annoy the dev's. :)
* A-L-P-H-A pokes Phydbleep in the eye
05:54:00 <jmkasunich> yeah, emc2 isn't quite ready <- actually emc2 runs better then emc1 ever did :)
never got EMC1 running with my servocard
Hrrmmm... Interesting site found...
includes some C routines for manipulating assorted splines.
[13:39:18] <paul_c> http://astronomy.swin.edu.au/
Some of this astrophysics stuff may be just what we need for multidimensional modelling.
paul_c: Is that for the newest MArtian Fashions?
Jymmm: short segments, blending, trajectory planner, high speed.
paul_c : you know, I've been workign on a lil compression algo for years. I have drawn one comclusion from it... that somehow we can use "shapes" to represent numeric values MORE so than the inverse.
paul_c : Sorta along the lines of "Here are three circles, prove Pi."
problem: CAM programs spit out huge quantities of very short lines to describe a surface.
problem: These need to be blended in to a trajectory that can be plotted within the constraints of velocity, acceleration, and optionally, jerk.
solution: Complex math.
paul_c : If I didn't know the context (CNC) you were speaking, that almost sounds like what my GPS does.
Howdy Les ! And oh, on the cadcandro list, the answer is 42
les (in response to your long post including grey matter on floor)
I was just trying to explain inerta matching
kinda hard to do
les Oh I know =) Boeng 737 30K ft and climbing (over my head)
les: The spiral test should have been doing 60ipm down to a radius of ~0.067" on your machine.
Paul I haven't talked to fred since you got back....
Can he help more on the TC TP thing?
les you threw in those fancy math symbols (plus, minus, equals, etc) and lost me
The talk with Fred was very useful
It highlighted some of the shortcomings of the tp
With me he starts talking about TP/TC only blending 2 segments etc
but that is all you need for a parabolic blend of a trap...2 segments and three points
so i'm kinda ???
what about the stutter and velocity adaptation?
Does he consider it an alias effect
three points work as long as they take six servo cycles or more to complete
for the ramps etc...
stutter is limitations in communication speed...
Don't confuse stutter (motion ID=0 ) with accel. jerks.
oh i'm not
Some of those bangs were from tp
the stutter seems like a complete pause while something waits for something else
So is TP stack starvation the culprit in fred's view?
there are two problems, tp queue starvation, and tp blending.
One is fairly easy to fix, the other will take time.
starvation the easy one?
starvation is the easier of the two (hopefully)
I should call Fred and get the skinny on this I guess
since you briefed him on the tests
Fred is not in a position where he can devote much time to the problems
but a few minutes talk can sve a lot of typing
about all we can expect from that quarter is quick & simple bug fixes.
a new tp would have to be done ourselves.
I am curious about the seeming breakdown of velocity adaptation
I suspect if we did another spiral of fixed segment length rather than angular, velocity adaptation would go to pot.
just angle changing
would a tp section on the wiki be of any use?
as few are familiar with the problem and it's severity...
and even fewer are familar with the math needed for a first class fix.
Granted few can understand the problem, but how do the few who might ever find out about it?
Those that do know how to code a top notch tp are probably bound by NDAs
When we try to run modern speed programs steve
It's pretty obvious
What we saw would even trash things at BP aluminum or plastic speeds
but then the test file was deliberately designed to be "nasty"
let's see we sarted at about .2 mm point spacing....
It was longer than that.
.01" points at 30 ipm?
oh BTW could you mail the file when you get a chance? we didn't put it on any box here
I need to recover the data from that HD
Having reference samples of the test data so different people can run the same tests would be valuable in the future.
stevestallings: Most of the test files that we were discussing were running anyting up to 20 metres/min
but we ran tests at 60 or less
and it did velocity adapt much lower than that
plus some feed over ride
That is fast, but my point is that comparisons of different code approaches are inpossible unless the test input data can be repeated.
to be able to do valid comparisons, the test systems also need to be the same.
Perhaps this could be solved with "simulated hardware"?
During the SQ testing bad things did not seem to show up in some simulations
but that might be the different machine thing
I had done 200 microsecond servo update at one time in an old 150 M K6 box
that was the lock up point
let's see we were using P3 500?
and got to what? 400 microsec?
If the PC's compute power and interrupt response time were infinitely better, would the current TP etc. work?
I think the stutter would go away but blending problems might still be there...
So it looks like we really have to different things to work on.
Well trapezoidal velocity profile planners with cubic sub interpolation is very crude by today's standards
SQ attempted a more modern multi point spline
Can we easily take incremental steps, like moving to S curve profiles?
Well as I see it the sub interpolation can be considered s-curve if the traj/servo period ratio is big
That and eliminating the TP starve would probably go a long ways.
It rounds the corners of the trapezoid
TP starve ought to be first
Because that is not an issue of modern vs old technology...it's a complete breakdown
Refresh my memory.... does TP try to run all at once during a single servo cycle? Could this process be decoupled so it runs as an independent task that completes over multiple servo updates?
Every nth servo loop it runs
But, in the old code, it must complete withing one servo update period?
as far as the other paul would have to answer
Thus delaying the next servo update if TP takes too long.
No steve usually 10 or so srvo cycles/traj cycle
and it is RT (I think)
that gets set in the ini ... right?
It can run at the same rate as servo....but there will be zero cubic blending
But it used to be part of one code thread and just skipped the TP code in all but one servo update cycle.
Thus a long TP run would cause jitter in servo updates
steve: yeah I think that is what it does still
I know the math...but not the code.
when you change CPU's ... can you demostrate significant differences in performance?
And Paul is smartened up on the math as well...he spent some time here sitting on the porch reading robotics text with a cat and a chicken
that was one of my intermediate attempts
to create those files
probably not a bad idea
you need a .in file for those
jmk: when we finish working on kbuild
perhaps you want to take a look of the work I done in autoconf-install-0-1
* jmkasunich does a checkout
I had an emc that worked pretty ok for me (the make install part)
but.. it's on hold for a few months ;)
no such tag?
was writing from memory
emc.run is created by configure
do you create two of them, one for testing and one to install?
and the install one already has all the paths where emc2 is getting installed
back in a bit
How close are you to merging the lathe_fork interp in to head ?
it's been in there a couple of weeks
the lathe fork interp
merged to head
* alex_joni lost smthg on the way..
what are you talking about?
paul asked when I was gonna merge the lathe-fork interpreter changes to HEAD
ok.. thought it was for me ;)
that was done before the kbuild branch was started
Hmm, that msgcat module, i think it it part of the standard Tcl package ????
alex_joni: we didnt come to a complete conclusion yesterday about the toolchanger..
I imagine ;)
that's my cue to go looking for lunch
* alex_joni works on the makefiles
if anybody has an ideea about this.. he shall speak now
about what? makefiles, or toolchangers?
I think we're on the right path
* anonimasu_ nods
alex_joni : when one runs make make, can you add a video poker?
I'd like to get something that works correctly when compiled (no install)
then work on the install part in the branch
and merge again later when install is working right
that's what I said too
[21:47] <alex_joni> jmk: when we finish working on kbuild
thought so, just makin' sure
[21:47] <alex_joni> perhaps you want to take a look of the work I done in autoconf-install-0-1
it keeps things apart
as they are supposed to be ;)
* jmkasunich tries running emc2 on 4.20
no, not that bad
just didn't load properly, gotta read the error messages and see what went wrong
* alex_joni checks out to a clean dir, and checks himself
alex_joni: btw, I got that error once more today..
alex_joni: where emc refuses to change mode..
although it didnt show up in the debug..
an0n: file a bug report
using your cvs dev. name this time :D
gawd... BDI-4.20 has about 30 modules loaded before emc starts!
there are some modules that are loaded by default
that can't be rmmoded
I noticed that too
* jmkasunich has been thinking about building a kernel for this computer
(been doing linux over 2 years, about time I made the leap)
jmkasunich : "Dont jump you'll kill yourself!"
use plug & pray instead
jmkasunich : "Think of the children! Won't someone PLEASE think of the children?!"
why are all those "permanent" modules there anyway?
sc1200, triflex, amd74xx, serverworks
* alex_joni forwards that question to paul_c
interesting... my startup failed because of tcl problems too, but not the ones Martin reported
strange.. what err?
<paul_c> feed uniformally spaced points down to the RT code, and run a cubic or quintic interpolator at servo rate
strange, copy from shell window didn't work
Application initialization failed: this isn't a Tk application
also: Xlib: connection to ":0.0" refused by server
there are several more lines
have installed some new tk and tcl packages
did you run su?
or sudo scripts/emc.run ?
because su fails on me too
who, me or martin?
yeah, su -c "scripts/emc.run"
su seems to detach from the X-server
it worked on BDI-TNG
fscking changes.... grumble, grumble, mumble, mumble
well.. found out it doesn't on 4.20
I think it's XFree86 related, not smthg paul did (or didn't)
might be some security fix
not to allow some hijacked su to access X
or smthg like that
perhaps... anyway, it led me to another problem
"scripts/realtime stop" isn't properly unloading things
it compiles/runs cleanly on a fresh checkout
yup.. the rtai_up thing
edit rtapi.conf and change ksched with up, and it works great
well.. it should be consistent
as we all use the same distro/rtai/emc
not so great
seems I remembered it wrong
rtai_ksched is hardcoded into the rtapi Makefile
nope i have bdi4.18 and i have installed a new kernel 2.6.10 and rtai 3.2
it's not the ksched/up thing
<paul_c> feed uniformally spaced points down to the RT code, and run a cubic or quintic interpolator at servo rate
I can do a ctrl-C to copy from the shell, but when I do ctrl-V to paste here it pastes something I copied a long time ago
FATAL: Module rtai_hal is in use.
but if I right click and paste, it pastes what I just copied
the KDE clipboard is fscked
Imperator_: hal_lib ?
anyway, I did manually rmmod hal_lib
I wouldn't think so
rrmod rtai_up first
then tried realtime stop, and it fails because hal_lib isn;t there
just try what I said
(I'm being stubborn)
edit rtapi.conf and replace rtai_ksched with rtai_up
the problem is that rtai_ksched is a symlink ro rtai_up
yeah, I know that
if you recall we already talked about this a while back
but it should remove everything up to that point
it seems to be stopping because it can't find hal_lib, and isn't removing anything else
or rtai_hal ?
don't mix those
IM(NS)HO, realtime should remove the realtime stuff, even if part of ot has already been removed - if not it's broke, and I'm gonna fix it
I agree on that
"FATAL: Module hal_lib not found."
* Imperator_ is a winner !! (on ebay)
jmk: yes that's another thing
what didja win
I was talking about the rtai_up thing
[19:33:26] <Imperator_> http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=7514543334
realtime stop .. should check why a module can't get unloaded
and maybe unload dependencies aswell
or at least report them
and definately go on if a module is missing
that's modprobe for you...
it is called with the list of modules in reverse order... under 2.4, it would remove any modules on that list, and ignore any that weren't loaded
under 2.6, if any module on the list isn't loaded, it quits right there
why the fsck did they have to go and change that
I did get that error even 2 or 3 times, so I think it goes on
i think it is going on removing the modules, but it can't because of the dependencys
it's just fscked
I insmoded hal_lib, then did "modprobe -r hal_lib"
and it reported 6276 0 [permanent]
not that... pasting screwed again
FATAL: Module hal_lib not found.
but lsmod says hal_lib is loaded
and rmmod can unload it no problem
and with rmmod i can kill it easily
modprobe -r hal_lib works here
modprobe fails, only rmmod can kill the hal_lib
how do you call modprobe?
su -c "modprobe -r hal_lib"
alex: did you run depmod?
and did you install the modules, or are they in the compile directory?
hmm.. I think I also installed them
that can be it
also the rtai modules are in /usr/realtime/modules depmod don't know them
modprobe is trying to be smart... it's looking in it's depmod database, can't find hal_lib, so it won't even look at the kernel to see if it is loaded
rmmod is dumb, it just does what I tell it - remove the damn module
I hate programs that try to be smart
intelligent system :-)
this is pretty pathetic - Linux is starting to look more and more like winblows
databases, and registries, and all this hidden stuff that tries to make life easier, but only when you do exactly what the database designer had in mind
it's also only a OS, it goes the same way
* alex_joni can confirm it now
yet.. rmmod hal_lib does work
opposed to modprobe -r which doesn't
because rmmod isn't trying to be smart... it's not looking at some dependency database, it's just doing what we tell it - remove the damn modules
motmod is to be used with modules in /lib/modules/ only
* jmkasunich is going to rewrite the realtime script to use insmod and rmmod only
why does it work on 2.4 ???
modprobe is different
because on 2.4 modprobe wasn't as "smart"
or.. it was smarter
depends on the point of view :D
from "man modprobe" on 2.6: "modprobe intelligently adds or removes a module from the Linux kernel"
man modprobe on 2.4 doesn't say anything about "intelligently"
can't argue with that
maybe we send a mail to the developers of modprobe
waste of tome... they are doing what they think is right
or should rtai put the modules in /lib/modules
they probably will say "you shouldn't load modules that aren't in /lib/modules and don't have entries in our database"
maybe they a right
jmk: what's .PHONY used for?
the one in Makefile
I used to know. but I'm fuzzy on it now, would have to look at the online make manual
I'll look myself
I think it tells make that a target like "clean" is just an internal thing, there is no file called clean
without phony, if you had a file called clean, and it was newer than anything make thought was a dependency for the clean target, then make clean would do nothing
do I need to add modules to the list of PHONY?
it's one of those obscure things... unless you have a file called modules in the same dir it makes no difference
jmk: there is one more thing
in emc.ini .. do yu have emc.gif as intro graphic?
I don't think so, I've never seen it pop up
I need to update that to reflect emc2.gif
I think I still have the popup disabled
because emc.gif doesn't exist (emc2.gif does)
yeah, it still says emc.gif here
well.. it's actually emc2.gif (I'll commit to emc2 HEAD)
and one more thing, I had a typo in emc.run for the popimage path
fixed it in HEAD, didn't bother to bring it to kbuild :)
no need, that will get handled when I do the merge
yeah.. that's why I didn't
changes from kbuild will merge to HEAD, and I'll also merge changes from HEAD to kbuild
in fact it makes things more compilcated if the same change is done in both
jmk: anything agains including the kclean to def_clean ?
in Make.rules I mean
Makefiles in directories that have no kernel modules don't have kclean
yup.. that will cause rm *.ko to fail quietly
(but does that matter? I dunno)
oh, that reminds me
I'll leave it with kclean for no
gotta check something first
kclean (at least in the rtapi makefile) does rm .o
why is that? it would delete foo.old, which might just be something I didn't want deleted
you wouldn't have any foo.o in that dir
at least not accordingly to the Makefile
that's not it
older foo gets built in RTTMP or RTLIB
dammit, irc changed what I typed
the makefile has <star>.o<star> (IRC didn't show the stars)
I see what you mean
so it doesn't just delete foo.o, it deletes foo.old
that's because of .o.cmd
well, why not change it to *.o
is that on purpose for some reason, or a typo?
I'll change it
change it to star.o.star
unless it has the purpose of rmoving *.o*
testing: foo .foo. *.foo
ah you run a sensible irc client ;)
huh... stars on both sides of something get deleted and used to bold it
sensible until you try to type <star>.o<star> and the client changes your message
another case of a program trying to be smart
escape em ;)
this is ksirc on 2.6 (BDI-4)
I run irssi or mirc at the desktop
the ksirc on BDI-TNG doesn't do that
I noticed it before for underscores
jmkasunich: Got a couple of tweaks for the interp...
you should be able to stick em in HEAD
stop that :)
alex_joni : Hey jmkasunich started it!
argh, please think of my eyes
jmk: I think it's .o that's needed
ok by me
you want to change it, since your in the makefiles anyway?
ok, got the modprobe -r thing fixed, now is there a better way to deal with the ksched->up thing?
03paul_c * 10emc2/src/ (8 files in 2 dirs): PI and friends are defined in much higher precision in math.h - We can use them as long as _GNU_SOURCE is defined prior to including math.h
That will improve the precision of some of the math....
[20:32:37] <alex_joni> https://mail.rtai.org/pipermail/rtai/2004-June/007769.html
* anonimasu_ nods
it'll hurt your neck ;)
alex_joni : Ever see 'Chico and the man'?
alex_joni : lil dog in the back of the car?
I know those dogs ;)
alex_joni : Even Charo was in it.
and Della Reese
Yes, pedro is spanish for dog
no wait, that's De La Rosa
03alex_joni 07kbuild-0-1 * 10emc2/src/ (10 files in 10 dirs): cleaned the Makefiles a bit, fixed the rm *.o* issue
* alex_joni leaves for a bit
alex_joni is now known as alex_joni_away
You know on most gantry routers they'll make X (longest) axis part of the base, can anyone think of a reason not to mount X on the gantry itself instead?
jmk: seems ksched should get replaced by up
unless you have a smp box
./configure to figure that out?
check what ksched symlinks to?
that's what I'm thinking, configure can generate rtapi.conf with the list of modules
but.. rtai_ksched can be changed at anytime ... :(
or at least have the Makefile take the info from Makefile.inc
BTW, once BDI-4.21 comes out, I will have an SMP machine here...
althought it's not physically part of the compile farm, I might just run the far scripts on it, treat it as slot 9 or something
so we can test on SMP
jmk: how about:
mod=`ls -l $rtai_moddir/rtai_$mod$modext|sed -e "s,.* \-> -*rtai_\([a-z0-9A-Z]*\)$modext.*,\1,"`
replace the symlink with the target name
I was hoping to use readlink, but it isn't installed on BDI-2.xx
rtai-load uses this
they might have a reason for doing it
I'll be back in 20 mins
sed-fu can get tricky, cause not all ls -l have the same format
Jymmm: how do you mean
X should be the main axis, not the longest
Just starting to unload the car. Had to make room on the shelves.
steve_away is now known as steve_stallings
How did the discussion about tp come out this morning?
that reminds me... hey steve!
rayh: went on for a while, very interseting... eventually petered out
Imperator_ let me see if I can find a picture
feeling better now, played with backhoe, pulled out old split rail fence
steve: you have one of the linear motors, right?
got one from you at fest
I have some cables that mate to it including the high power D-shell with 4 fat pins
and I also have a little box from Anorad that I think is an interpolator for the sine/cosine dignals from the encoder
it's labeled SQ Logic I think
great, hang on to them and any docs that show up on the power drivers, etc.
the whole thing isn't large, I was gonna ship to you (only a couple lbs)
Imperator_ : Ok, see how X axis is on the base of the machine? Instead of putting X axis on the base, put the Y axis on the base, and place the X axis on the gantry. The idea being that you would have a (lets say) a 4 foot wide gantry and can use it as a pass-thru for longer stock.
[21:08:17] <Jymmm> http://www.hobbycnc.com/plans/RouterSide1_Small.jpg
perhaps I will make it to the CNC show at Roland's place, you going?
don't think so.. but who knows...
my ride share fell through, so if I go I may be flying
Jymmm - one reason people use the gantry for the short axis is that long gantries are more flexible (bendy)
also, if the gantry (rather than the table) moves, then you have to move more weight
jmkasunich : Well, I was thinking I could easily re-enforce the 'mounting plates' to give it rigidity
first because long axis are heaver than short ones, then made worse because you have to make the long axis thicker to stiffen it up, which adds even more weight
long gantry makes more sense if the table moves, then you can make the
gantry as heavy as you need
thats a portal machine
if i translate it right
jmkasunich Ah, didn't consider moving table into the picture.
problem with moving table is it takes more space
jmkasunich nor the added weight
4 foot travel needs an 8 foot long space if the table moves
right - 8 feet minumum
but stiffnes is **much** better
TonyP built a bridge or portal for routing. Looked really nice.
well, toss that idea out the door =)
(x on gantry that is_
The X axis drooped on the ends.
was X the table?
But when it was pulled under the y and z it was always in place.
or the bridge
rayh: can you add your ideas about the tool changer to the wiki page
yes X was the table that slid.
I will do that Martin. I didn't want to mess up your nice page.
Heh, I'm still leary about using 3/4" drillrod for the rails (thinking it won't be strong enough.
rayh: add a "suggestion 2" if it is very different from the first one
not unless you can sypport it at several spots along the rod
Tony's machine was built with small thompson rail and a plate of aluminum.
jmkasunich les suggested 2 supports in the middle
so basically a support every 12"
alex_joni_away is now known as alex_joni
with C shaped slides that can clear the supports?
Imperator_: I'll report on the integration of tcl and the Hardinge Lathe.
Great crowd here today.
* alex_joni won't be around very long
jmkasunich : I just haven't figured out how to make "adjustable supports" yet =)
gotta go to a customer tomorrow morning pretty early :)
* Imperator_ has two weeks holiday
dang customers, they always want something for their money 8-)
ain't that the truth.
work for the goverment
then you do something for two years, and then you say it is not possible, but thanks for the money
then you get to write endless proposals to to get the next grant 8-(
I hate writing even more than working
* anonimasu_ yawns
at least he didn't nod
rayh, paul_c, you guys awake?
Yep. working on describing tool change
Don't see Paul about.
can you join the board channel for a couple mins?
jmkasunich: Hey John - baq from testing
Well... I tried different power outlets for the various parts of the system
So, I tried using a "stick font" to reduce the moves in number
better, but not great
so I removed all BL
and, while not great, it was GREATLY better
I'd have to say that it's DEFINITELY a problem with the BL comp
that's what I was afraid of
Now, having said that...
probably the best bet in the short term is for me to restore the original code, wrapped in an ifdef so you can compile either way
and document the problems with both approaches
I'd be more than happy to try any other tests if you'd like
Would it be worth putting a caliper on the table and running a script to move back and forth many many times to check no steps are lost with BL off?
but I'm thinking you're right
I have a feeling one approach is better for some machines, and the other is better for others
daryl: I've actually done something similar already
it's looking like it's definitely in the BL comp
Well, I guess that's better than not knowing why. :)
jmkasunich: let me know when I can update my install, and I'll try it and report back
gonna be a day or two (I hope that doesn't screw you too badly)
I'm gnawing at the bit, but need it working correctly, so if it's a day or two, it's a day or two
have a few frames I need to make anyway
I posted it as a bug, too.
hope I worded it correctly
well.. gnight guys
See you Alex.
Oh man.... http://geckodrives.com/ycom/documents/C163R22_spiral.wmv
URL == Uniform Resource Locator
yeah but what does it show?
g100 it's called now
Mariss did it to demo hardware pulse generation of G200x
I was just on the camsoft site a bit
yuck for the price
no machine control
changing from emc?
hm not too bad actually
camsoft/galil is the cheapest reasonbly modern control out there
62 microsecond servo update
fanuc quoted me at 8000 for the control..
about $4000 total
card and software
for 3 axis
and 3000$ per axis..
about $7000 for 5 axis
for their smallest control....
yep adds up quickly
* anonimasu_ sighs
My only hope for a cnc product was to make that cost go away
that g200x movie was awesome..
We have the iron
but not the control
Les, tried Ajax (Centroid)? http://ajaxcnc.com/features_specs.htm
yeah I have looked at ajax
les.. you thinking of selling cnc machines?
not good enough for a router
They claim 600 blocks/second, was the servo loop slow?
You looking at steppers or servos?
I want to have a servo machine...24"x24", 500ipm, wood, plastic ,and light metal with .001" repeatability
ajaxcnc looks good..
les < $1,000 USD
I like the online programming stuff..
We have the iron.
We have no control.
Is emc fast enough?
not even close
not a matter of fast though
* rayh adds a cautionary bs...
ahem we're all eyes ray
I can't explain why Les's machine behaves the way it does.
I have no understanding of the maths that go into tp or blending
I was told this morning that there was g code out there that would act badly
at bridgeport speeds.
I've done bridgeport speeds
I'm new to this: 2q's: How does les's machine behave? What's blending?
I've done 3.5 hour contouring that involved 0.0002 motions in z
and have not found emc to be deficient.
Well we got TP stack starvation at 50 pts/sec
I wish it was not deficient
And I've never seen it.
Fred has run the machine and said it is TP/TC
I can not explain or even point at the part of the code that is responsible for your problems.
one question: are you running full servo?
I've not tried to run it of late on a < 300 proc but
Yes. On many of the tests I've pointed to.
so you have a full servo (stg or similar) BP....
I've used SRG1, and more recently Motenc
we need to get you the test program
les: Ray has a copy.
did Paul mail it to you?
But I see the servo v stepper as a red herring.
cause be are long past the tp and blender when we make pulses.
'And we are starving the pc worse with pulse generation than we are with servo.
I would think so...but the pulse generator might be a low pass filter....I don't know
JonE has been running bpt speeds on a bpt since 97 or so.
well motionid=0 is kinda telling
it depends on the kind of parts you make
I expect that the spiral program will kill Jon's machine as bad as it does Les's
and if not, I could write one that would
Catch you later.
Well Jon runs velocity mode...so an extra integrator...lower bandwidth....
but the stutter will happen
right - I was talking about the stutter
No jon's bpt is full servo using his amps and tach feedback.
Lets not run to assumptions here.
funny it is kind of random when it starts
that's what Les means by velocity mode ray
not periodic at all
les there ya go les... cheap drives ^^^^^^^^^^^^
And Les is not using tach feedback.
Oh, btw... http://geckodrives.com/whyg201.htm
I wonder if that's the guy that ripped off the gecko design
Ray, current mode with an encoder is the norm for cnc these days
tachs were used as well long ago when processing power was so limited
I don't mean to troll you less but there are many ways to do these things yet.
Ray, didn't you just install Jon's PWM system on the Hardinge. It runs torque mode with encoders only, right?
I also realize that Mazak switched to some rather tiny steps on it's encoders to handle
velocity computation from digital inputs.
I did make the decision to run Jon's pwm on the hardinge.
There is a nice video TV show on the Galil site
the math is right
I also spent a day tuning that system.\
have a look sometimes
Way different from what Jon was doing.
I was really confused because his system was not honoring [TRAJ] max vel.
or max accel
Had Jon ever had his system on a high mass machine?
I don't know.
I added max accel and max vel on a per axis basis and did get those things working properly.
Anyway, my configuration just does what it's told...A linear G1 or arc G2 or G3 is executed fast smoothly, and silently (unless the spindle is on)
Not honoring, or just not in the .ini ?
But then the huge numbers he had in PID and the FF's didn't make any sence.
PID numbers sometimes need to be big depending on amp gain
No matter what accel I put in traj it always came out the same.\
yes I can see that Les but the pwm boards do not have onboard gain.
That will certainly add an additional degree of tuning uncertainty.
Once I got the Hardinge accel up where i wanted it, the other numbers fell into place
well 0-100 duty cycle in should be 0- max velocity
if a velocity amp
If I understand Jon's boards, they receive a digital command in PWM that is the output from EMC. The PWM is not translated into a variable current limit, only duty cycle. This would make it some sort or hybrid voltage equiv after filter.
p only and turn it down until run away.
I should mention that if you use PID on a cascaded velocity loop it will make a potentially unstable fourth order system
just use P
I had some of those issues with rutex.
DISCOVERY CHANNEL - 'Brian Man' (right now)
I'd much rather connect a raw power amp to emc than twiddle several layers of competing pid
In normal torque mode if there is a position error like stick slip it pushes harder.
In velocity/position cascaded mode it tries to go faster.
does seem like it.
except that if stick-slip makes it slow down the (much faster) velocity loop should correct for it before the slower position loop winds up
How about sending me your ini file, Les?
it is on the site
* jmkasunich is used to industrial motor control, not servo control... a factor of at _least_ 3:1 and usually 5: 1 or better between position loop BW and velocity loop BW, and a similar factor between velocity loop and torque(current) loop
* jmkasunich needs food
lots of system functions on the galil video
if you like laplace transforms
specific warnings about using PID in a cascaded position/velocity loop
and they are right.
You really running p=5
no...I knocked that down...otherwise I was afraid people might download it and blow up their machines
What you really running? Want to send that off list.
the real P is gosh...a thousand or so
let me look...
BTW a p of 5 is more dangerous than a p of 200
gotta run dinner. Back later.
heh it is a little lazy...it will blow through limit switches
* paul_c has the numbers here.
the .ini we used?
best to send him that...
but not apprapriate for another machine!
not the PID
hey paul I see you used the more accurate math library in the little spiral c program
Les, would Jon's PWM amp be considered voltage/velocity mode or current/torque mode?
I can't say for sure because I have not seen it
but I have read his stuff
He says that the PID calcs are wrong in emc
I would agree...for a cascaded velocity loop
but not for normal torque mode
les: nope. just used a definition for Pi that was a little more detailed.
the math lib remains the same.
As I understand it, the output of his control board is one polarity signal and a current on/off signal.
The amp has current limit only to set MAX current.
in normal torque mode P is a spring...D is a damper
in vel mode a good bit different
fourth order and potentially unstable if you use D and I
a classical damper supplies a restoring force prop to the velocity error in torque mode
I would consider PWM on/off control of current switch to be a velocity mode if there is no way for the amp to control current in response to PWM.
well PWM in general is fine...just another analog signal
torque mode...a voltage or duty cyvle controlled current source
voltage mode...a voltage or duty cyclr controled voltage source...
and velocity mode.... a voltage or duty cycle controlled tach voltage
torque mode has high output impedance...
voltage and tach low...almost zero
So if the PWM simply turns on and off an H bridge driver, it is voltage mode (with max current protection). The PWM value represents velocity request.
The mode depends on whether the feedback in the amp senses current, output voltage, or tach voltage
There is NO feedback in the amp, only max current limit.
As I understand it.
If current rises above safe limit (20 amps??) it simply truncated the PWM for that cycle.
sounds like voltage mode...but with no voltage feedback (integrated) It will not quite act as a voltage source
I run servos with big audio amps some...
but they are almost perfect voltage sources
due to feedback
zero input and the servo stops
because it is shorted
I am more familiar with the PWM controlling the polarity of the drive so the action is voltage mode.
with a current amp it coasts...an ideal current source has infinite impedance
for current PWM (like copleys and most) negative feedback of a current monitor is used
My prototypes use the PWM to control polarity. PWM = 50% results in zero effective volts to motor. Current limt just protects the driver and motor.
I was wondering if redesign to current mode would make a "better" driver.
Current sensing is easy. Conversion of PWM to analog worries me, phase lag?
current mode is used in most all machines now.
velocity is derived from the D term of PID
from the encoder
there is no extra tach
the encoder is a much better tach than the early analog ones
they did that then just to offload cpu processing
but then could not use PID
When you use EMC to control current/torque mode you just end up tuning PID differently, no other changes to EMC?
PID is dumb
it is just an error signal and response
So, does conversion of PWM to an analog signal to control current chopper have any impact on loop stability?
't spit out velocity or position or accel
PWM into LPF gets voltage, but phase lag.
PWM does not affect stability as lonfg as you are within the Nyquist limits
It's just an analog signal
zero quantization error ideally
So a typical PWM frequeny of 10x the update rate would likely be OK.
yeah..high enough to not hear the squeal...low enough to be efficient
10-20 KHz is typical
I mean, 20KHz PWM signal in a system with 2KHz servo loop.
no problem at all
OK, I feel better now. Jon's approach while simple in hardware, didn't feel good to me.
Still assuming I understood him correctly.
I don't know much about it...other than the caution of using cascaded velocity loops with pid
argh an old root canal shattered
free pliers or $500 dentist?
Gee, I know I can sometimes make people grind their teeth, but usually I have to be face to face to accomplish that! 8-(
how about both.
the fracture is not down to the bone...just a big chunk has broken and is held on by the gum tissue
it is a root canal...it's dead
Been there, grew up without floride, chewed ice while young, lots of cracked molars.
Surprising little pain other than in the wallet.
I am a small business...so for routine stuff...we just pay it.