SWPadnos: your note to sherline got to the boss and he got to me.
heh - funny
is that Joe?
(the emails I got were from Joe Martin)
Yep. It made three stops in sherline.
trying to find out if it's for real? :)
Right. I told him you were a good guy.
swp: i use orcad capture and layout.
like.. worse than it's ever been.
just got a confirmation from Joe that they'll put the link on their site.
good thing I gave it up as soon as I could :)
SPECCTRA is awesome, and capture is usable and nice.. but dealing with orcad layout for the pcb stuff is pure hell
I was looking for something that would work natively on Linux, and has good support for BGA and other more modern packages
also, FPGA integration is a plus
for less than $15K, preferably way less :)
SWP what do you make?
whatever a customer pays me for. right now, a digital camera array
ever seen the movie "The Matrix"?
out of curiosity, what kind of frame rates do people here get from glxgears?
92 over here
I'm running the nvidia drivers (ubuntu linux)
I get around 11650
SWPadnos: I didn't bother :)
it's all software
that seems awfully high :)
G night k4ts
the "official" (and closed) driver actually uses the hardware :)
k4ts: good luck
k4ts: you know waht to do ..
in bocca al lupo
in culo alla balenaaaa
of course, the rate goes down if I make it full screen
does minimillio use the same lpt1 connections as bridgeport io lpt1? no estop, etc?
Mje: where ?
bridgeportio uses a second parallel port for the added functions, and it does try to use estop
I believe that minimillio uses the same connections for step output, but I'm not sure about other functions
minimill has no other functions. it is axis related variables only.
limits homes, probe.
alright. i looked in the faq and has the pinout for bridgeport, but nothing for minimill. i just wanted to make sure the lpt1 pinout for bridgeport is what's used for minimill.
before i started connecting wires
eventually retrofitting a D&M 3 axis mill and a D&M lathe
ah - okay. I thought it had some e-stop functionality
If you use emc2, you could swap around the pins to your liking rather than having to use what is hard coded in.
also add estop & spindle control
unfortunately "the powers that be" want me to use emc1 :-/ i also thought emc2 would be better
Powers are Powers.
haha. yes. yes.
I get around 800fps with open-source drivers for an ATI chipset
Once you get it going, you can quietly switch a prototype in.
there are no greater powers than in here :)
alex_joni: And that's the truth!
is there a bdi for emc2 yet?
Mje: not yet
probably not in the near future, but there will be debian packages
so an simple apt-get install emc2 should be enough :P
ok. i'm pretty sure that's why they're against emc2, and i don't have controll of the boxen doing the controlling :-/
it'll get there..
i'll be happy if i can push for emc2. but for now i'll just get it to move.
then when the estop doesnt work... maybe they'll upgrade
thanks for all the help everyone :-)
Mje: where from?
might want to add yourself: http://www.frappr.com/emctheenhancedmachinecontroller
alright. thanks alex_joni
thank you for using emc ;)
tahnl you for developing emc :P
Mje: It is possible to use bridgeportio on a single parport and get the estop in and out pins.
i belive those functions are on the second parallel port for bridgeportio. lpt1 functions stay the same.
emc2 would be excellent for this :-)
Mje: yes but you can assign both ports at the same address
e.g. using only one physical parport
They can be overlapped to a single port.
I did that for the Smithy 1240 Mill.
that would work. how does emc arbitrate which pin goes to which port?
it doesn't ..
make sure they don't overlap
you still will have standard pinout for the first logical parport
and you will be able to set the pins needed for ESTOP & the like for the second logical parport
make sure you don't place them on the taken pins
Smithy used estop, spindle forward, spindle reverse, and aux (either coolant) outputs
on parport pins 1,14,16,17
and an estop in signal on parport pin 11
ahhh. you can change the pinout in bridgeportio?
MIST_COOLANT_INDEX = 6
FLOOD_COOLANT_INDEX = 7
SPINDLE_DECREASE_INDEX = 8
SPINDLE_INCREASE_INDEX = 9
ESTOP_WRITE_INDEX = 10
SPINDLE_BRAKE_INDEX = 11
a snip from emc.ini (EMC1)
awesome. that will definately work
just assign the pins you don't want to use a value larger than say 20
I wonder what happens then..
I don't remember what the real largest number is.
The code ignores them.
Matt and I had FredP do that when we pointed out a big error he made in lube.
It was cycling on and off estop every second when estop had been pressed.
some hard coded quick fix screw up.
we love hard-coded quick fix screwups :)
wow - this is one slow autorouter
I just about s&*t when it started doing that. Had a bunch of "suits" watching.
SWPadnos: need a crack ?
Boy did I have to fast talk.
eagle is proprietary sw
heh - suits always seem to bring out the problems in (anything)
Yes they do.
I'm trying out the freeware version. I'll buy it if I want to use it professionally
I've got to run. It was fun guys.
I put down one chip and 6 test points, and the autorouter is taking miunutes to get it done
free versione is limited
see ya Ray
how much ?
of course, I did use a 208-pin FPGA as the one chip ;)
SWPadnos: I like eagle, but it really is worth doing the tutuorial from their web site... it makes more sense once you work through the excercises
I'll do that. If I can save around $10k, it'll be well worth it :)
* anonimasu is drawing parts in he's head
cool. here's the link to frappr on Sherline (bottom of the page)
[01:21:54] <SWPadnos> http://www.sherline.com/CNClinks.htm
hmmm.. probably frappr is not the best place to ask for help.. is it?
"Please make EMC understanding other files like step dxf dwg and other.
What mean all features of INI file en how do i make it to fit to my CNC machine.
an user from maastricht (netherlands)
hmmm - that's kind of funny
luckily, Chris at Sherline put in the description of frappr, and the links to the sourceforge lists
maybe that's unlucky :)
heh - I like that one
03alex_joni * 10emc2/ (15 files in 5 dirs):
further work on make install (updated config files with proper dirs). shortly
scripts/emc.run will be replaced by scripts/emc.run.in (currently known as
scripts/install.run.in) install.run seems to be working ok as an installed
script, and as a run-in-place script.
maybe emc.run.local would be less confusing than .in
it's a .in because it's used by configure (or make) to create an emc.run file
fenn: if you patch autoconf to parse a .local file
or autoconf :)
configure created by autoconf from configure.in ;)
autoconf and configure will duke it out at runtime
hopefully, any quarrel between them will be sorted out long before runtime :)
so you need to patch autoconf to create a proper version of configure, which will use .local files :D
autoconf always wins :D
* alex_joni doesn't..
* alex_joni goes to bed
man - pushing 30 minutes to route 7 parts
(and not done yet)
and 6 of htem have exactly one pin
are you cutting circuit boards?
oh route route
* anonimasu sighs
so many projects so little money
yeah - I wasn't nice to it - it's a 28-pin FPGA, with 1-mil routing grid
208 pins, that is
those are nicer to route :D
900 pins that is :P
I will, but I'd definitely need more than the 2 layers the freewaere version gives me
I've seen $6000 ones from DigiKey - 1600 pins or so
With ball counts exceeding 1000 and approaching more than 2000 there are huge forces when inserting the male device. The force to mate conventional adapters can exceed 98 pounds or 436 Newtons for a 1000 pin device. The Giga-snaP� BGA Surface Mount Feet Adapters require half the force of 48.5 pounds or 215 Newtons for a 1000 pin device.
hmmm - a BGA socket - interesting
ooooh - here's a $9100 FPGA
only 1156 balls
* alex_joni goes to bed.. now for real
I'll regret this in the morning
it's 3am again :/
not yet :)
[03:00] <SWPadnos> not yet :)
hah - it couldn't finish the routing
left two testpoints unconnected
nobody here but us chickens
* fenn meeps
I actually logged the channel last night, because no-one's here during my daytime...
there be logs in them thar hills
they're good, but not always complete - the logger sometimes gets dropped from the channel
is there an index of the logs by any chance? I'm hoping to review the developers meeting from Sunday..
not really. they're there in txt and rdf format, so if you have something that can make use of RDF, it may help
otherwise, just substitute the date you want in the URL
and note that the date is according to timezone GMT+2 (it's 3:15 AM now, as the logger sees it)
ok, thanks.. am looking through them now...
am i going crazy or is the date on the logger wrong? 11-11? has anywhere reached the 11th november yet?
i thought rdf was just text with formatting
it's the 11th in romania
er, maybe not
isn't NZ the first to see the next day? it's the 10th over there...
rdf is some XML schema, but unfortunately, I don't have an appropriate stylesheet for Mozilla, so it takes a long time, and then gives me all sorts of stuff I don't need (nicely structured, though)
richo: No, some Island in the Pacific is.
true, just the east of NZ :)
actually, it was chosen (and isn't straight) so that it doesn't hit land anywhere (except Antarctica, where you can't help it)
SWP i'm reading logs a couple days ago
you were asking about why hal has signals
a hal pin is just a pointer, and a signal is a register
no - why output pins can't just *be* signals
this way "all pins are created equal"
I was thinking about it from the standpoint of configuration
and also you can name the signals
but they're not - you can't link two outputs together, for instance
motenc.0.35.out isn't very descriptive
ok but what if you have a bidirectional pin?
true, but motenc.0.conn1.pin3 would be
not as descriptive as "amp-offset" or some such
there are no bidirectional HAL pins, AFAIK
nor are there tri-states, though JMK and I discussed that
fenn - you still there?
ah - on the signals thing
I was approaching it from the standpoint of a user trying to configure emc2
well, that's not a bad thing really
right now, to set up the step output for an axis (once the stepper and PID and motion and all that are loaded), you need three halcmd commands
hi guys, who is generally responsible for generating the BDI CDs?
linkps stepper.0.Step-out XStep
linksp XStep parport.0.pin.7.out
(or the like)
The suggestion on the developers list is that he won't really be doing too much with it in the future.. does that sound right?
looks like it
there is a push towards .rpms and .debs, or a live distro
ok, i would be interested in having a look at what's involved in generating the CDs...
ok, the puppy distro was interesting... runs lightnight fast...
it's non-trivial to figure out, but it's just time once you do manage that :)
I think there were a few tricks Paul had to learn to get things going
generically, you (1) create a signal, (2) link a single output to that signal (since you can't connect more than one), and (3) link one or more inputs to the signal
yeah, i've been playing around with getting all the right components on a gentoo system and even that's a trial :)
I had made a wiki page for that, but it seems lost
SWPadnos: you cant connect more than one? says who?
the real trick at the time was to not get the version of Adeos that had -DO_NOT_USE in the name
not more than one output pin
says HAL documentation and JMK
hmm ok... the adeos and rtai stuff is where i've been struggling a bit...
At the time (6-10 months ago), you couldn't use the fusion (development) branch
you have to use magma
also, be sure to get the patch for the exact kernel
halcmd is annoying to use on its own.. you cant make a new thread
I downloaded a generic kernel, since there were a couple of hunks that didn't patch corectly against the Gentoo kernel (though I think they were in documentation files)
yep... i'm leaning towards a debian system really... gentoo doesn't really seem to be used with RTAI/ADEOS much, so there's not a lot of help on it...
i found a howto on it, but it's quite dated...
it works fine, once you "get" it :)
fenn, I'm looking at the hal doc and I don't see the limitation - maybe it was from a conversation with JMK
I know that you can connect as many inputs to a signal as you like
anyway - the idea was that those three steps can be shortened to one, if output pins *are* signals
i just tried it and you can connect as many "readers" to a pin as you like, but only one writer
linksp (or linkpp) stepgen.0.Step-out parport.0.pin-2
there are two reasons I can see to not make that change:
1) implementing tri-states or bidirectional pins later could be an issue
2) you can pretty easily change a group of input pins to a different output pin quickly, by removing the first output and adding the second to the signal
that would be a PITA if there were no signals
i think the other part might be that each hal component uses no memory of its own to store data
actually, they do, but you're right - the actual pin data is in shmem
besides params i mean
not sure if that counts as data, since its not going to change
they create structs and the like, using hal_malloc
(I was looking at blocks.c this afternoon)
that's a fun one
heh - especially with the copy/paste errors :)
* Jacky^ smoke
well - thanks for the discussion - I guess that removing signals isn't necessarily a good idea, but maybe adding a linkpp command (as ray had suggested) may make sense
or it isn't a necessary good idea :)
i think when graphical configurator comes into the picture it will be a lot quicker and nobody will whine
SWPadnos: please remove signals ...
then you can click on pins to get info about the parameters, and signals to get the data in the signal
fenn: you smoked ?
Jacky^: tried it once, didn't like it
yes, but a 3700 line .hal file might be caunting (for support issues)
anyone with a 3700 line hal file has more problems than some redundant lines
like, probably will be writing it with a script anywway
well - the redundant lines, plus some comments, can easily make a huge file (not 3700 lines, but in the same order of magnitude)
use lib better
hey les !
hoe the thing are going there ?
pretty good. tookthe suits back to the hotel. Thing went well.
as long as they left a check, things are good
boingy boingy boingy
that conflicts with the bulk of evidence supporting quantum bogodynamics
les_w: hotel ? nice :)
jymmm - you lost an 'm'
haha well if the thing works I think I will get to manufacture it.
then you will really need a micromanipulator
a cnc controlled one
and a 120 mile commute to atlanta
thats really good
anyway, in the mean time, research funding continues.so les eats.
mmmmm - food
les_w: For the cost of a coffee you can feed me (tooling ) for a month =)
The only thing I had trouble with is time off. I have to wire spindles and bring in iron. I got two weeks.
Wait...that is not time off...isit?
* Jymm is good at wiring anything
les_w with enough beer it is =)
with my toy :)
les_w: do ypu know thi wood ?
Very nice. Wood..hmm large tengential rays. an oak?
italian term i 'faggio'
let me check
no clue about english etmr
I thought oak too
beech...translation is beech wood
its very strong
broken 2 bit during testing :/
did you use a round nose?
round nose bbits are bad for roughing because the cutting pressure is distributed across a wide area
les_w: for the first test I used 6 mm ball nose
here the result: http://digilander.libero.it/jackydgl0/annamaria.jpg
not good at all
fenn one trick with round (ball) nose is to tilt it
all i see is a simulation
at least with wood
in the second time, I used 3 mm ballnose cmt cutter
les_w: tilt it into the direction of travel?
or 90 degrees to that?
here I used 3 mm ballnose and the results is pretty nice: http://digilander.libero.it/jackydgl0/annam2.jpg
oh oops gotta scroll over :)
good gray scale to z!
i think that's artsoft portrait-o-matic or whatever its called
Fenn...tilting a little just to get the semi-dead center off the work
I v-cut mostly, so I cannot do that
so the bottom of the v is more embossed than cut
les_w: what tilting mean ?
fourth axis needed ?
SWPadnos is now known as SWP_Away
jacky do you use artcam pro?
the center of the round nose does not cut much, because the edge velocity goes very low. If you tilt the bit a little such that the center is out of the work cuts are better
and still round
only for shallow cuts of course
yeah, think i've used only ony bit ..
oh, 2, but the second just for cut the profile
artcam usually automatically cuts a finishing pass
i like tish wood because it remain smoothness
uhm.. artcam has some feature about finish pass
for most stuff we use walnut. It cut's smooth and crisp, has a nice look , and is cheap.
usually it calculate a second toolpath to finish
V cut seems to do a second pass always
ny software is old though
V bit ? never used :/
les_w: My only beef with walnut is it's dark... no contrast
we color fill it
an acryilic formulated to be very quick to sand
Jymm: there are a lot of water based colourant, i think
Jacky^: FOR GODS SAKE... get some light in there when you're taking photographics!!!
blast it on the whole plaque then sand off the high spots
Jymm: its too dark ?
this is typical:
les_w: Blast what? paint?
silly putty? bondo? drywall mud?
Jymm: think the pic I posted is not vernished yet
Jacky^ you need LOTS of light when taking a photograph.
[03:43:35] <les_w> http://www.lmwatts.com/signwp.html
second and third picture
les_w: Yeah, but WHAT are you color filling it with?
Jymm: ouch :/ I bought right last week a sony 4 mp camera :(
Jacky^: Even with *MY* camera, you need lots of light.
Jacky^: I have a $350 flash on mine too!
Jymm: uhm.. thats sound strange to me
how's the brightness for you ?
i dunno it looks kinda like the last one to me ;)
* Jymm smacks fenn for being ambigous!
jymm, I formulate my own stuff. It is porous and chalky so it sands off the high spots quickly. When the clear finish goes on after, it soaks in and hardens it.
les_w: What are you using for a base compound?
I have two three roll paint mills.
les_w: just acrylic paint. That's it?
basically similar to interior wall paint...but more pigment and less binder.
and other things like mica pearl
niceee , i know
pearl of essence?
By itsself, it is weak. But when the clearcoat soaks in after the next spray, it becomes strong.
Mearle titanium dioxide sputtered mica
ah, ok. Maybe I'll give that a shot. I've been buying a lot of crafters acrylic paint lately
wow, to paint its an art too
Jacky^ I cheat, I roll the shit on =)
i'm a newbie on that
Jacky^: 3" wide foam roller
interesting a lot
Jacky^: I'm in the middle of transfering some files. When I get done I'll post a pic of my latest
good, im too.
right totady ive seen the frappr site for the fistr time, its nice
les_w: i'm losting the hope to find servomotors I need here :(
les_w: where I can find the motors I need here around ? :/
colombo produces servos too ?
in eu ?
If low inertia servos are too expensive or hard to find we can relax specs a bit
I gave you specs for a very fast machine
very very fast
i like it
but i dont knoe where to search ..
let me check
no.. dont worry
jacky go find that cncitalia and barge down their door
the guys who won't sell anything to anyone
i will search some wek yet
fenn: seems hard to find a good servo here
I really dont think cncitalia can help :P
sorry cncitalia was the wrong name
[04:01:27] <les_w> http://products.danahermotion.com/danaher/advisor.asp?Rnd=490
mm get blank page
oh.. ok, it work
like googe :P
les_w: at this point we will buld a very good machine, no compromise ;P
thats what i want
i want some bodine e-torq motors
actually e-torq is a bit wussy
the original prototypes were much better
well.. 4:32 here bedtime
Jacky^ is now known as Jacky^afk
for these hot HSM machines high torque to polar moment of inertia ratio is what we need
that aften means coreless rotors
* Jymm read that as CORDless routers =)
no core less...for once not a typo
just a brain fart on my part =)
why isn't active cooling more common in high-perf servos?
isn't peak current higher if you cool the case?
mine have higher ratings for external fan cooling
Naw peak is limited usually by demag current
if a permanent magnet motor
what about field motors?
are field motors even in the same ballpark as p/m motors?
no demag problem...just the 1.7 Tesla saturation of iron
jymmm tesla is a unit of magnetic flux
* Jymm peeks up at the sound of seriouly high voltage =)
1.7 tesla isn't exactly low.. what's a run-of-the-mill rare earth field strength?
depends on the magnetic circuit. If it has iron in it, 1.7 tesla.
in air 0.5 or so
something like that
but for air, there is no saturation for electromagnets. so magnetizers are usually air core
giant vapacitor and big solid copper rod
what is a vapacitor? did I invent something?
register trade name?
sounds wicked huh?
v is next too c.
les_w: 8" x 6"
link is dead
have not identified
les_w: link is valid, try again.
oo i wanna poke fun at jymm's stuff too
fenn shush you!
Jymm is now known as Jymmm
les_w ok, gimme a sec
" sorry jymm has not enabled public access"
it looks like it was printed.. can't see any routing marks at all
low resolution image though
fenn: Heh, no it's carved.
I was playing with a pearl white paint, so that looks a lil out of place.
pearl works well for 911 signs and such...kinda retroreflective
looks nice. you are finally getting the thing going with good results
i thought the speckles in the orange was a jpg artifact, but it's from the mdf right?
what is the material?
fenn: It's not from the MDF, it's during the painting process. But I actually think it adds a "rustic" feel to it.
fenn: That's why I was saying the peral white is wrong for it.
pearl white is looking like silver there.
get medex. waterproof MDF. good stuff.
les_w and 4x the price too
you know, I forgot to take a pic of the last sign dlivered for the gallery.
oh well I have enough.
les_w My biggest issue is logistics. If I can't get the material readily it does me no good as I dont have the storage to stockhold it.
les_w But I did find signfoam available about 5 miles away.
anyway had to turn down an order, Too busy making "vapacitors"
flying saucer parts
Leave it to les_w to find a market in UFO's
Aw, today the suits took their digital cameras and photographed my blackboard in the office.
ook shots of me in the lab too.
Outlined "phase three research"
les_w stealing les' trade secrets right off the chalk board.
I get paid.
les is a technology whore
I guess. I have to eat food and drink water, or i'll die.
you mean chard flesh and brewed hopps dont you?
les_w what do you think of the orange?
fenn you too
it's a fine fruit I guess. Tastes great
it looks like speckly mdf to me... orange shouldn't have green spots in it
I meant the orange paint effect
picture looke dgood to me
not oops this keyboard is sticking
i'm looking at these e-torq motor specs, and i dont get why rpm is lower for a higher bus voltage
still eveluating prototypes
les_w: was that to me?
high volt, low rpm? sounds a bit strange
fenn servos ?
and they are not good
the inventor's prototypes had like 2x the power rating at a higher voltage
jymmm it's a new kind of brushless servo
fenn: Ah, ok.
but the torque/weight ratings are really high
High voltage is good. Power lines are 500 kV for a reason!
les_w long transmissions
and low I^2 R...just like motors
i wonder if bodine screwed it up by standardizing the design for all voltages
Some suppliers just give angular accel...that is torque / moment of inertia
does a high inductance mean higher efficiency?
yes bovine electric motors
jymmm bodine is the licensed manufacturer of these motors
[05:01:58] <fenn> http://www.bodine-electric.com/etorq/?view=2
fenn Ah, thought it was some inventor like tesla, edison, etc
this is the original prototype http://lynxmotiontechnology.com/e225.htm
well, one of them
fenn: hmmm...no. Inductance means energy storage. An I deal motor would appear resistive at constant speed, and capacitive otherwisw (1/s)
I only have 4 of these prototype keyboards left
they live about a month.
les_w maybe use them for kindling
There is a stack of bad ones in the corner.
it's about to get higher.
ABS on ABS makes a poor linear bearing.
well, i'm gonna hit the hay. stressful day, bu things came out ok.
night jymm and fenn
les_w is now known as les_w_away
man i'm drooling just reading these motor specs
any idea on the pricing?
not sure exactly
apparently you can't just "buy" it
it's been like 3 years, wtf are they waiting for
bodine has one of the more frustrating websites i've ever seen
the pic looks like a rendering too
i dont think they actually make them :)
the only real pictures i've seen were the NDSU solar car
MAybe they're going to sell the technology to GE or something.
they can't, they're just licensed resellers
er licensed manufacturer i mean
for motors less than xxx watts
the inventor's shop is like an hour away from me.. i should just go say whats up
fenn go for it
this is interesting: http://www.zero-max.com/products/rohlix/rohlixmain.asp
* Jymmm looks
hi guys, has anyone ever had the BDI installed EMC freeze when running EMC2?
I've got one box that seems to do it constantly...
what's your BASE_PERIOD set to?
mine is fine down to about .000025 but hangs below that
wait, are you running EMC and emc2 at the same time?
ok, just checking... i have to reboot to get this thing reponsive again :)
nope, just EMC2
try hitting ctrl-alt-backspace
it's set to 0.000050
it will kill the X server if that's what the problem is
it's supposed to at least, never works for me
i've increased the base period and am seeing if that works...
it's probably not that
nope, still crashes...
it's a full system crash, not just X also...
if you keep the console open, could you say when it crashes?
so you can see what the debug messages are
i have an SSH terminal connected that also dies...
ok, i'll try...
all it says before it crashes is: Starting EMC
iniFind is deprecated
perhaps the HAL is causing it to crash?
* fenn looks through emc.run to see what's going on at that point
working late or early
neither, I wake up at 6 pm
ah. okay. I guess that works. My ma was that night owl sort.
can HAL run commands like linkps and such from the .ini file?
working on the classicladder example
richo: welp looks like just about everything uses the iniFind function, so that doesn't really help us
EMC-HAL is just the machine's nickname
hmm ok, thanks anyway... i''ll try to get more info... i've only ever seen it happen on this one PC... it's very stable on the other PCs that i've run it on...
have you tried a memory test?
is there a requirements for a minimum number of timers or something?
i have no idea
no i haven't actually... i'll give it a shot...
richo: Your's is the post just now?
on the emc lists
yep, i've been chasing this one for a little while, so thought someone else might have seen it...
although it could be a hardware problem...
i'm just about to do some testing...
The next line should report the hal file that it is going to read.
perhaps it's missing a hal file?
If this were emc I'd say it was a PERIOD problem
Does it freeze and cause you to reboot.
In my experience, errors inside the hal file cause at least some info to be reported in the terminal.
So I'd think that it is not getting that far.
does that change if your debug level is set differently?
I don't know.
not that I'm here, but dmesg output could be useful
thanks whoever that was
i do have debug set 0x7fffff....
default is 0x7fffff
But I don't think that it has really started emc at that point either.
that should be printed for everyone - they may just not notice it
and the inifind message is harmless
The IniFind message is just bogus chatter caused by some changes to the inivar stuff.
was it actually spelled "deprecated" as you had in your email, or "depreciated"
what's going on with inivar?
I know nothing!
I see, Sgt. Shultz
You got it.
rayh: what do you know about the masonic order!
Very little. Have several friends who are.
My lube timers are working. Just set the on time to short or the off time to long and got a lube alarm.
how does a "lube alarm" manifest? flashing lights and klaxons?
No more need for those little clock switches.
A message on the scratch pad of mini.
But you could connect external stuff to it or even put it in the computers stop chain.
you like the way I said that SWP_Away?
yes, proper lubrication is a very serious matter, and must be rectified immediately! within microseconds!
CL is watching a lube pressure switch and resetting a timer on pressure up.
oh, i thought you meant like regular maintenance timers
someone was asking how he could log the total distance traveled on the ways so he's know when to re-lube
I gave it 20 minutes to see a pressure up signal or it raises the alarm.
Need some sort of ratchet counter reading absolute value.
We could do it in tickle without much trouble.
like a charge-pump doohickey?
or is that "integrater"
Could be, when the var reaches xxx it sends a message.
lube me, lube me, LUBE ME... damnit.
i don't even wanna go there
I offered to write a set of error messages for a cusome app a while ago.
Guy looked at me and slowly shook his head.
too many grunts and moans?
richo: how's it going?
I'm done in. See you.
sorry guys, back now... i'm just trying a fresh installation and seeing if it behaves a bit differently...
i'll also try increasing the debug level...
you might want to look at puppy, if you're only running emc2
it sure installs faster :)
true :) it runs pretty nicely too...
* fenn flees in terror from segmentqueue.c
wakey wakey alex
long time awake
that's what, 5 hrs sleep?
hmm i've never heard of this orocos before
heh we need an ascii interface to classicladder
that's what I said long ago
first time i've seen poetry in a discussion of machine control logic
"strut geometry should reside in the joints sections" how do you do that?
right now the axes section is set up so that each entry describes one joint
but you must describe the relationship between joints to describe the kinematics
describing joint geometry for each joint works fine for serial mechanisms but not parallel mechanisms
maybe i should add what "joints" are to kinematics 101
heh maybe i should finish reading the mail for today before i spout my mouth off :)
We wanted to use a pc as a controlling for a sorting machine. That means we need exactly to send an impulse exactly after 0.2 seconds. Is that a scenario for realtime processing?
0.2 is a looong time in electronics terms
you could do that without any realtime code
But is is garanted that the 0.2 time is everytime correct? I mean no 0.3 or something?
Even if the machine has high load?
to within xxx nanoseconds, depending on your pc
if the machine is also running other tasks, those other taks just wait until the realtime code is done
so your video game will slow down but the machine tool keeps going fine
So if i want exactly every time a process doing something after 0.2 seconds i need realtime processing, because with a normal linux kernel the time could sometimes be 0.3 or 0.25?
* fenn scrambles around for the link he had like 3 seconds ago
[10:42:22] <fenn> http://www.isw.uni-stuttgart.de/personen/t_franit/echtzeitlinux/
btw you don't need that "gadget" it can be done in software
So emc is only a live cd for testing?
And i should get the bdiemc iso?
the live cd runs a realtime os
the live cd uses more memory, and is kinda out of date
we're working on a new version of the live cd using the "puppy" distro as a base instead of debian
er morphix, not debian
since it sounds like you are doing something a little more advanced than just moving x/y/z you should have a look at emc2
Well i mean, on the main emc page there is an iso bdi 4.30 based on debian for downloading, and on the page you give me, i can download bdiemc isos, which are based on readhat 7.2
Which should i use?
I would prefer an hdd installation.
So on the page http://www.isw.uni-stuttgart.de/personen/t_franit/echtzeitlinux/
i should read to solve my questions?
uh, that's just a neat picture
it shows the "jitter" which is the rance of different amounts of latency you might see
you should see my bookmark file.. egad
where is it?
on my hard drive of course
Btw. we want to run speech recorgnising and on the same machine a process which gots the speech output. He get's also an impulse from a light barrier and response 0.2 seconds after that with another impulse.
it's actually on two hard drives, hence the difficulties
Thanks for you're help for now.
your average computer these days is about 10ms maximum latency
oops 10 microseconds
Hm maybe we don't need realtime processing.
emc can get a signal in and out of the parallel port in about .00002 sec
it's not that fast
Making fun, eh? :)
no, actually it makes a big difference
that .00002 sec is the minimum resolution of a pwm pulse for instance
What is fast in realtime processing?
like, what is the fastest computer out there?
it's a complicated answer
03yabosukz * 10emc2/src/ (Makefile.inc.in rtapi/rtai_rtapi.c): i add missin modules. show you how use module_param.
i wish that guy knew english
Hm so if the computers are going faster, the response time is decreasing?
you can do like 1 microsecond on a microcontroller, because it has less data to slop around, and because it's designed for low-latency
modern high-end computers have more to worry about, basically
i'm not really that savvy about the internals of CPU's
When i install bdi do i need to define a process to run in realtime? Like `nice +19 <command>`?
right now i'm designing a circuit to keep track of optical encoder pulses, and i'm running into problems with latency even in microcontrollers
you can't do it that easily
Sorry for bothering you so much with questions.
realtime processes have to be run as a kernel module
you should talk to jmkasunich if you see him around
he's been busy lately though
many others will be able to help also.. i dont want to name any names for fear of leaving someone out :)
you should sign up to the mailing lists also
it's not bad if you get it in a daily digest format
btw what kind of sorting machine has speech recognition?
Hm maybe i'm wrong but i thought it's just the scheduler, whcih is in realtime more exactly. Like when every process can have between 5-20 milliseconds each cycle, in realtime the time is restictred to 5-10?
We do software speech recognition.
The result will be used in an application to send impulses to gates.
Like you say "one two" and the gate one will get opend.
It's for brief sorting.
what's a brief? :)
* chinamill is away: working
There is a long treadmill, people put the letters on the treadmill, others read the zip code of each letter and say the first two numbers, the numbers will be send to a printer, who prints a code on the letter and then the letter gets sorted by gates which gets open by the realtime process.
you will definitely not be using emc1 for this
i dont know if there is software designed for that sort of thing
Because to much processes?
actually, classicladder is good for that stuff
and classicladder is built into emc right now
[11:17:31] <fenn> http://membres.lycos.fr/mavati/classicladder/
Well we still have the speech recognising software, the printer is connected via lpt, so we can just push out the jobs. So the only point which should be in realtime is when the letter comes to the gates. There is an electronic eye, which see's the letter, sends an impulse to the pc and the pc has a process running which checks if it's the correct gate, if yes, he should send an impulse withing 0.2 seconds.
how does the data from the electronic eye get into the pc?
is it an image? or a number? or what?
Well there is an isa card which about 10 inputs and 10 outputs.
The applications checks the input ports and send an response if the gate should be opened.
you should be looking at PLC emulators, or buy a real plc maybe
back in the good old days they did this kind of stuff by using relays and timers
then someone had the bright idea to make "virtual relays" on a chip
a PLC takes care of the interface between high-powered stuff like relays, and logic programs
they are kinda expensive though
and you have to learn this wacky "ladder language"
but it's pretty easy
Btw. i can't find much information about realtime processing, like the information that i need a module doing the realtime stuff which is normally inside of an application.
Do you have some information?
you should write a message to the mailing list
Need to search for more informations for now.
check out rtai.org if you haven't already
that's the realtime interface emc uses
i'll admit that the documentation sucks
ah ok (=
i'm reading it right now, and i dont see anything that describes how to develop a realtime application
you could start by looking at how hal is implemented
but why reinvent the wheel?
classicladder does what you want it to, pretty much
just need to figure out how to get the numbers into hal
Well i don't know what hal is. :)
I think i miss some basic knoweledge.
Like what realtime processing really is.
mat is a good starting point also
[11:41:14] <fenn> http://mat.sourceforge.net/
realtime means you can suspend hardware interrupts
say you are running a process, and all of a sudden the hard drive needs to know what to do with its data
what do you do? help the hard drive or run your process?
if it's a realtime process, then it has higher priority than (just about) everything else
including other kernel processes
this is because the linux kernel itself is a process running in the rt operating system
so the kernel is "scheduled" in right next to your realtime process
Ah i read about that before. There are different concepts on doing realtime.
that's just how rtai is implemented
now do you see why the realtime application can't be just any old userspace application?
since basically all of userspace depends on the kernel for scheduling
Well i thought the realtime just means the kernel scheduling is optimized.
is this in the new 2.6.15(?) kernel?
* fenn doesn't follow kernel-happenings too closely
I don't know, i just thought it.
they are trying to improve latency in the standard kernel for stuff like audio/video
* chinamill is away: working
sourceforge is a little slow today
* alex_joni wonders about yabosukz again
he just removed some modules from the compile script..
and I'm wondering wtf he was thinking?
he probably thought classicladder was a real plc module
so what did he do with stg & m5i20 ?
probably working off an very old repository
damned if i know
g-code is so lame
i can't even believe people run cnc lathes with gcode
emc needs a new programming layer in order to be at all useful for robotics
that's why the interpreter needs to be interchangeable
but i think it will impact more than just the interpreter
for instance consider a robot with two end effectors
motion and kins is also a candidate
but more important task
and how emc behaves
kins needs to be updated to use arbitrary transformation matrices
motion will probably be fine, if you run multiple modules when necessary
i think each set of cartesian coords should have its own motion planner
like, one set of coords for each set of stacked actuators
so a live tailstock would need its own motion planner
since it can move independently of the tool bit
the confusion between axes and joints is particularly bad when you try to do lathe stuff
i see lathe threading as being different from coordinated motion as in a hexapod, because the part and the tool slide each have their own separate cartesian frame of reference
relative to the lathe bed
i will formulate a letter to the list when i am more awake
* fenn goes to bed
Is win2k a real realtime system? I can set some processes to process priority 'realtime'.
morlenxus: good one..
So it isn't really working?
realtime means highest priority
but even is usual latecy is good
some times you might have a task waiting for a few milliseconds
or even more
which totally busts RT performance
say you want to output pulses for stepper control
instead of having 500 pulses at 10 usecs difference
you'll get a whole bunch of them at a time
then some pause, then another bunch, etc
So the realtime is a fake from windows?
it does work but with a very severe hack to the kernel
* alex_joni wouldn't trust that...
especially because you don't have any documentation about the kernel
and you can break everything :)
there are some extensions to win2k
m$ released some XP embedded and 2k embedded, which are supposed to have some sort of RT in them
but .. I never tested / seen any of those
arg i can never sleep once i get thinking about something
luckily, thinking about the craziest part i could imagine doing on a lathe turned out to solve another problem i had
fenn: You said, "is this in the new 2.6.15(?) kernel?" -- The 2.6 kernels have real-time kernel preemption. It is my understanding that you can have user space processes that are flagged as real-time. (Solaris has had this forever.) That's why I'm lobbying to switch to support only 2.6 and above kernels. That would (1) obviate the need for real-time extensions, (2) move a lot of crap out of...
...user space, (3) make systems easier to build and install.
not by a far shot...
and emc2 works on 2.6
The issue isn't whether it works -- its whether you need to put stuff in the kernel that belongs in user space.
is pre-emption the same as hard realtime?
Herding cats is easy compared to trying to get this stuff organized. One person bemoans the fact that we lose potential users because we don't have threading for lathes. Another wants to move kinematic control to the .ini file. In my not so humble opinion, we probably have more user people who run lathes than run robots.
Preemtion isn't the same as hard realtime, but it might be required for it.
lerman: i think kinematics and lathe threading are a related problem
lathe threading is different from regular coordinated motion in that you have to sync two different sets of cartesian coordinates together
Older kernels start a 'task' and finish it to completion (also true for drivers under those kernels). While that is happening, the kernel can't do anything else. Preemption (more properly, kernel preemption) lets the kernel operation be preempted for a more important one. For instance, a core dump might be interrupted so that a user space process switch might take place.
it would be super-neato if all kinematics were defined as sets of 6x6 matrices; serial mechanisms would multiply simple matrices (containing for example the distance between arms) together to arrive at the complete cart->joint space transformation matrix
just ducking in for a second, but the "low latency" patches look like they only get down to the realm of ms, not us, latencies. see this graph: http://kpreempt.sourceforge.net/benno/linux+kp-2.4.6/3x256.html
Some of us tend to look for large generic solutions rather than simple special purpose solutions. HAL is probably a good example -- although it is not very large. Generalized kinematics might just be too big for most of us to understand.
yes, but that's what example files are for :)
it would help to clear up all this joint/axis confusion if every machine had a kinematics description
jepler_: I posted something early by Ingo Molar? (I'm not sure of last name) that described 25 usec max latency using 2.6 kernels.
lerman: who spoke about generalized kins?
and you could easily do stuff like correct for out-of square errors
* fenn is talking about generalized kins right now!
well.. besides fenn ;)
the thing is.. the kins stuff is only concearning the build/run process
no other issue in what jmk stated
you guys suck
let's stay on ground for a bit
you have to have easily-updated kins to do automatic calibration of hexapods & such
yes.. and I totally agree on that
i'm not gonna go edit a source file every time i re-calibrate the machine
the main thing is.. I tried to point out to ken that the easily-update-able kin stuff is merely a matter of a few minutes to do
Someone on the developer lis raised the issue.
yeah.. and like usuall there is more talks then it's needed
with that energy it could have been done a long time
Sure, you can change some 'constants', And I suppose you could add a matrix multiplication.
so .. where's the problem?
it's one thing to do such a change..
and the lathe stuff (although I have no idea how that should work)
That's for the easy stuff. There are probably some hard parts, also.
and another idea to change the whole concept of how emc gets run
lerman: don't think there are hard parts involving kins (at least not for the standard stuff)
and who needs the extra 12-strut oligopod shout take the fsck care of what he needs
heh i like that.. oligopod
or whatever it's called :)
lerman: the main problem is: how many developers you got?
I, for one, would like to see simple coordinate transformation built in. -- So I could clamp a part to a table, hit three points with a probe, and then just run my program that is written in normalized x, y coordinates.
well dammit that's what i'm saying lerman
that's a transformation matrix
are you not changing the relationship between cartesian coords and joint space?
ok.. will leave you guys to sort it out
The main problem isn't the number of developers. It's that unless you are willing to do the work yourself (and able to do it), it probably won't get done. (And I'm not referring to any particular 'you').
I totally agree
that's why I fscking hate people saying.. why it doesn't get done?
well.. maybe hate is a bit harsh (dislike)
It's tougher, though, when you see people who contribute in a big way (say, Jon Elson) asking for something. If he were to ask for something in the interpreter, I'd be inclined to try to include it -- because when I ask for something in his area of expertise, he might help there.
anyways.. I agree that it's ok for him to ask for lathe and threading
but asking if anybody did a driver for his hardware.. seems a bit .. strange
fenn: asked are you notchanging the relationship... Yes, I am. But it's a little more complex if the number of joints is more than three. Hell, if you just have both a knee and a quill on your milling machine, the game is very different.
to put it nicely
* alex_joni needs to go home...
will talk later
See you alex.
I'm going to work. See you all.
nice talking to you
lerman: I think his name is Ingo Molnar. I glanced in my scrollback and didn't find what you're talking about, though.
yes, Ingo Molnar is the guy maintaining the RT kernel patches
I found this, but in it, Ingo mentions situations where you can easily cause a "1ms blip": http://kerneltrap.org/node/5466
It has tables, but on most of them the units are unclear
the units are specified as (us) in the first column headers: Latency +/- SD (us)
geez this orocos stuff is really nice
well documented, object oriented, etc etc
For tests on kernel latency, see: http://kerneltrap.org/node/5466
-- 25 usec.
SWP_Away is now known as SWPadnos
jepler mentioned that :)
the thing that jumps out at me from those tables is the max latency numbers in the hundreds of microseconds
although it would be better for me to look at the -preempt tables :)
Yes, I was about to say that. :-)
this would be useful for servo update rates up to2 KHz for sure, 5KHz without too much trouble, and maybe even pushing 10 KHz if you're careful about phase errors
lerman: and here's what Ingo says near the bottom: many of the worst-case latencies relate to some sort of extreme situation within a particular algorithm. E.g. lots of tasks being around. Do this for example: "hackbench 50" and Ctrl-Z it after a couple of seconds. You'll see a 1msec (or larger) blip.
of course - that's with analog serovs or dedicated step generation hardware
1ms blips are probably not good even with servos
Oops. I missed that. :-(
1ms blips are only acceptable with audio (and that's only because of buffering)
those tables are from July, and a fair amound has happened since then
there have been some big threads on RT on LKML
Also, we probably won't be running thousands of tasks. -- But that's still an issue.
though it's nice to know that you could run thousands of tasks and not worry that you'll miss RT deadlines
as long as those deadlines are > 25 us :)
math question: is impedance the inverse of jerk?
good question. what is impedance in this context?
"The APIs cover: the instantaneous transformations of position, velocity, acceleration, force and impedance between the joint space and the Cartesian space of the kinematic chain"
just a hunch, but I don't think that jerk and impedance are related
jerk is a joint-specific thing, a change in acceleration on that joint (at least, that's how I've been understanding it)
jerk/force/acceleration/etc are all proportional when going between cartesian and joint space
I'd say related, but not proportional
(a straight line in cartesian space is actually an elliptical curve in cylindrical space)
unfortunately, they don't have "impedacne" in their glossary
ah - I think they're talking about things like cviscous clutches and that type of thing
look on this page:
[16:25:25] <SWPadnos> http://www.orocos.org/documentation/kindyn-doc.html
it has to do with force transfer
section 1.4 Kinematic Interconnections
even better, section 2.4 Nonrigid link and joint
one step ahead of ya :)
(I'm low on coffee :) )
well, impedance is the opposite of jerk, only if you'd also say that friction is the opposite of velocity
this is weird that i've never heard of this software library
yes. where have you been? you should be on top of these things
not enough funding!
time is money :)
it's been proved!
so they proceed from trivial kinematics to a full-blown physics model of a scene containing objects
blah phase 2 final report written and off. "I ain't gonna work no more this week"
well - tomorrow is Veteran's Day, so you should have it off anyway
reading the orocos stuff i see
les_w_away is now known as les_w
I guess Till pulled the emc page that made improper reference to it
hope he fixes that soon
want to see it
does jon elson do any development?
yes, as time permits
but from what I've seen, mostly on his own drivers
I think he's a better electrical engineer than a programmer :)
I, for one, am pleased to say that I do the stuff that I need.
(And/or am interested in.) :-)
I'm sure most of us are like that
need is a relative term
I need lunch. I want sushi. :-)
oooh - that sounds good
tuna, mackerel, salmon, eel - mmmmm (maybe I'll head down to the store)
I'll have left over pizza (cold).
heh - can-o-chili, anyone? :)
I wish touchscreen LCDs weren't so expensive
Earth LCD has some relatively inexpensive ones I've used.
15" and up, like monitors?
See the marmalade product.
No... 7.8 inch.
I used it for development, then went to an 8+ inch TFT display. The DSTN (I think) display they had wasn't bright enough for use in an operating room.
heh - need good visibility there :)
Well, it was visible, but didn't pop out at you. Sometimes pizzazz is necessary to sell a product (even if it isn't needed to use it).
they do have some 12.1" touch PCs - could be useful for a kiosk project I have in mind
like an animated heart beating (next to the BP / heart rate numbers)
Hell, add an ultrasound probe and you could show a live heartbeat.
but that's monochrome - no pizzaz
add a doppler probe for extra pizzaz
And the average touchscreen LCD will have the crap beat out of it in a kiosk.
As will the average non-touch LCD in a machine shop.
this is for an in-store consumer information display
not some outdoor / airport internet kiosk
I was thinking about that - how do touchscrens hold up in a machining environment?
Once a consumer can touch it, it's toast unless built with vandals in mind.
with non-touch, you can use screen protectors
yeah - I'm looking at stainless steel KB and mouse, even for my machine controller
I'm using a Xerox 17 inch LCD on my EMC system. It has a built in glass cover plate. Looks real nice.
some touchscreens use infrared finger-sensors
My machine controller has a cheap rubber keyboard. The old one died of the chip disease.
Yeah -- non-touch for my Xerox.
those are (were) pretty low-res (in terms of determining actual finger position)
I like this, but it's a bit expensive: http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=5827527756
and no F-keys
that's very neat
yeah - if you look at his other items, he also has just the trackball (but it's $67)
Are etched keys the same as double shot molded?
Ah. I didn't catch that the keys were also stainless.
I think etched just have the legend on top, whereas double-shot molded have the legend molded in - you can still read it if the keycaps get worn down
yeah - even the ball is apparently stainless
funny how shipping costs go up with price
yeah - it's like insurance is 10% of the product value :)
i have a rubber keyboard and don't like it at all
have to push really hard on the buttons, and they flop over instead of going straight down
I bought one also - $20, so it's a throwaway.
there were two types where I bought mine. One worked well, the other, even though it's almost identical in construction, was hardly usable.
sounds like a capacitance switch
what does? the keyboard?
yeah, if all SS
nope - look at the ebay link. it's stainless keycaps (probably on a standard resistive mat keyboard)
cool, other than USB
and the lack of F-keys
fenn: yup. the rubber keybaord is NG for typing a lot. But I do my programming in the office, so the keyboard gets relatively little use.
screw it, get a roll-up kybd instead. cheaper
those can suck
(see 9 lines back)
I bought at Micro Center in Boston. the small keyboard (without numeric keypad) was terrible
I kept the full size one, because it seemed like you could actually type on it
SWPadnos: Well then... learn from the arcade industry... http://www.ultimarc.com/ipac1.html
yeah - if you want good controllers, that's the industry to look at
surprisingly, there's a stand-up arcade machine available at Costco
uses MAME or something, has 81 arcade games in it
not bad, if it's not "locked" system.
supposedly upgradable to 200+ games
licensed, even :)
here's the tabletop version: http://www.costco.com/Browse/Product.aspx?prodid=11041445&whse=&topnav=&cat=&s=1
hmm - loks like it's only 50 games (a friend told me 81)
I think most of those games are not in the public domain
I wonder how they got permission to include all of them
no - but this has licensed versions of all of them
cradek: Just like older movies, residual licensing. Doesn't make any money sitting in the file cabinet. Especially when the kids want newer games.
yep - if you can make $3 per game, you're doing better than $0 per game
OK - it's oil change time. see you later
SWPadnos is now known as SWP_Away
I see Dr. Sep kiani posted on the user group
he is faculty with Alex Slocum at MIT precision machine group
They kinda "wrote the book"
"are writing the book"
Wonder if they are messing with emc
i doubt it
sep mentioned that he had some chinese mill he wanted to use emc with
that was several months ago
wish they would put it on something high speed...then they might help fix the TP!
les_w: have you looked at orocos?
oh that reminds me
Want to see what Till did with it.
made a bastardized version of their trajectory planner
not much...I am off for a couple days. Grinding up leaves with the tractor.
fenn: explain it a bit more
i'm just reading up on the trajectory code in orocos right now
a generalized robotics/kinematics library/application
hard to say exactly what it is
is it fast/good
the code looks nice
i havent looked at the tp code yet
(if there is any)
i see a lot of octave stuff, i dunno if that is supposed to be run interactively or what
octave is an opensource matlab I think
[18:23:38] <fenn> http://www.orocos.org/documentation/interpolation-api.html
les_w: are you still thinking about going the dsp route for PID loops ?
fenn: that looks like a jerk-limited tp
the next step in 'smoothness' is double-jerk limited
jerk-limited is ok
i think i can live without double-jerk limited motion for the next couple hundred years
has anyone tried/seen both ?
i've seen some movies on the internet demonstrating jerk limited
not seen how double-jerk is useful
the math for the jerk limited tp is not that hard
although writing that in c isnt as easy ,)
just need to satisfy all the boundary conditions from one segment to the other if you want to do lookahead
I think a lookahead planner needs to always plan until the middle of the last move in the buffer
you guys should have a look at some toshiba papers..
then when moves get added to the buffer you complete the move and again plan to the middle of the last move in the buffer
etla: sorry...was reading the octave code
I got some off dmess earlier
I'll look them up if you remind me after I've had dinner
I will go any route that willlgive good servo update
i was looking at orocos to implement generalized kinematics
I still have no Idea really why emc has to be so slow
so what are the servo update rates with different emc-supported hardware right now
servo-cards I mean
They SEEM to max out at about 2kHz (allaxes) with any box and hardware
We have seen old boxes that run emc a little faster than newer ones
ok, and in your opinion, what's 'good' ?
Well, 10k is pretty standard for HSM
about 5 times better
a number of motion boards can do that
they are motion boards...not machine controls
galil accelera is an example
as is dynomotion
Hey, Les_w: Here we go again. Anyone knows that it is pointless to argue about how many angels can dance on the head of a pin. -- You have to get out there and count them. I'd like to see someone do some real measurement/analysis of where the time goes in EMC.
These are about the price of an STG card...or a little less
Paul and I only had 3 machines to test..all pretty old due to the requirements for ISA
lerman: how would you suggest going about measuring that?
I would like to see more benchmarks too
I've heard it said that the pid loop takes roughly the same amount of time (400usec) on a 400Mhz machine as on a 2 ghz machine. Why? Where is the time going. Unless you know where the time goes, you can't intelligently hope to make it faster.
there's a big black timehole
that sucks time from you
another one: kontron
Well, gprof could be used for non RT stuff. I'll bet if you knew what you were doing, you could make something similar work in a RT environment.
[18:38:29] <anonimasu> http://www.cs.utah.edu/dept/old/texinfo/as/gprof.html
les_w: if dedicated hardware is going to be any 'fun' it needs to run opensource sw...
lerman: did you look at HAL stuff?
there are some hooks in it that determine timings
of the threads running
"man gprof". (I think it is for graph profiling). A previous program called prof simply showed what percentage of time was spent in each function. Gprof looks at the call graph and determines on whose behalf the time was spent.
None of the two card manufacturers I talked to had any problem with open source SW that uses their product
I've just skimmed parts of HAL. I don't have an overall view of how it works (internally), although I've been familiar with the concept for about 30 years.
well.. halscope & the mentioned hooks provide some helping stuff to determine where time goes
les: how advaced are the onboard trajectory generators then ? or did you mean completely rewrite the firmware as opensource
it just needs someone to do that
Paul and I just incrementally lowered the servo time till funny things happened
the non rt stuff typically went wacky as the rt thread used all the resources
much further and it would just lock
and yo got to around 2kHz ?
the kontron will give you Windows NT support, win2000 coming soon..
so I guess linux is out of the question
400 microsecond is the best we got
for all RT
not only servo update
a_j: what do you mean ?
well, again, we did not test newer fast machines due to our STG requirement.
etla: lots of stuff happening in RT
not only servo-updates
Paul seemed to think there would be no improvement beyond a few hundred MHz
well the whole rt thread
I've heard that message, but I'd like to know why that happens.
lerman: too complex architecture
Just what aspect of a machine that is nominally twice as fast causes it to not be any faster.
and you need worst case performance
because if you miss one RT deadline, the machine is locked
it's not like going 100% in 98% of the cases
so caches, pipeline, etc don't help
it's more like going 60% in 100% of the cases
les_w: those make it WORSE
a common P4 has a 20 stages pipeline
a false branch prediction, and you can sit for 20 cycles for it to load again
Is anyone running EMC on non x86 architectures? Say a RISC processor? How fast do the power PCs run?
sounds like a glum outlook for emc in pcs
les_w: not glum
a P4 still runs twice as fast RT stuff than an old PI
PI-100 compared to P4-3000
maybe more than twice.. but not 30 times faster
With the right tools, you would see which branch predictions are wrong and fix them.
even normal (usermode) stuff doesn't run 30 times faster
lerman: kidding.. right?
emc3 will be programmed in asm :)
fenn: asm is not good
Is anyone running servo emc on a newer fast machine?
what about Dave?
even if you do it in machine code.. still not gonna help
the whole point is.. why do you have if's in your program?
because some data is simply run-time dependent
like feedback from the machine, etc
you can't PREDICT that
No. People DO write hand optimized inner loops that worry about proper branch optimization. That's why it is important to understand where the time is going. If 80% of the time is going to a small part of the code, you might be able to optimize it better.
lerman: I agree on that, but not on "see which branch predictions are wrong and fix them"
hm, the only way to solve it is to get more _data_
every point in the program where you have an if, or an while or whatever involves a decision, implies a branch and a branch-prediction
the branch-prediction is done in hardware (a special part of the processor) which looks at current op-codes, and remembers a few past ones
and then it uses silly little tricks to take a shot about where the program should go
* alex_joni read an article a few years ago about P4 processors
just as they were released
You can see where in your code the compiler predicts the branch one way but you KNOW that 90% of the time the branch will be the other way. That could be important in an inner loop. Yes.. it's done in hardware. But can't you force it to expect a particular direction?
it's not compiler-time
it's run-time inside the processor
so, if you choose the wrong path it results in like 20 cycles, which is about 20ns, so what?
[18:55:01] <alex_joni> http://www.x86.org/articles/branch/branchprediction.htm
i doubt the servo loop calculates (400us/20ns) wrong branches each loop cycle
fenn: but you need to multiply that with the number of branches..
when the P4 first came out, a processor doing nothing wasted 30% of it's power on wrong branch predictions
also, another big problem
the CPU caches (L1 & L2)
you don't have control over the methods to swap out data/code from the caches
so if you got an cache miss.. you get to wait till the data is brought from memory
in that particular case it takes more time then if you would have gotten it directly from the memora
I wonder how many are actually physically controling servos with emc
and what they use
only a few I think
I'm only at the planning stage...
Dave, Abdul, Me, john E.,...
trying to think of anyone else
yay..the new Prescott has 31 pipeline stages
les: did you say dynomotion kmotion card has a G-code interp onboard ?
it uses the emc code on the host pc
les_w: think mshaver too
What does the phrase physicall controlling mean in this context? You do need an interface. I'm using John Elson's UnivPWM boards. Does that count as using EMC to physically control the servos?
jon could probably give you a list of customers if you asked the right way
tlerman: yeah that counts I think. If the pc is taking in encoder pulses...it's full servo
les_w: then a DRO board makes it a servo?
even when running steppers?
hm, why not?
having the postition PID loop run in emc I think is the issue
does the univPWM do this?
How about if it is closed loop (using DRO) but not PID (using steppers)?
I think pid in the pc defines it
"if they increase the clockspeed to 4ghz by lengthinng it to 30 piplines then it will have a lower ipc meaning it will perform about the same as a lower clocked p4 with a bigger ipc number right now the pentium 4 is 6 ipc i think. Correct me if im wrong. so if they increased the pipeleght by 1/3 to get from 3 to 4ghz then the ipc will be 4."
so... a P4 - running 2GHz is actually doing one instruction every 6 cycles
what about amd chips?
it easily adds up
No... increasing the length of the pipeline doesn't affect the instructions per clock.
The whole concept I think with emc was to run pid loops for machine control in a pc with only dumb io
lerman: care to explain why not?
les: did you know the dynomotion manufacturer ? I'm interested in something like that but not the (too small) power-amps
Yes I know the developer/manufacturer
and yes the small servo amps could be depopulated
He also has one with fewer larger amps as well
Each clock, another instruction is entered into the pipeline. Each clock one part of the execution of each instruction takes place. At the end of 1000 clocks, 1000 instructions have gone into the pipeline and 1000 have come out. The instructions per clock depend on how many pipelines run in parallel.
However, if you have a long pipeline and you have to restart it, that can affect the average number of instructions per clock for a real program.
yes.. also having dependencies in the instructions
one instruction waiting for the previous one to finish..
also lots of troubles
like I said.. recent processors are designed to be very fast in most of the cases
but you cannot do RT like that
The entire TP also runs in real time, right? What about the inverse kinematics?
if you are doing REALTIME, you need to get the results when they are needed
les_w: that too
a lot of stuff.
but with trivkins that's only one instruction/axis
les_w: I agree, what we discuss here is only the tip of the iceberg
there is a LOT of stuff that needs to be done..
and sooo little time ;)
even at 5GHz, I can't type any faster :D
so.. I'll be the limiting factor :)
should'a picked AI instead
same is true for harddisk access..
if you need the data and you look for it in a cache,
it's not there (cache miss), get it from memory (not there either, has been swapped out)
you're in deep SH*T
can't swap out rt stuff because it's kernel memory
fenn: true for RT stuff..
but move it to user-space .. as you? suggested earlier?
if you try hard enough you can break it
* alex_joni doesn't usually break things
I leave that for the users..
and boy do they break things..
(lerman wanted to do everything in userspace btw)
fenn: sorry.. thought it was you ;)
lerman: I am exagerating a bit..
it sounds like something i would say
but only to prove my point..
I agree that maybe one day it will be doable.. but right now it doesn't look like that
03alex_joni * 10emc2/src/Makefile.inc.in: restored the removed driver-configs
hmm.. seems I remembered it right: "Normal processors can waste up to 30 percent of their time recovering from mistaken predictions..."
* fenn wonders why anyone would buy the servotogo if the kontron is only $100 more
[19:20:06] <alex_joni> http://126.96.36.199/search?q=cache:d_odnSMgkzYJ:reviews.zdnet.co.uk/hardware/processorsmemory/0,39024015,10003237,00.htm+processor+branch+prediction+p4+waste+time&hl=en&client=opera
fenn: dunno ;) maybe because it's supported, and has open-source software?
the kontron seems.. forgotten
Fenn: years ago it was the only game in town for emc
the STG surely is ;)
kontron, etc are not turn key machine controls
and, for HSM you want some fancy trajectories and lookahead etc.
I'd not be happy with at tp that does only exact stop moves
so you need to have a flexible interface btw. the PID hardware and the TP which could run on a pc
I can do HSM up to the new spindle's limit with long lines and arcs
how fast is HSM?
* alex_joni did some welds on his robots with 3-4m/min
is that HSM ?
but for any kind of contouring, like v carving or molds and I have to slow to a crawl.
alex_joni: want me to get a exact figure?
HSM is usually considered 1g acceleration
hold on a little bit
I designed for one, but derated to 0.5 for x. Y and z can do multiple g.
depends on material
so we'd need a servocard/DSP which has opensource firmware in it.
so that the machine control, running on a pc, can communicate arbitrary trajectories to it
cutting speed about 1000m/min for alu
that's where it begins..
sure that's not surface speed?
that's 16 m/sec ??
~3000 - 5000 is suitable..
I see the cards like the accelra send things like buffer half full flag
anonimasu: that's mm/min not m/min
that's what the machinist handbool says..
alex_joni: no m/min
machinist handbook talks about stuff like the speed of the cutter, not feedrates
les: in the polynomial schemes, i.e. jerk-limited or double-jerk limited, you'd need to send only two numbers, a time-period and a jerk/djerk value
so divide that by the diameter and rpm, and you get feedrates
that defines the trajectory
that's cutting speed..
the reason HSM is better is because machining forces go down with increasing surface speed
so communication would be maybe one 16-bit time value + one 32-bit jerk/djerk value. you need 8 or 16 of those per segment depending on jerk/djerk-limited
until you reach the speed of sound in the material being cut, and then machining forces become negative
well, on most of the dsp cards the tp is run on the card
looking at galil optima
rec.crafts.metalworking is one interesting newsgroup
you send it Galil language...not unlike rs274 but more versitile
but only 2000 lines can be held
you would have to specify feed,acc,jerk at beginning and end of each segment also ?
on the dsp cards?
[19:32:16] <les_w> http://www.galilmc.com/products/accelera/dmc18x6.html
you just send a destination. blending stuff is modal
it does the TP
so have anyone tried running the test spiral on a faster machine?
alex_joni is now known as alex_joni_away
I think not
ok... but galil is a little $teep...
relative, etla. It's about the same price as an STG card.
if you buy a hundred ??
let me check
if you know the secret handshake
right 100 is 995. 1 is 1895
well, an opensource servocard/board would be nice
In talking with them I think I could get a serious break.
PCI boards are hell to design
there's the 5i20, which is only $200, but I guess the 200k gate fpga is a little limiting
although there's vhdl for a 4-axis motion controller available
the dynomotion and others seem to be in the $900 or so unit cost
have you looked at http://www.mesanet.com/pdf/motion/softdmc.pdf
the vhdl is distributed with the card
and apparently xilinks supplied the compiler for free
This stuff is not hobby material, and most emc users are hobbyists. So realistically nothing is gonna get done as a hobby activity.
yeah have looked at the mesanet. Has promise
I wonder how full/used the fpga is by the current softdmc
however if EMC cannon.cc or whatever was spitting out commands for one of these cards it would be a killer PRODUCT
closest closed source commercial stuf is thousands. Just for the Software.
it can't be that hard :)
I'd still think that the trajectory planning would be best done in the pc
I don't think it would be for a programmer
and then the interpolation, coord transform, and PID would be on the card
what would not be for a programmer ?
It would be fine to do it in the pc.
It's just these cards just do a pretty good job on their own.
I think I'll get one of the 5i20 boards since they are so cheap.
and the source is available
and the compiler
only drawback is that it is fully digital
so servo amps need to be controlled by pwm duty cycle
what's wrong with that?
no problem at all there
hmm... I don't know, I guess it's ok
pwm decoding should be pretty straightforward in digital drives ?
etla, PWM demodulation is just about a nothing thing.
or do they lp filter and treat it as analog ?? :) I hope not
then there's the issue of resolution
say the servo loop runs at 10 kHz
then the servo torque command pwm has a frequency of 10kHz also ?
that depends on the vhdl doesn't it?
sure, but in principle, wouldn't that be ok ?
Well my analog amps have a BW of about 3 kHz as set. PWM frequency is 22 kHz I think.
PWM frequency should match your FET's or whatever
what I'm getting at is that the servo drive that decodes the pwm command from the controller needs to run at quite a high clock frequency
I'm not talking about the pwm command to the motor coils
I'm talking between pci card and servodrive
for fancy 3-phase ac servos that can't be the same thing
les: I understand what you say, although the servo loop runs at 10kHz the reasonable bw of the amp is not that high
anyway, with a servodrive (dsPIC based) running at 30 MHz clock I would get about 9-10 bit accuracy for the torque command
would that be enough ?
right. It needs to be twice the BW minimum.
10 bits is enough I think.
the AD for monitoring the currents in the dsPIC is 10-bits so no point in going much beyond that
the stg is 10 or 12
I think 12
lower would icrease following error at some point
smooth curves get more zig-zaggy
A big issue with emc is that trajectory rate is linked to servo rate.
some integer fraction
for pwm with 10 kHz frequency I calculate 3000 clocks at 30Mhz, so should be "11,5 bits"
when requested motion is faster than that the algo breaks down
explain trajectory rate
block read rate
but realistically you would not want a segment (movement) that is shorter than one servo clock tick ?
ofcourse there can be other blocks...
segment length can be as short as 2 servo cycles in emc.but if that is done, the cubic sub interpolation is effectively shut down
typical is to run a trajectory point every 10 servo cycles
so 4 millisecond for each segment plan
how did you calculate that ?
10 * 400 microseconds
right, but at only 2.5kHz servo update rate
* fenn falls sleep...
yes. So that is the fastest ...at least for me.
ok, nice talking to you, I need to eat/watch TV now :), let us know on the emc-users list if there is high-performance servo hardware that many people are buying for use with emc. would be nice to have the same.
I will create a post about that.
* alex_joni_away really needs to try this: http://www.zippyvideos.com/4005959911974226/colaandmentos/
alex_joni_away is now known as alex_joni
les_w: any idea how PID gets done?
newratio = ratio + P * (ratioerror - lasterror + I * ratioerror + D
>> (ratioerror - (lasterror * 2) + last2error));
how does that sound?
? define your variables.
well in the most general terms
the contol output is the sum of
the value of the error
I meant if the formula sounds right?.. it does sound ok to me
plus the value of the time derivative of the error
plus a value equal to the error magnitude time the time the error has existed
with a torque command the P is just like a restoring spring
the d is just like a damper
and the I is kind of like a restoring spring that gets stiffer with time
les_w: I know how a pid works
so force= P*error + D* derror/dt + I * integral (error* dt)
art is right...PID seems not to be his forte.
typically in a digital system d is differences of moving averages,. rather than an unrealizable ideal differentiator it is practically a band pass filter.
Similsrly the integral in I cannot be allowed to wind up forever, or the control will saturate. So it is a bandpass filter too. It does not go to dc.
If the pid feedback in in a real system with resonances there is a limit to the gains to keep enough phase margin to keep the system stable. With too much gain the control will alpply the correction out of phase...in the wrong direction.
so you still think emc has problems?
Feedforward does not suffer from that limitation since it is an open loop model of the machine dynamics.
seems the competition has even deeper ones
yeah many have problems.
so I think we should focus on the serious ones
I was imagining a machine with let's say a bit over 100 hz bandwidth
that means commanded sinusoidal motions of 100 hz can get through the system and move the end affector.
les_w: more serious (= drivers, stability, functionality)
now, a circle is sines and cosine so such a machine could cut a circle 100 times a second
so lets do that in emc
with a g2 or g3
It will do it...the diameter it can cut depends on the max velocity.
Now let's approx that circle with g code of a number of points on the locus of the circle as cam systems often do
you need at least two points
but typivcally much more
say 4 for a very bad approx.
We will try some thought HSM
at 100 hz, that needs 400 hz block rate
2.5 millisecong period
typically emc cannot do that...it is more like the 4 millisecond I mentioned earlier.
What does it do?
It violently stutters about
because the velocity algo has broken down
now it was intended that emc slow down the circle till the points need more than 4 milliseconds each.
But it does not do this!
There was code that was supposed to do this....but it had a very bad math error that created those nasty accel spikes.
we #ifdefed it out
les_w: did you ever call about that?
the math error spikes were improved...mostly eliminated
but so was proper velocity adaptation
no I got busy from the suit visit.
Tx for reminding me
I will call right now!
he is away
didn't want to leave a message...better to catch him there
I'll try again
are they off tommorow?
So...with arbitrary curve and radius of curvature that must be decribed by segments...there are some serious problems.
It can be improved by upping the servo rate which ups the trajectory rate
or fixing the velocity adaptation
or even better...both.
Hmmmm. v-cutting aluminum
err carving I mean
I'm thinking about it
i'm all eyes
Not sure about tooling though
nor rpms and feedrates
slow....not sure how much
I think my biggest issue would be cooling
squirt gun at 20 paces?!
air gun on the cutter at the very least
air gun or air exhaust from router motor?
air gun. I have a high pressure air nozzle on the head
blows chips packed in grooves to
(also blows them away from the vacuum pickup)
carbide tipped v cutter (as used on wood)?
The thing I would LOVE to do is polish the aluminum to a mirror finish, but no buffer available =(
03alex_joni * 10emc2/src/Makefile: added some docs
03alex_joni * 10emc2/tcl/bin/ (emccalib.tcl emcdebug.tcl emclog.tcl): change the way emcsh gets run in tcl scripts, so that an installed version gets found
ok... med rare
hrmm.. seems rayh is not around today :(
alex_joni, he was on pretty late last night - he may be catching up on sleep
SWP_Away is now known as SWPadnos
right.. so was I
(though he did just post a message to emc-dev)
and.. so should I (catching up on sleep)
heh - so you were (just a different time for night :) )
yeah.. seen that, that's why I am waiting a bit longer
what time you got over there?
don't think anyone is sleeping that late :D
although I did once ;)
heh - he may just be "tired of it" :)
he's an hour before me, so it's only 16:26 for him
do you know if anyone has tried ADEOS on (a) Opteron machines, or (b) SMP machines?
(or (c) SMP Opterons ;) )
don't think so
hmmm - I'm not sure I want to be the first
SWPadnos <--- poultry
because I'm poultry :)
yeah.. be carefull with that chicken fever lately
I actually want the machine to continue to work :)
I had tried installing BDI 4.30 under VMWare, but the SCSI problem bit me
SCSI?! That relic POS still being used ?!
* Jymmm snickers *
no - VMWare just makes the guest *think* that SCSI is being used
(it's actually an SATA drive)
sounds like you need a updated driver
it's kind of a bummer. you can set the CD-ROM emulation to SCSI or ATA/IDE (and point it at a physical device or an ISO image)
but you can't set the hard disk hardware emulation to anything other than BusLogic or LSI Logic SCSI
it's not a driver issue (except on the BDI install)
well, that sucks.
I think there were some discussions about using BDI on SCSI systems
yes, because I have a stomping fast machine that I'd like to use for EMC development, but I don't really need or want (and may not be able to use) an RT kernel on it
I can't think of any benefit to that, unless some scsi card comes with a parallel port =)
SCSI is parallel, just a lot faster ;)
I have scsi cards that have a floppy connector
I have about 6 SCSI cards sitting around, everything from an ISA card that I got with my first CD burner, to a 3-channel RAID, to a U160 dual-channel card, etc.
and a tape drive I can't use, because the eBay seller was wrong, and I didn't research it far enough
I have a 8bit ISA scsi card. Top that! HA!
yes - 8-bit ISA card, no BIOS, for the CD-RW (this is *the* original CD-RW, the Ricoh MP-6200S)
no bios?! what a POS... this one is completely bootable and has a floppy port too =)
see - mine sucks more than yours :P
my new machine, however, doesn't suck much
I finally managed to get something good (though I'll probably have to upgrade the CPUs to the latest stepping)
SWPadnos: Since you seem to have alot of things that suck, I'm thinking you either have a ShopVac or a Hooker on your christmas list this year.
I have the shop-Vac :(
check out this motherboard: http://www.supermicro.com/Aplus/motherboard/Opteron/nForce/H8DCE.cfm
oh no... I don't look at PC hardware... just gives me a headache anymore.
20 years is enough for me.
you're not a Dell fanboy are you? :)
Dell desktops are ok, laptops are POS.
I just don't like the fact that they refuse to sell AMD and Linux systems well (they have both available from time to time, but never with the push behind Wintel)
Well, unless my system dies, I'm not buying a desktop unless the bitch can support 8GB ram, and 2MB+ of L2 cache
prefer 8mb L2 cache
My system supports 32G ram, and the processors each have 1MB on-chip cache (per core, if I use dual-core)
plus 8 SATA channels (and the hot-swap bays to use them)
SWPadnos: See, only Xeon aand 7xx cpu's have the 2mb cache - bastards.
SWPadnos: The Intel Pentium 4 700m series cpus (mobile)
the Opterons work just fine with "only" 1M - I think it runs at full core speed, whereas the P4 runs at half speed (I think - it's been a while since I looked at that type of spec)
1.8GHz 745M ~= P4 3.2GHz
1.8GHz Opteron ~= 3GHz P4 as well :)
SWPadnos: Get you paws on a cpu with 2M, it FUCKING SCREAMS!!!!
SWPadnos: Had one with 2GB ram, so turned off the swap file in XP.... ZERO delay
I have to use earplugs with dual opterons as well (from the screaming, not the fan noise :) )
I haven't put any good benchmarks to this one, but it's a dual Opteron 244 with 4G
do you have anything that can utilize the dual cpu?
(7800GT graphics, 300G SATA HD, SATA DVD+-...RW, and dual Dell 2405FPW monitors)
truely utilize it
I'll be writing code that does
massively parallel image processing
(or code that could be massively parallel, if needed)
I guess that's cool. It does my no good in crypto work.
de-crypto (cracking) would be sped up, but crypto - maybe not
though each block is usually independent, right? (depending on the algorithm)
not even brute force is effected THAT much.
eff would care to differ
not to justify the cost of a dual cpu machine that is.
SWPadnos: what kind of image processing are you doing?
SWPadnos Well, dual cpu and distributed processing are totally two different things there =)
rotation, color correction, and scaling on 100 images at a time (5MP each)
also raw -> (other) conversion
SWPadnos 7800, is that ATI?
ever seen "The Matrix"?
no - NVidia
sure, I've seen it.
SWPadnos how is of DV ?
SWPadnos how is it for DV ?
good question - I haven't gotten that far yet
what about 3D rendering? GL ?
this project is a digital version of a Freeze camera - the thing used to do "Bullet Time"
GL is *FAST*
close to 12000 FPS in glxgears
lol.... I can only get 12FPS if it's 600x600
are you using the gl hardware in the image processing pipeline?
I might - that's one reason I got a good video card
I get around 1300, and I thought this was a fast card.
seems to be a FX 5700LE, which I suppose is old by now
the 7800GT (PCI Express) is a pretty fast card, as is the Opteron 244 (both of them)
jepler not as old as mine is =)
What I really like is the dual 1920x1200 monitors on DVI - very nice looking
ok.. going to bed now
nighty or noghty ..
hi guys... I just got my servo motors from surplus center... they look very nice... wish I had bought more
I wish they didnt sell mine.
I bought 3 of the 300w ones... they are about the size of double stack nema 34 steppers
I noticed they were all completely gone
hmm. I had looked there (and even bought a couple of motors for experimentation), but nothing seemed big enough
or "servo-ish" enough
yea, I just checked.... they have quite a few 100w ones left but they are kind of small
(expecially for a Bridgeport)
very small for a bp.... would be good for a maxnc or taig or similar