maddash better get that guy out of there before he cracks the lens!
toastyde1th is now known as toastydeath
ndd out where that video about fax machines was...
i found out where that fax video explantion was
it was a stream url and pointed to an episode of 'the secet life of machines'
the vid stream is available via mplayer -autosync 30 http://22.214.171.124:8000
the same 2 brits are explaining radio now, and playing with a cats whisker and lump of gallium arsenide for an xtal
i used to do that, and get QSL cards from south america
secret life of machines was a really great series
I watched every one
tomp: We have these things called VFO's now =)
I know the Wiki says Don't upgrade to 8.1 - but will SIM work on 8.1 without
sim will run on about anything
This is to try on an Eee PC with the Atom CPU
package dependencies may have different names, or may get screwed up by newer versions that are already installed
don't use the packages. build it from cvs.
yes, that's a good idea
though those package names may also change, or get screwed up by newer versions that are already installed ;)
I fell for the sucker model they build for best buy & Target - onlt has a 4gb SSD and the OEM Xandros load takes up all but 398mb
Then as soon as it connects to the net it grabs updates enough to fill the remaining space... and your bricked.
oh - SSD. I was wondering how they got a single-digit GB drive :)
so its going to get purged with eeebuntu
which using the base install leaves 1.7gb free
hey - I could not bet the price, an in store un-advertised sale had it for $199 and I had a $25 gift card to burn.
what size SSD is it? (physical size)
its a 4gb
physical, not storage
1.8", 2.5", 3.5" ...
well its about the size of a laptop dimm
[05:45:53] <Skullworks> http://www.mydigitaldiscount.com/ProductDetail.jsp?LISTID=800008DA-1224129631
hmmm. that may be a 1.8"
it's not a pseudo-hard disk at all
neet thhing is the new aftermarket high speed units have dual USB on the card so you can pre-image the SSD
huh. that second row of figures doesn't look so good for the new one
its a comparison
the number in the "2k" box in the second image is very low
it looks like the 2k through variable boxes are reversed or something
but if that's the case, I'd have to wonder about image editing ...
not sure - I just figured out that most these micro SSD type laptops use 2 SSD one high speed for O/S and cache - the second a larger slow SSD for storage.
Except this one I got is a totally striped down unit
Sustain Read Speed up to 75MB/s
Sustain Write Speed up to 55MB/s
thats the Fast stuff
then there is the storage grade
Sustain Read Speed up to 35MB/s
Sustain Write Speed up to 14MB/s
is the high capacity storage a standard drive form factor?
no - same as shown
for this unit
at least there's an aftermarker
but they do have cards fitted into standard chasis size units that are either PATA or SATA pin out
these cards have the mini PCIe edge connector common in many of the new laptops - often used to install 3G cards
Hi. I'm trying to develop a motor control application for a personal project and was hoping that studying EMC's source code would help. I'm specifically looking for the algorithm which ensures that axis or joints are coordinated (such that say an XY table can move in a perfect diagonal line because the motors are not driven independently). Do you have any suggestions?
the EMC2 source is probably not the easiest example of coordinated motion to study
Fry's has what looks like a 2,5" SATA hdd, but it really holds two CF cards and can do RAID1 on them
Gustavo_G: Would a simple encoder ratio be sufficient? (electronic gearing)
I have a fairly clear understanding of how to coordinate two axes. I can use a PID to correct the error (defined as the difference between one axis and the other) by outputting a positive offset for the slower axes and a negative offset for the quicker axis. I don't know how this applies to more than two axes and I think it moves into MIMO territory.
From what I understand, electronic gearing contains a passive device (the encoder) and then the output device (which also has an encoder) the process ensures that the second encoder matches the first encoder, right?
or matches via some ratio, like you mentioned.
Skullworks: I dun know, my IdeaPAd is pretty quick with a hdd in it
not sayin Hdd's are slow
Skullworks: and I aint paying $100+ for 32GB neither =)
it's $75 at NewEgg, but not as fast as that one claims to be
SSD's are just too new for em to trust any
they've been around for close to 20 years
SWPadnos: they've only been mainstream for the last year or so
they just cost a hell of a lot more, and had a hell of a lot less capacity back then
Gustavo_G: Yes, and in your example, I would guess that you would not be using one PID to correct the error between one axis and the other, but rather two PIDs to correct the error between the measured (and calculated) positions, and their actual positions
for me - I got a unit where O/S took up 90% of available storage - then went and grabbed updates that filled the remaining space
Thats got to go
Gustavo_G, the way EMC2 works is to have one layer of the program that calculates positions for all joints, and then a lower layer that makes sure the joints move where they're supposed to
If one joint stops moving, the others continue to move?
it's pretty easy to figure out where two (or more) joints are supposed to be for a linear move - they all should be displaced by a constant amount per time period
no, if one stops moving, and you're using a feedback system, then the entire system will stop
if you use steppers (or any other open-loop control scheme), then EMc2 has no way of knowing that a motor has stopped, and will continue to chug along as though everything is still working
From what I just understood, there is a layer which does position control at a low level. And then there is a layer above that which generates the "trajectories", if you will, of each joint. Where does the "inter-joint" feedback come in?
but even with the stripped model batt 4400mAH verses the standard 5800mAH I still got 4hrs 48 minutes of use out of it today
there is no inter-joint feedback
at the lowest levels, wach joint has a commanded position
There is only feedback
the fact that those positions were caluclated in a coordinated way makes no difference
and if the error in that system reaches a certain threshold, then the system halts?
like the error in an individual joint
if you're talking about slaving one joint to another, that's another question
yeah, I want to slave one joint to another, but I want there to be a relationship the other way too.
I think it's individual joints only, but you could make an overall comparison also
I envision it would kind of work like a haptics feedback. If one joint can't move, then the other can't move either.
sounds cool :)
EMC2 "slaves one joint to another" in (mill) rigid tapping and (lathe) threading operations
if hte spindle goes backwards, the joints won't back up. they'll just stop until it gets back to the spot it started reversing
and then they'll try to keep up with the moving spindle again
Gustavo_G: See! If you want to know how EMC2 works, these are the guys to ask!
but it's strictly a one-way street - the other joints are expected to be able to keep up with the spindle motion. if they can't, then you'll either get a following error or - uh - something else will happen
"until it gets..." > until the spindle gets... ?
(I don't know if an error is thrown if you request a spindle-synchronized feed rate that's faster than the velocity limit for a joint)
yes, the spindle
so you can stop the spindle during a cut, then twiddle it back and forth
the other joints won't move until the spindle passes the point where you reversed it
so they don't track, spindle motion acts like "synthesized time"
which can't go backwards ;)
neat stuff. So I imagine in the case of an arm, the only thing that ensures that the joints remain with the correct relationship between them is that they are following all the way points. If any one of the joints throw a follower error, then that indicates that the low-level position control wasn't loyal to the way points.
yeah, that's more or less it
except that waypoints are calculated on the fly, in the realtime code
On the wiki, someone wrote about getting errors on the slaved axis when the (what, G33? rigid tapping? I forgot) was engaged with the spindle already running. The wiki writer decided it was a bad idea to start that way, and so put the spindle start on the same line so everything starts from zero speed together.
KimK, yeah, you need some lead-in space so the axis can get up to speed
I just don't know what happens if you command say 1" per rev at 6000 RPM, but your axis can't move 100 IPS
there are 3 options: 1) slow the spindle down so the FPR is honored, 2) run the axis as fast as it can go, ignoring the fact that the FPR is wrong, or 3) error and refuse to move
(maybe more, those are just the ones I thought of now)
I think that would also fall into the category of "Doctor, it hurts when I do *this*" Doctor: "Don't *do* that."
something like that :)
Interesting about the "synthesized time" you describe, that is unlike a real (mechanical) tapping machine, where you must change the tap (thread) and the Z-axis guide thread rod to agree. Then the spindle is fully synchronized, forwards and backwards.
yes. gears are nice in that they can move in both directions (backlash willing)
There should be a way to accomplish that by electronic gearing
yes, though electronic gearing isn't what EMC2 does for spindle synch
you can do synchronized arcs (on a lathe), for example
not exactly a constant gear ratio
(as far as I know anyway - arcs may not be possible)
I'm unclear on what you mean by synchronized arcs
I believe that you can turn on spindle synch, then do G2/G3 moves, which will be synchronized with the spindle
synced in what way?
distance traveled is proportional to spindle motion
but again, I don't know for sure that they're possible
the trajectory planner would support that, but there's currently no way to express it in our gcode dialect
I'll have to think about what that would look like. Is there a picture?
you could approximate it with G33 synced lines though - they blend together and maintain sync
CSS and FPR should require varying "ratios" to the spindle too, right?
KimK: I can't imagine what it would be used for
I wasn't sure they were possible, but I thought the code in the TP would work
I think some injection molding nozzles have varying pitch and diameter "threads"
variable diameter is useful for a lot of things of course
I've seen "turning" where the Z motion was synced, and so leaves a "thread" of the tool nose radius all the way down the shaft. Roughing before a finish pass?
the pseudo code for it isn't too hard, but I don't think the EMC framework would support it -- but I don't really know about the framework anyway. It's the same kind of algorithm that ensures a two-wheeled (differential drive) robot drives straight, except in this case there could be a ratio between the spindle and the distance
the way EMC2 is put together at the low level (HAL) could certainly support what you want
you would have two sets of PID, and something that takes the command position/velocity from above, and the errors from below, and adds in a little extra oomph
hmmm. actually, you can use two PID per motor - one that takes the difference between it and the other motor as the error signal
That's the PIDO setting ;)
then sum the outputs
Do you have the specifics of how the two PIDs would interact with each other? It's a problem that's been bothering me for a few weeks now. See, the way I see it there would be a single PID, where the error would be defined as encoder_cutter / encoder_spindle - thread ratio. Then the output of the PID loop would represent an offset. So if the error was positive, it means the cutter is ahead...
...of the spindle, so the PID output would apply a negative offset to the cutter and a positive offset to the spindle.
if I understand you correctly, that's how PID works
feedback is subtracted from command, giving the erorr signal. the PID coefficients then determin how hard the system is pushed to get back in line
well yeah, the only thing PID concerns itself with is getting 'error' to become zero.
So aren't you really developing two commanded positions first and then using two PIDs as usual? That seems to me like the best (standard) method.
so in the system I described, two motors would be slaved to each other and I am pretty set on implementing that. Would you have any ideas on how to slave more than two motors to each other?
Like maybe for an omni-directional drive robot and you want all the wheels to move at a set ratio to one another. Say I didn't care about the actual velocity as long as the relative velocity of each wheel with respect to the others is what I want it to be.
the only thing that would allow me to keep my (remaining) sanity would be to decide how the relationship of "this motor" and "the other motors" should affect how "this motor" is driven, and then use something like PID to do the work
and then repeat that for each motor
Sure, you can slave as many motors as you like to each other. In plastic (sheet) extruding operations, to make the sheet thinner, the sheet is run through a series of rollers, with each pair turning a little faster than the one before (1%?), but all synced. If the first roller pair stops, they all stop to avoid breaking the web.
I was doing some reading about Single-input-single-output PID and then multiple-input-multiple-output PID. And I guess my solution would have to rely on something like MIMO.
I guess so
KimK, that's kind of what I want. I would also like them all to stop if one of the middle rollers stopped too.
I've never heard of MIMO PID, so you're in new territory as far as I'm concerned :)
In essence they are all masters and slaves to each other, I think?
stop is different from "running a little slow or fast"
any system should detect stopping or gross position errors on any sub-unit
it's saying "well, #3 is a little slow, but instead of speeding it up, we'll slow everyone down this time" that gets complex
well okay so in KimK's example there is a set "goal" ratio between every pair of roller. I'd like to make a system that would maintain that ratio if any of the rollers incurred any kind of slowing (say due to friction) so if the 5th roller runs twice as fast as the first roller, and the 5th roller slows down to half it's speed. then the first roller would also half it's speed, along with...
...every single other roller.
I'm not sure if all the roller pairs are synced from #1, or if each is synced from its upstream neighbor. Maybe it doesn't matter? I'm not sure. But they are all driven (forced) to the selected RPM.
you need some other layer to make that kind of decision, since the same feedback valuse could require different actions depending on the circumstances
yeah That sounds like exactly what I want to do
wait, not RPM, position or motion
you probably need additional information, like load percentage for each motor
PID will use all of a motors capability if necessary, but if it has to do that for too long, the motor will burn up
(this is assuming servos with high peak currents driven by PID)
so if some motor falls behind, it should be driven harder
but only until it starts getting hot, then the rest should be slowed down to match
load measurements could also be used instead of smoke detectors :)
Gustavo_G: and it's not good enough for you to say "roller #5 is falling too far behind, let's error!" because you want the system to keep going and "catch up"?
I guess in this scenario it doesn't matter what the actual speed of each individual motor is (as long as it is below 75% of the motors max velocity, perhaps) . My goal is to make sure they have that electronic gearing in between them and that this gearing happens both ways (like real gears) and that I could have a series of gears and they'd all be synchronized
SWPadnos: While we wait for Gustavo_G to come back, I have a new project (on hold until I get my first two EMC2 retrofits done, though). I got one of these on eBay and I hope to (in time) develop an EMC2 driver for it. It's basically a PLC "CPU" which is really a just a slave for a master PLC CPU nearby (100M?) Maybe your Modbus experience (now in CVS?) will be helpful? http://web5.automationdirect.com/adc/Shopping/Catalog/Pro
Gaah! broken link.
[07:17:22] <KimK> http://web5.automationdirect.com/adc/Shopping/Catalog/Programmable_Controllers/DirectLogic_Series_PLCs_(Micro_to_Small,_Brick_-a-_Modular)/DirectLogic_405_(Small_Modular_PLC)/Ethernet_Remote_I-z-O/H4-EBC
Sorry, Gustavo_G, I saw you come back , but I still had that mouthful, LOL
cool. I'll take a look later., I'm headed off to bed
hehe it's alright
Yeah I'm headed off to bed too. Thanks for all the help
OK, SWPadnos , Gustavo_G Goodnight, all. I'll be around a bit yet.
Skullworks: my eeepc gave horrible delays (701 early us issue )
is it morning for you?
Tomp Mine is a 900A with the 1.6MHz Intel Atom CPU - but itis also not a now latency type cpu either.
"i want 'synthesized time' that CAN go backwards " the Doctor. (and tomp for EDM)
Hi DanielFalck )( just got towards bottom of buffer ) it's 16:24 here 4:30pm to you guys
Skullworks: yeah, not sure of the cpu here
Gustavo_G: sounds like you want SIMO single input multiple out
prolly a 900MHz Celeron underclocked to 660MHz to save batt power and run cooler.
finall: /proc/cpu sez celeron 900 at 900
nope 1261 bogomips (maybe is throtled)
underclocks on batt or overheat on AC
Skullworks: you install nix on it?
Comes with Xandros installed - I just finished downloading the eeebuntu 8.10 iso for it.
my wife got one of those and I put 8.10 on it too
Skullworks: I have a IdeaPad S10, installed Ubuntu 8.10, has issues with pwr mgnt
she likes it
i managed to get os10 to hobble on it, also ntried ubu 8.04, now back to xandros
yeh, the 'uphuck' edition
Thats why I went with eeebuntu - has a eeeconfigure with all the scripts to properly set drivers for each model
Well, this is Lenovo, not Asus
so its easy to get everything working in minutes
wifi and webcam all work , just pwr is funky
i got it plugged into a 1080i tv at 1380xsomething
+ they have 3 versions - I'm going with just Base - almost no extra apps
JymmmEMC: what sort of issues?
JymmmEMC: acpi s2ram/s2disk?
JymmmEMC: also, how's the build quality? battery life?
I plugged mine into LCD and got 1900
maddash: wont suspend/hibernate
When it does suspend, when coming out of suspend, backlight is non-existant until you enter in passwd
oh a coool thing is to push the email onto a thumb and save that room ( the 701 has weird overlid mem and you cant get back the mem allocated to the base install )
myabe check eeetweaks
maddash: I like the HW... 10.3" screen and has Express34 slot too
they (ASUS) seles a version here that is a touchscreen panel, about 14"x12", no kbd, no mouse. hass eeepc on it. cutey japaneset frames like hello kitty and the fat cat naro-something.
Hmmm is the Atom cpu a dual core?
not only that its a FIFO top down type with no out of order execution capacity.
Processor 0 and 1, cpu cores 1, cpu(0) MHz 800, cpu(1) MHz 1600,
cpu0 has apicid:0, cpu1 has apicid:1
good morning i have one question on halui.i add in sim.ini file at the section hal the line HALUI=halui.this command open the window or open the interface the hal for exstarnal command?
[10:15:31] <alex_joni> http://www.linuxcnc.org/docview/devel/html//gui_halui.html
ok thaks alex.the halui is only the abstraction layer signal or pin for tranfler info on emc at exsternal.can i no load the axis gui and control the emc only digital signal?NO gui interface?
you can try to use DISPLAY=halui instead of DISPLAY=axis
but I'm not sure how you can stop emc2 then (except killall halui)
but I don't see how you can load a file to execute
there are a couple of limitations without a GUI
gotta run.. bbl
ok i understand.in halui is present only the generical fuction, but not there is the possibili the load the partprogram.for this fuction i thing ncessary modification the emc source?
anyone around here that had experienced EMC2 on a Gentoo system? or at least gave a try?
Memocjro: I think some reported success
can't remember specifics though
Memocjro: maybe fragalot knows (judging by his IRC cloak ;)
thanks, will try to get in touch with him.
Ah,... I haven't tried yet, plan on doing so after my exams (22nd)
ah, ok then
well. if you ever do, let us know how it goes
there might have been someone else in the past, but I can't remember
whee.. this is cool : http://www.reghardware.co.uk/2009/01/10/ces_video_shapeways/
alex_joni: that IS cool
the vid is cool. was that real time plotting? did you hear the end of the vid? cool head seek noise, fooled me & use a ssd!
'tiz taking ages to load for me
yeh, finally came in here ( the shapeways website, the vid was fast enuf)
the site loads fast
the vid on reghardware was slow,.. the same vid on youtube was fast
for some reason
must be local , i had opposite
not local, differnt paths
Oh man, I'm soo going to use shapeways way too often lol
steves_logging is now known as steve_stallings
alex_joni: 3d metal printing.... http://www.3dmetaltec.com/products.html
is that thing melting metals and printing in 3d?
[18:34:45] <JymmmEMC> http://www.bathsheba.com/sculpt/process/
no it's apoweder
I feel like making something insane and ordering it from shapeways
ss powder held together with a laser activated binder, once finished it's fired
preferrably something utterly random, yes functional
Selective Laser Sintering
similar to SLA, but it's not UV curing of plastic, and you can use other materials, such as metals
yes, it's almost 2:00 PM
very interesting concept, seen this method once in prototyping, where they were machining a mold, put the metallic powder inside and under pressure and intense heat, the particles were bonded together, but the idea of building particle-by-particle allows for many other possibilities
steve_stallings: ubuntu has a package: clive that will download youtube videos to a playable file
apt-get install clive
dgarr: how do you use it?
there's a web based service too
can't remember the name
[19:02:50] <fragalot> http://xkcd.com/386/
example:1) clive http://www.youtube.com/watch?v=n2BBjQopArE
2) totem OrnamentalTurningboxdecoratedEMC2CNC.flv
ok, works here
steve_stallings is now known as steves_logging
fragalot is now known as fragalot`
fragalot` is now known as fragalot
steves_logging is now known as steve_stallings
steve_stallings is now known as steves_logging
jtr_ is now known as jtr
have to remember to plug the battery in before unplugging the power cord. :\
jtr: you booted up and connected in 16 seconds... impressive.
oh, dual identities, nm
contact info here though
23:21 -!- micges [firstname.lastname@example.org] has left
I meant: http://www.flickr.com/photos/jackslife/sets/72157606768321649/show/with/2768121103/
good night all
Guest432 is now known as skunkworks
Does EMC2 still use linksp, linkps, and linkpp? (did I miss one?) or are these now all replaced by net?
they still work, net is just clearer and more concise.
OK, thanks. Integrator Manual (2.2) still shows linksp, linkpp in chapter 9, I was wondering if those were leftovers?
I'll stick with net, easier, only one thing to remember
they are being phased out. Net is just better
what language is emc2 written in? does it use opengl?
does it make sense to even use opengl?
low stuff is c++ iirc
opengl is graphics lol...
i think axis uses gtk+