#emc-devel | Logs for 2007-06-26

[02:43:30] <cradek> nice how matt shaver jumps in and tries to find an actual answer
[02:43:55] <skunkworks> the nerve of some people
[02:57:56] <skunkworks> cradek: the pid display on the lathe_pluto is pretty cool :)
[02:58:07] <skunkworks> * pid output
[03:00:53] <cradek> ah thanks, I like it too, it shows me when things are about to get ugly
[03:01:30] <skunkworks> I bet. :)
[03:01:33] <jmkasunich_> cradek: I just committed the docs updates for the 5i20 changes, both trunk and 2.1 branch
[03:01:51] <cradek> you're a hero
[03:01:54] <jmkasunich_> heh
[03:03:21] <jmkasunich_> I dunno if there are any other issues that we need to hit, but I think the 5i20 is done. It would be nice of one of the folks who was having problems could test it on an actual machine before you do the 2.1.7 release, but that would mean walking them thru a compile from CVS
[03:04:17] <cradek> dunno, I bet your bench test is pretty good
[03:05:00] <jmkasunich_> I hope so
[03:05:10] <skunkworks> http://www.cnczone.com/forums/showthread.php?t=39532
[03:05:43] <jmkasunich_> I'm not motivated to support the 8 channel "old" config
[03:05:50] <jmkasunich_> I want to get the "new" one working
[03:08:08] <jmkasunich_> jmkasunich_ is now known as jmkasunich
[14:54:10] <jepler> skunkworks: have any 4096-line (16384 count) encoders?
[14:54:49] <jepler> or is the 2540-line your finest
[15:15:03] <skunkworks> 2540 is the finest right not.
[15:15:28] <skunkworks> now
[15:16:17] <skunkworks> firmware mods?
[15:16:47] <jepler> no, not yet
[15:17:29] <skunkworks> last time you mentioned it - I thought you where going to keep pdm and had found a few 'mistakes' that had freed up some space in the pluto.
[15:17:40] <jepler> well yes and kinda
[15:17:44] <jepler> or kinda and yes
[15:18:02] <skunkworks> still pretty tight then huh :)
[15:18:41] <jepler> I do think I can keep pdm, increase the encoder limits, and add a watchdog
[15:18:56] <skunkworks> we have some servos here at work - I will check to see what encoders are on the back. They are new and my be pretty high line count. (they are not being used right not)
[15:18:59] <jepler> but in my working copy I've already removed pdm so I'll end up going through it all again
[15:19:00] <skunkworks> ugg - now
[15:19:20] <skunkworks> Wow - that is cool
[15:20:07] <jepler> I might have removed pdm anyway, except that two users popped up who want to use it :-P
[15:20:25] <skunkworks> that is how it works. ;)
[15:24:16] <skunkworks> How many users do you know of that are using the pluto?
[15:24:21] <skunkworks> do you get a lot of emails?
[15:24:51] <jepler> not a huge number. Maybe a half dozen people I've heard from, including you and cradek
[15:25:03] <jepler> The_Ball, centaur. I think xemet bought a board but hasn't used it yet.
[15:25:18] <skunkworks> it is a start :)
[15:26:40] <skunkworks> The only issue so far for me is I exited emc and the pluto kept running until I physically shut the computer off. But it just may have been an issue with my computer and it hasn't happened more than once.
[15:27:18] <skunkworks> hal must have still been running in the background
[15:27:36] <skunkworks> (it was still running closed loop)
[15:27:49] <jepler> oh you mean the servo kept position?
[15:28:16] <skunkworks> yes - I could turn the shaft and it would fight back.. LED would show the amount of pwm to the servo.
[15:28:34] <jepler> that'd be some general emc shutdown bug, then -- not a pluto bug
[15:28:52] <skunkworks> Yes - right.
[15:29:15] <skunkworks> biab
[15:29:18] <jepler> (watchdog wouldn't have helped there)
[17:35:25] <skunkworks> oh noes! ;)
[18:13:24] <skunkworks> is the guy you helped down in peoria named steve and from MI?
[18:14:13] <jepler> no, it wasn't a steve
[18:14:20] <jepler> it was .. jack something?
[18:20:00] <skunkworks> ok - I must have talked to someone I don't remember. Someone emailed be about some servos he wanted to get rid of. I remember talking to 'jack' about that - but no one else. :)
[18:23:40] <skunkworks> ah - it is the puma guy.
[18:23:44] <cradek> that's steve white
[18:23:47] <skunkworks> now I remember
[18:24:14] <skunkworks> right. Must have talked to my dad about some random large servos he had
[18:27:12] <skunkworks> somehow he has my email.. must be on - or looked on the emc userlist.
[18:27:23] <skunkworks> smart guy
[18:37:59] <cradek> jepler: I'm trying to fix jogging with the mouse. Do you remember what you were trying to fix when you did this button_jog_axis stuff?
[18:38:44] <jepler> cradek: yes.
[18:38:52] <cradek> what was it?
[18:39:09] <cradek> I can probably make it work but I want to know if I rebreak the original thing
[18:39:40] <jepler> cradek: start jogging with the mouse, then change the active axis with the keyboard, then jog with "+" key, then release the "+" key and the mouse
[18:39:46] <cradek> I think maybe jog_stop() should stop button_jog_axis, not current_axis
[18:39:49] <jepler> or maybe the first jog is with a key and the second is with the mouse, I'm not sure
[18:40:12] <jepler> is this for 2.2 or is there still an easy-to-hit problem on TRUNK?
[18:40:16] <jepler> er, on 2.1 branch
[18:40:19] <jepler> is this for 2.2 or is there still an easy-to-hit problem on 2.1?
[18:40:26] <cradek> trunk is totally broken
[18:40:34] <cradek> I have not tried 2.1 but I think it works
[18:40:47] <cradek> err, jogging with the mouse on trunk is totally broken
[18:41:56] <jepler> OK -- I thought I heard someone refer in passing to an AXIS bug in 2.1 but I don't know what it is
[18:42:18] <cradek> hm, I don't know
[18:42:42] <cradek> oh! numpad in touch-off
[18:42:52] <cradek> ?
[18:44:01] <jepler> yuck I don't want to look at that
[18:44:22] <cradek> I know, maybe I'll try
[18:51:02] <jepler> I'm letting myself be tempted once again to check in support for sim hardware drivers
[18:51:24] <jepler> it's just so handy when testing pluto, I don't have to leave my laptop or reboot it with the RT kernel (where I get overruns anyway)
[18:51:44] <jepler> './configure ... --enable-sumlator-drivers=unsupported'
[18:52:05] <cradek> I think it's a bad idea.
[18:53:08] <jepler> I know you do
[18:53:19] <jepler> but this is the 3rd or 4th time I've written it
[18:59:23] <jepler> do you think even I am mistaken to use such a mode?
[18:59:36] <jepler> or you just think that any number of barriers and warnings is not enough to keep someone from using it mistakenly?
[19:01:03] <cradek> "with the right configure flags, I don't have to worry about a realtime kernel - I'll just be careful to not run any other programs while my mill is going"
[19:01:29] <cradek> I understand that "works" with some other unnamed control software
[19:01:37] <jepler> oh I'm pretty sure it won't actually give a usable pulse train
[19:02:04] <cradek> for a servo machine one might be fooled into thinking it works well enough
[19:03:33] <jepler> quite possibly -- I know the brightness ramp on the LED for the pluto demo looks pretty smooth
[19:04:16] <cradek> oh look, keyboard autorepeat
[19:05:12] <cradek> did -/= jogging ever work?
[19:06:41] <jepler> looks fine in 2.1.5 but maybe it stutters in continuous mode (I used sim)
[19:07:03] <cradek> yeah, it must
[19:07:50] <jepler> nope I got a nice stable Xvel in hal while jogging X in continuous mode with "-"
[19:08:01] <cradek> hmm
[19:08:16] <cradek> I'm choosing mouse over -/= for now in trunk
[19:08:55] <jepler> that seems like the more important one, but -/= is the only way to jog BC and joints above 3
[19:09:05] <jepler> at the keyboard, I mean
[19:09:11] <cradek> yeah I know
[19:09:49] <jepler> the 2.1 bug (which occurs only when you're using the keyboard and mouse at the same ****ing time) may be the best of any combination we've tried so far
[19:11:09] <cradek> what kind of .... would do that?
[19:12:11] <cradek> was it a reported bug or a corner case you found when looking for corner cases?
[19:13:12] <jepler> it was a corner case I found
[19:13:29] <jepler> no user would do that, are you kidding?
[19:14:06] <cradek> well users are sometimes very surprising
[19:14:16] <jepler> umm well yes you're right I suppose
[19:20:21] <cradek> ok I have the old code working
[19:20:35] <cradek> it's possible to get runaway using just the keyboard though
[19:20:52] <jepler> onoz
[19:21:03] <jepler> hold -, press x, release -?
[19:21:07] <cradek> yep
[19:21:09] <jepler> sigh
[19:21:19] <cradek> I'll try to make axis_activated stop any existing jog
[19:21:32] <cradek> no that'll break the arrows
[19:21:40] <jepler> the arrows activate the axis on release; I wonder if that's why
[19:21:45] <cradek> yeah
[19:21:57] <jepler> argh I hate this
[19:22:01] <jepler> clearly I'm incompetent
[19:22:07] <jepler> just look at this mess of code I wrote
[19:22:08] <cradek> ha
[19:22:18] <cradek> yeah that must be it, not that it's hard or anything
[19:22:26] <cradek> or that jogging 6 joints with two buttons is a bad idea
[19:22:52] <cradek> and don't take all the credit - I wrote some of this abomination too
[19:25:02] <jepler> I wonder what happens if you change from continuous to incremental with a jog in progress
[19:25:05] <jepler> * jepler claws his eyes out
[19:30:11] <skunkworks> * skunkworks hands jepler a cauterizer
[19:32:00] <alex_joni> hi guys
[19:32:06] <cradek> hi alex
[19:32:16] <alex_joni> hey chris
[19:40:29] <skunkworks> Hi alex
[19:40:58] <skunkworks> so, does anyone think I will have an issue getting less than .0005" following error once I get my big servos hooked up? assuming the h'bridge can run them.
[19:42:15] <SWPadnos> what encoder resolution?
[19:42:18] <SWPadnos> are you using
[19:42:31] <skunkworks> * skunkworks is needing some reassurance :)
[19:42:36] <skunkworks> um - hold on
[19:42:41] <cradek> at what speed?
[19:42:48] <SWPadnos> with what cutting load?
[19:43:13] <SWPadnos> and are you assuming 0.0005 in "ideal encoder counts" or in "actual machine movement"?
[19:43:13] <skunkworks> :) well - if dad was talking - we won't go above 100ipm.
[19:43:28] <skunkworks> actaul machine movement
[19:43:39] <SWPadnos> then that'll depend on the machine :)
[19:44:33] <SWPadnos> (hopefully)
[19:45:07] <skunkworks> actual encoder resolution is .000015
[19:45:56] <skunkworks> sorry - then I ment actual encodr counts
[19:46:02] <SWPadnos> ok. with good tuning, you may be able to get 0.0005 then (it's ~30 encoder counts, which seems like a lot in theory)
[19:46:43] <SWPadnos> of course, that's based on zero experience, so YMMV :)
[19:47:09] <skunkworks> :)
[19:49:37] <skunkworks> just a little worred again about there being only one loop. But I just keep telling my self - self, cradeks lathe works just fine.
[19:49:40] <skunkworks> :)
[19:50:39] <jepler> INPUT_SCALE = 6000
[19:50:41] <jepler> FERROR = .1
[19:50:41] <jepler> MIN_FERROR = .03
[19:50:43] <jepler> [all in mm]
[19:51:06] <jepler> so his counts are half as big as yours
[19:51:28] <jepler> but his min_ferror is twice as big as you're hoping for
[19:51:56] <skunkworks> his scale is a magnatude larger. (60960)
[19:52:24] <skunkworks> crap - metric
[19:52:27] <SWPadnos> um
[19:52:51] <skunkworks> he has 6000 per mmm? wow
[19:53:23] <alex_joni> crap, my dapper is borked
[19:53:41] <jepler> mmm? is that like (mm)^(3/2)?
[19:53:45] <SWPadnos> dap! my crapper is borked
[19:53:50] <SWPadnos> that works too ;)
[19:53:54] <jepler> alex_joni: uh oh, what did you do to it
[19:53:56] <jepler> ?
[19:54:11] <alex_joni> jepler: nothing.. started it up after a while..
[19:54:19] <SWPadnos> mmm should be micro meter
[19:54:24] <SWPadnos> milli-milli-meter
[19:54:31] <alex_joni> when I try to log in (X) it just hangs for a while, then presents the log-in window again
[19:54:42] <skunkworks> so his inch count would be 152400 or so.. wow.
[19:54:49] <skunkworks> * skunkworks is worried again ;)
[19:54:57] <SWPadnos> sounds like 2.5x yours
[19:55:12] <alex_joni> jepler: managed to log-in to a failsafe with only a terminal, started metacity & gnome-panel by hand.. and it seems to work
[19:55:23] <alex_joni> anyone knows where gnome would have some logs?
[20:04:06] <alex_joni> jepler: do you happen to know what you send in AXIS for program stop? is it abort?
[20:05:24] <jepler> alex_joni: abort and stop are two different things
[20:05:31] <jepler> alex_joni: jas
[20:06:10] <alex_joni> TASK_PLAN_END ?
[20:07:21] <jepler> hm actually I think the stop button does send EMC_TASK_ABORT
[20:07:30] <jepler> same as ESC
[20:07:36] <jepler> Button .toolbar.program_stop \
[20:07:36] <jepler> -command task_stop \
[20:07:36] <jepler> -helptext [_ "Stop program execution \[ESC\]"] \
[20:07:47] <alex_joni> right.. maybe that's why tkemc doesn't have a stop button
[20:08:40] <alex_joni> def task_stop(*event):
[20:08:46] <alex_joni> c.abort()
[20:09:35] <jepler> root_window.bind("<Escape>", commands.task_stop)
[20:09:46] <jepler> so yeah I am sending EMC_TASK_ABORT for the "stop" toolbar button and the ESC key
[20:10:02] <alex_joni> ok, seems to fit into what I remembered
[20:10:23] <alex_joni> * alex_joni wonders why there's a TASK_PLAN_END message though
[20:11:21] <jepler> that's put in the interp_list for PROGRAM_END
[20:11:32] <alex_joni> oh, it's the message for the end of the program (put on the queue by interp)
[20:11:44] <jepler> yep
[20:11:49] <jepler> so probably not for sending from the GUI
[20:12:20] <alex_joni> yeah, doesn't actually do much (in task)
[20:13:46] <alex_joni> * alex_joni ponders if he should add halui.program.stop to do the same as halui.abort
[20:19:40] <jepler> seems like a note in the documentation would do.
[20:20:19] <alex_joni> I added it.. can't hurt
[20:31:01] <cradek> skunkworks: I didn't pick that resolution on purpose - it just turned out that way
[20:31:45] <cradek> my following errors are somewhat under .01mm (.4 mil) unless something is going wrong
[20:32:29] <cradek> which is still tens of counts I guess
[20:32:56] <skunkworks> cradek: thanks
[20:33:04] <jepler> I bet a transfer function that gets rid of the deadzone around PID output 0 would improve things
[20:33:19] <jepler> surely less machine backlash would too
[20:33:41] <cradek> yeah, the machine is sloppy in a lot of ways
[20:40:26] <alex_joni> yay hal
[20:40:39] <alex_joni> I'm helping a friend set up a servo machine
[20:40:49] <alex_joni> 4 x pwm + L298 + mouse encoder
[20:40:56] <alex_joni> all driven by 2 parports
[20:42:14] <skunkworks> alex_joni: going to need pictures :)
[20:42:27] <alex_joni> skunkworks: sure thing
[20:42:38] <alex_joni> oh, did I mention it's a spinoff of my tripod?
[20:42:52] <skunkworks> very cool.. Cable run?
[20:43:01] <alex_joni> yeah, something like that
[20:43:18] <skunkworks> so kins required?
[20:43:30] <alex_joni> sure thing
[20:43:38] <skunkworks> nice
[20:43:53] <alex_joni> it has to run by saturday.. we'll see
[20:44:17] <skunkworks> Our machine should not have any backlash - and if it does it should be all adjustable out. (dual ball nuts and such)
[20:47:37] <cradek> alex_joni: software pwm and mouse encoders with kinematics? sounds like a nightmare I had!
[20:48:18] <skunkworks> I would be right at home.. ;)
[20:48:37] <alex_joni> cradek: nightmare?
[20:48:50] <cradek> = bad dream
[20:48:57] <alex_joni> I know what a nightmare is..
[20:49:00] <alex_joni> was wondering why ?
[20:49:09] <alex_joni> sounds like a nice dream to me :P
[20:49:20] <cradek> sounds like a lot of finicky work to make it work right, especially the encoders
[20:49:22] <alex_joni> of course I still think it might work..
[20:49:29] <cradek> software encoder counting too?
[20:49:31] <alex_joni> sure thing
[20:49:36] <cradek> sure I bet you'll get it to work
[20:49:50] <alex_joni> the job is to get it running by saturday
[20:50:05] <cradek> woo
[20:50:16] <skunkworks> sounds like a school project :)
[20:50:20] <alex_joni> it's not quite complete (mechanical)
[20:50:22] <alex_joni> skunkworks: it is..
[20:51:19] <alex_joni> I might bring out the big guns if it doesn't work (e.g. 5i20)
[20:52:17] <skunkworks> aww - thats cheating.. :) Mouse encoders seem to work just fine. http://www.electronicsam.com/images/KandT/servostart/Fastermouse.png
[20:53:05] <alex_joni> I won't go into details
[20:53:20] <alex_joni> because you'll tell me exactly what I'm trying to deny :D
[20:53:28] <skunkworks> been there..
[20:53:49] <cradek> do you have mechanical or optical mouse encoders?
[20:53:51] <alex_joni> roughly 5-10 counts / mm
[20:53:55] <alex_joni> mechanical
[20:54:03] <alex_joni> and 2800 rpm motors with 1:2 reduction
[20:54:11] <alex_joni> * alex_joni runs away screaming
[20:55:35] <skunkworks> mechanical encoders? what does that mean? wheel and sensor or something else?
[20:55:35] <alex_joni> with about 50-100 mm / turn?
[20:55:42] <skunkworks> wow
[20:55:45] <alex_joni> skunkworks: wheel and optos
[20:55:47] <skunkworks> no torque?
[20:56:02] <alex_joni> skunkworks: my guts tell me it won't work..
[20:57:13] <alex_joni> jepler: how's the etch working at low speed?
[20:58:11] <skunkworks> his servos have a pretty high gear reduction I think
[20:58:32] <skunkworks> they are gear head servos.
[20:58:41] <jepler> 6:1 gearhead
[20:58:54] <jepler> but I don't remember how well it ran at low speeds
[20:59:06] <jepler> I never tuned it properly, and always ran it on a laptop that didn't quite work right for realtime
[20:59:10] <alex_joni> I wonder if these motors will run that slow reliably