#emc-devel | Logs for 2009-08-19

[03:12:42] <cradek> cool, got my prox rearranged so the carousel gives quadrature with a reset
[03:13:21] <cradek> now that the hardware is no longer stupid, it's a simple matter of ladder and/or programming
[12:31:43] <alex_joni> yay.. it is done
[12:37:36] <alex_joni> http://imagebin.ca/view/vP4iC0ca.html
[12:43:09] <micges_work> cool
[12:49:58] <micges_work> I've connected ja3 config to real hardware. Nothing is working correctly ;)
[12:50:21] <micges_work> but we will see
[12:50:21] <alex_joni> I'm sure it doesn't
[12:50:44] <alex_joni> hmm.. I'm thinking about commiting the puma vismach model to emc2
[12:50:57] <alex_joni> but I'm not sure I should
[12:51:23] <alex_joni> the obj's for the model I mean, those are about 1.44MB in total
[13:04:05] <alex_joni> skunkworks_: hi
[13:04:17] <alex_joni> http://juve.ro/blog/puma
[13:07:23] <CIA-8> EMC: 03alex_joni 07master * rc974f33bf234 10/src/hal/user_comps/vismach/ (Submakefile puma560gui.py): visualisation file for a puma 560. in order to run one needs the objs for each link too
[13:08:33] <skunkworks_> wow - that is really cool
[13:08:34] <jepler> alex_joni: so what you committed is not actually runnable, since it doesn't include the "obj" files?
[13:08:49] <alex_joni> jepler: right
[13:08:56] <jepler> sorry to be rude, but that seems useless
[13:09:00] <alex_joni> otoh, it's the only example for using vismach + obj's
[13:09:16] <alex_joni> well.. I could also commit the obj's
[13:09:32] <skunkworks_> is there a reason why you wouldn't - are they really big?
[13:09:46] <alex_joni> about 1.4 MB uncompressed.. but since they are text they compress a lot
[13:09:55] <alex_joni> 270kB compressed
[13:10:28] <jepler> Are the .obj files your own creation? if they're not, then I doubt they can be included
[13:10:42] <alex_joni> I modeled them myself, and placed them under GPL ;)
[13:11:18] <jepler> I say have everything or nothing
[13:11:27] <jepler> urp, bbl, I should go to the office instead of sitting around at home
[13:11:44] <alex_joni> ok.. cleaning up the obj's and commiting them
[13:11:53] <alex_joni> they'll go in the configs/puma/ dir
[13:12:09] <skunkworks_> coolbeans!
[13:12:09] <alex_joni> as vismach looks there for them
[13:16:06] <CIA-8> EMC: 03alex_joni 07master * rf0a2fd554635 10/configs/puma/ (8 files): add obj's for the puma560 model
[13:16:44] <skunkworks_> * skunkworks_ boots up his laptop...
[13:40:14] <skunkworks_> why?
[13:40:29] <skunkworks_> oops - wrong window
[13:42:57] <micges_work> alex_joni: I know what doesn't work in ja3: simple_tp max_vel is messed up while homing
[13:44:00] <alex_joni> bbl
[13:44:02] <micges_work> (I'm searching in code..)
[13:44:09] <micges_work> oh ok
[14:05:35] <skunkworks_> hmm - Touchoff doesn't work in the puma config?
[14:06:14] <skunkworks_> oh - never mind - it was defaulted to machine posisition
[14:12:58] <skunkworks_> alex_joni: very neat! I just changed the loadusr -W pumagui to loadusr -W puma560gui and also the pumagui.joint.. to puma560gui.joint...
[14:13:12] <skunkworks_> Now I need to figure out what I am doing.. ;)
[14:16:45] <skunkworks_> I do get a lot spewed out into terminal - I would call it garbally gook.
[14:17:06] <skunkworks_> when emc is starting
[15:15:01] <CIA-8> EMC: 03micges 07joints_axes3 * r294ad184883c 10/src/emc/motion/control.c: Fix bug that all homing moves was at max joint velocity instead of defined in inifile
[15:15:42] <skunkworks_> stupid question.. is there a way to disable the soft limits? The box created by axis is a bit odd for the puma.
[15:19:27] <micges> menu view->show machine limits
[15:28:47] <skunkworks_> hmm - the up arrow doesn't seem to work correctly in mdi. (it goes up about 3 lines instead of the last one)
[15:30:13] <skunkworks_> and now it is working correctly. whatever ;)
[15:34:16] <micges> skunkworks_: we know about it - seems to be a bug
[15:34:54] <skunkworks_> Most of the time - It is usually me ;)
[16:11:09] <jepler> hi seb_kuzminsky
[16:11:29] <seb_kuzminsky> hello
[16:11:43] <seb_kuzminsky> how's your servo zenbot?
[16:12:07] <jepler> I still haven't cut a board with it, but I hope to tonight
[16:12:20] <seb_kuzminsky> cool :-)
[16:12:46] <CIA-8> EMC: 03micges 07master * rbe4eb68e348d 10/src/emc/usr_intf/axis/scripts/axis.py: Fix scrolling in mdi history
[16:14:08] <jepler> micges: looks like a good bit of detective work there, thanks
[16:14:20] <cradek> yay!
[16:18:50] <micges> sure
[16:27:55] <micges> jepler: I have problem in ja3: when I have XYU configuration how can I proper draw joints limits?
[16:30:34] <skunkworks_> micges: great job :)
[16:31:00] <micges> skunkworks_: thanks
[16:33:53] <skunkworks_> jepler: have you goofed around with the velocity loop yet?
[16:34:14] <jepler> micges: I have no idea
[16:34:18] <jepler> skunkworks_: no, just position loop for now
[16:34:35] <skunkworks_> working good?
[16:35:17] <jepler> I just copied the Y-axis tuning to the others, but I think it's good enough
[16:35:24] <skunkworks_> heh - cool
[16:35:26] <skunkworks_> that works :)
[16:40:56] <cradek> micges: I don't think you can, because the preview shows axis space, not joint space
[16:42:41] <micges> right
[16:50:19] <micges> bbl
[17:11:12] <jepler> what do any of you think about replacing our homecrafted halcmd language with tcl? In my tree, this works: http://pastebin.ca/raw/1535310
[17:11:48] <jepler> the syntax for ini and environment variables is different, but for the small price of translating those references to the new syntax, you gain a lot
[17:11:52] <jepler> .. like arithmetic and looping
[17:12:09] <cradek> whoah
[17:12:24] <jepler> otoh, maybe the 'for' loop to create pos/vel/acc signals is even more bewildering than hal on its own
[17:14:48] <cradek> I'm both amazed that you did this and slightly put off by the syntax of tcl
[17:16:19] <jepler> halcmd was already exposed to tcl, for halshow..
[17:16:36] <jepler> so it was mostly a matter of making the emc runscript run tcl files in addition to hal files
[17:18:33] <cradek> but also you made a tcl interpreter that knows commands like "net" and does the halcmd thing with them?
[17:19:16] <jepler> yes
[17:19:17] <cradek> can we still have completion/readline in the interactive halcmd?
[17:19:24] <jepler> this doesn't take away halcmd
[17:19:41] <jepler> .hal files (and probably interactive use) still goes through halcmd
[17:19:42] <cradek> oh halcmd is not tcl now?
[17:19:47] <jepler> no
[17:20:01] <jepler> but if you specify [HAL]HALFILE=core_sim.tcl then it invokes haltcl instead of halcmd
[17:21:25] <cradek> using haltcl interactively, could I sets pin 1; puts $pin? or something like that?
[17:21:47] <cradek> halcmd currently doesn't let you examine - that would be a nice addition
[17:22:01] <cradek> a full REPL
[17:22:27] <cradek> (and a pony?)
[17:22:38] <jepler> hal pins and signals are not tcl variables
[17:23:18] <cradek> ok I see that - how does halshow do its examine through tcl?
[17:23:37] <jepler> it invokes [hal getp pin] or [hal gets sig]
[17:23:58] <cradek> oh, of course we have halcmd examine commands
[17:28:22] <jepler> but yes, with the tcl interface you can do things like: sets Sig [expr {1+[gets Sig]}]
[17:30:43] <jepler> but tcl has much worse interactive behavior than halcmd -- no readline, let alone useful completion
[17:31:00] <cradek> oh, yuck
[17:31:17] <jepler> but on the other hand, you could write: proc test {} { sets Enable 1; after 1000; sets Enable 0 }
[17:31:28] <jepler> then just type "test" to run a 1-second test of something..
[17:32:52] <jepler> though I notice there's a package "tclreadline" (not installed by default, of course) .. it probably doesn't give completion, but it would make interactive use a bit less bad
[18:05:35] <CIA-8> EMC: 03mshaver 07master * r140748e21011 10/configs/smithy/ (12 files): Improves 1240 machine performance, fixes lost step errors caused by reversed step pulse polarity, and adds a new lathe with a handwheel jogging pendant.
[18:23:26] <cradek> hi matt!
[18:28:04] <mshaver> hey chris!
[18:28:57] <mshaver> just getting some files updated. I'm back in Ann Arbor for a little bit and I want to finish testing machine configurations and updating the config files.
[18:29:21] <cradek> neat. If you want those to get into future 2.3 releases, be sure to put them on the release branch
[18:29:54] <mshaver> I'm kind of waiting until that get stable. Soon though...
[18:34:45] <micges> jepler: cool idea
[18:36:48] <micges> but normal hal script will be beside this?
[18:41:02] <jepler> yes, this doesn't get rid of or change halcmd
[18:43:36] <alex_joni> hi guys
[18:43:43] <micges> hi
[18:44:47] <alex_joni> seems the puma560 + genserkins is working really great
[18:46:09] <CIA-8> EMC: 03alex_joni 07master * rb4f9c76720d0 10/configs/puma/ (puma560.ini puma560_postgui.hal puma560_sim_6.hal): add puma 560 config, that uses puma560gui
[18:46:10] <CIA-8> EMC: 03alex_joni 07master * r970d423a196d 10/configs/puma/ (puma560.ini puma560_sim_6.hal): update puma 560 config using genserkins
[18:46:11] <CIA-8> EMC: 03alex_joni 07master * r0c88aa30ae4c 10/configs/puma/README: add puma560
[18:46:12] <CIA-8> EMC: 03alex_joni 07master * r64543cf4e7ec 10/configs/puma/puma560.ini: fix some params
[18:47:11] <alex_joni> skunkworks_: now you can try it
[18:48:03] <skunkworks_> Cool - later - working on garage. :) (I was having a hard time understanding the motion of the puma)
[18:48:13] <skunkworks_> Great work!
[18:48:35] <alex_joni> http://imagebin.ca/view/tVVuYRk.html
[18:49:29] <skunkworks_> heh - very cool. That is what I was trying to do but having an epic fail trying to get the thing to run :)
[18:49:40] <skunkworks_> (always running into joint limits ;)
[18:49:43] <skunkworks_> _)
[18:49:45] <alex_joni> you were missing the kins :)
[18:50:15] <skunkworks_> I guess - wait - I thought the kins that where in the pumu setup sort of worked?\
[18:50:36] <alex_joni> for some robot :)
[18:50:44] <skunkworks_> heh
[18:51:14] <skunkworks_> how does this home? strait up like the original? crap - I should take a break and play with it
[18:51:24] <alex_joni> just push home all
[18:51:27] <alex_joni> and you'll see
[18:57:04] <skunkworks_> Mmmmm day old re-heated coffee..
[18:59:19] <alex_joni> yuck
[18:59:43] <skunkworks_> * skunkworks_ didn't want to make new batch
[19:06:26] <skunkworks_> * skunkworks_ wants to see alexs' crazy_bot...
[19:08:43] <skunkworks_> alex_joni: you should send an email to the list.. there are a few people that have pumas...
[19:11:47] <alex_joni> maybe tomorrow.. I'm quite spent today :/
[19:11:57] <alex_joni> but feel free if you have the energy ;)
[19:12:06] <alex_joni> * alex_joni is off to bed.. (hopefully)
[19:14:09] <skunkworks_> :) we will see how smart I am -- Night Alex
[19:14:50] <micges> night alex
[19:31:23] <alex_joni> skunkworks_: managed to run it?
[19:33:56] <skunkworks_> yes - although - don't run the spash screen right after you home it - it hard locks this machine
[19:34:15] <jepler> eep, that's bad news
[19:34:44] <skunkworks_> tried it twice ;)
[19:35:05] <alex_joni> right.. forgot to say you should probably run it on a simulator emc2
[19:35:36] <skunkworks_> but if you touch-off x,y,z to 0 - works great - looks square ;p
[19:36:48] <skunkworks_> a lot easier to goof with than the original puma setup. I can actually play and see how things work :) thanks agian
[19:37:43] <alex_joni> np
[19:38:42] <skunkworks_> alex_joni: http://imagebin.ca/view/Bb2H-B.html
[19:38:58] <skunkworks_> awesome!
[19:39:10] <CIA-8> EMC: 03micges 07master * rb71549658ffa 10/lib/python/pyvcp_widgets.py: Fix SF#2720828: Dial will display a large exponent number instead of 0 after
[19:45:34] <micges> I don't understand this: "color of the working envelope indicator"
[19:45:43] <micges> what is it?
[19:46:02] <micges> sf#2795993
[19:46:30] <SWPadnos> the dashed box that shows the machine limits? (in red)
[19:47:44] <micges> why question mark?
[19:48:14] <SWPadnos> because I didn't read the bug repost :)
[19:48:24] <jepler> yes I think that's what it is referring to
[19:48:44] <micges> thanks
[19:48:57] <SWPadnos> err - report
[19:50:53] <jepler> I don't understand the r715496 commit at all
[19:53:47] <micges> jepler: you asking me?
[19:54:57] <jepler> er, b715496 commit I mean
[19:55:03] <jepler> I'm not sure who else I'd ask
[19:55:23] <micges> oh now I know
[19:56:19] <micges> so earlier this was only str(val) now it is formatted
[19:56:27] <jepler> + fmt = "%%.%df" % int(str(self.funit)[-2:])
[19:56:30] <jepler> what in the world is this?
[19:57:16] <micges> format str is created according to length of funit
[19:57:28] <micges> length in chars
[20:01:01] <jepler> I think maybe I see what you intend, but I don't like it.
[20:02:07] <micges> yes it's ugly.. but it works
[20:02:39] <jepler> you mean it happens to hide the reported problem
[20:03:46] <micges> hide? it is normal on float to str
[20:03:54] <micges> halmeter has the same
[20:05:29] <cradek> jepler: setp stepgen.0.maxaccel $AXIS_0(MAXACCEL)*1.05
[20:05:37] <cradek> did you mean something with [expr ...]?
[20:05:57] <jepler> cradek: no, I did magic in patch 8/8
[20:06:10] <cradek> oh, even more magical than I thought
[20:06:14] <jepler> see also the last paragraph of the cover letter
[20:08:06] <jepler> micges: dial should work by integer counts, like a real encoder. then there's no problem with rounding errors and no need for that crap
[20:09:17] <jepler> as far as I can tell the specific line I cited is supposed to mean something like "find the number of digits in funit", but for starters an exponent is not necessarily exactly two digits
[20:10:14] <micges> but there in python it alwas is
[20:10:35] <micges> always
[20:10:41] <jepler> >>> int(str(1e-100)[-2:])
[20:10:41] <jepler> 0
[20:11:37] <micges> yes but hardly noone will set funit to that..
[20:12:13] <micges> if you think it should include all cases I'll remove it
[20:13:41] <jepler> well after actually looking at the code for dial, I don't intend to wade into it
[20:14:01] <jepler> it must be what others see when they look at axis :-/
[20:15:55] <cradek> ouch - for each click, it adds or subtracts one fp number to/from the output
[20:16:06] <cradek> that's just not a good way to do it
[20:17:19] <jepler> cradek: but you can't do it with counts because you can dynamically change the scale
[20:17:25] <jepler> double left, middle, or right click
[20:17:59] <cradek> but you just have to change the internal counts (to the closest guess?) when you change the scale
[20:18:13] <jepler> beats me
[20:18:14] <cradek> then the output would be a multiple of the new scale
[20:18:17] <jepler> that code is bewildering
[20:18:25] <cradek> otherwise if you change the scale a few times you'll never be able to hit zero again
[20:18:32] <jepler> there are also atan2s for some reason I haven't fathomed yet
[20:18:42] <jepler> you already can't hit zero again; that's the original bug report
[20:20:19] <micges> jepler: I understand now
[20:29:01] <jepler> http://emergent.unpy.net/files/sandbox/dial-fix.patch
[20:34:37] <jepler> not to mention
[20:34:38] <jepler> >>> 1e-12
[20:34:38] <jepler> 9.9999999999999998e-13
[20:36:25] <jepler> >>> assert float("1e-104") == 10.**-104
[20:36:28] <jepler> AssertionError
[20:36:40] <jepler> what's not to love about floating point?
[20:37:49] <micges> yeah
[20:41:24] <jepler> (I should explain that in my day job I've been recently dealing with these kinds of problems, so it struck a bit of a nerve..)
[20:43:47] <micges> jepler: what are you doing in day job?
[20:58:02] <CIA-8> EMC: 03micges 07master * r515818543043 10/lib/python/pyvcp_widgets.py: Proper fix of SF#2720828 (patch by jepler)
[20:58:25] <jepler> micges: nothing very interesting
[20:58:25] <jepler> bbl
[21:12:22] <micges> jepler: ok, if you said so
[23:52:33] <CIA-8> EMC: 03jepler 07master * r6454a9dabe6d 10/bin/.gitignore: all files in this directory should be ignored