#emc-devel | Logs for 2007-02-15

[19:43:36] <rayh> How well is backlash comp working these days?
[19:43:56] <SWPadnos> that's a fargin' silly question! :)
[19:44:08] <SWPadnos> (because you know that backlash is evil, regardless of compensation)
[19:44:22] <rayh> I debated asking that question for quite a while.
[19:44:25] <SWPadnos> heh
[19:44:36] <rayh> How you doing Steven?
[19:44:41] <SWPadnos> pretty well
[19:44:48] <rayh> That storm miss you up there?
[19:44:51] <SWPadnos> just dug out from the 2.5 feet or so of snow
[19:44:54] <SWPadnos> no
[19:45:14] <rayh> ouch. missed me completely unless you count -30f as a storm.
[19:45:32] <jepler> rayh: there were some improvements to backlash compensation for emc2.1 but I know nothing about the particulars
[19:45:36] <SWPadnos> it was a bit higher than the snowblower, so it wasn't fun, especially at the end of the driveway
[19:46:01] <rayh> Yuck. I've had that here where the blower tries to dig a tunnel.
[19:46:23] <rayh> Thanks jeff. Guess I'll have to introduce backlash on an axis and see what happens.
[19:46:28] <SWPadnos> yep - add to that the fact that the van gets parked in the driveway, and it becomes a real mess
[19:47:03] <SWPadnos> our back deck looks pretty funny though - you can just barely see the thermometer, which is hung below the rail (which is at about 3.5-4' height)
[19:47:48] <rayh> I can imagine it's a mess. Had a blizard in ND which locked us in doors once.
[19:48:06] <SWPadnos> yep. I remember those from the "old days" (the '70s, in my case)
[19:48:15] <jepler> rayh: I think it's the patch offered by "Bas Laarhoven" in this message last fall: http://sourceforge.net/mailarchive/forum.php?thread_id=30527078&forum_id=6435
[19:48:23] <jepler> rayh: now you know all I know
[19:48:25] <rayh> Crawled out the window in the door and along under the eave to the end of the apartment building.
[19:48:42] <rayh> Thanks jeff.
[19:48:49] <SWPadnos> the annoying thing is that I went out there to clear the driveway before I had any coffee, and noticed a while later that a neighbor was digging out everyone's driveways with his backhoe/bucket loader
[19:49:03] <SWPadnos> if I had known about that' I would have had the coffee first :)
[19:49:51] <rayh> Okay.
[19:50:37] <rayh> So worst case, jeff, if that is the implementation would be the need to leave a bit of accel overhead.
[19:51:54] <SWPadnos> http://www.dilbert.com/comics/dilbert/archive/images/dilbert2007916360215.gif
[19:52:32] <jepler> rayh: http://cvs.linuxcnc.org/cgi-bin/cvsweb.cgi/emc2/src/emc/motion/control.c.diff?r1=1.69;r2=1.70;f=h
[19:53:08] <jepler> rayh: sounds like up to 150% of acceleration and/or velocity will be used during backlash correction, so if you are using stepgen set your headroom maximums accordingly
[19:55:07] <rayh> got it, thanks again jeff.
[19:55:25] <rayh> I'll run some tests on a slow system using sim and halscope.
[19:58:36] <jepler> good luck ray
[19:59:27] <jepler> experimentation is the key to understanding new things
[20:00:11] <rayh> Thanks. I'll report back.
[20:23:48] <SWPadnos> I wonder how difficult it is to remove some of the larger packages from the LiveCD, and replace them with development tools (for installation)
[20:24:08] <SWPadnos> there are runnable versions of OpenOffice apps, for instance, that probably aren't needed while using it as a LiveCD
[20:33:33] <SWPadnos_> SWPadnos_ is now known as SWPadnos
[20:54:07] <rayh> fascinating stuff in the traces with backlash
[21:06:29] <skunkworks> fascinating as in working?
[21:09:52] <jepler> the accel and vel are both limited during the backlash period
[21:10:40] <jepler> it just looks like there's an extra v or ^ in the axis velocity where the axis reverses direction
[21:11:42] <jepler> http://emergent.unpy.net/files/sandbox/backlash.png
[21:11:50] <jepler> from top to bottom: X position, velocity, acceleration
[21:12:07] <jepler> running part of the torture-test gcode
[21:12:45] <cradek> that looks pretty promising
[21:13:38] <cradek> the noise in the accel (second half) is strange though
[21:15:23] <jepler> yeah that sums up my throughts
[21:18:47] <rayh> If you make the backlash larger than can be accomodated during the accel period both accel and max vel are violated.
[21:19:26] <rayh> for small values of backlash compared to the accel time it looks real good.
[21:20:20] <rayh> I think the "noise" is caused by the fact that planner says "I'm getting ahead of position now."
[21:23:03] <rayh> Can we pastebin or some such images?
[21:23:59] <jepler> some folks have used imagebin.org for that
[21:27:31] <rayh> ah http://imagebin.org/7311
[21:28:07] <rayh> motion command was mdi x0y0 from x1y1
[21:29:01] <rayh> xvel and yvel overlap so you just see the backlash difference.
[21:29:13] <rayh> the red line.
[21:41:27] <rayh> http://imagebin.org/7312 shows velocity and accel curves for a 0.005 backlash.
[21:41:37] <rayh> Max vel is 30ipm.
[21:41:44] <rayh> accel is 5
[21:51:40] <jepler> the traces are -- motor positions and accelerations?
[21:52:20] <rayh> green and red at the top are vel
[21:52:46] <rayh> and they overlap red is x with backlash green is y with no backlash.
[21:53:17] <rayh> So we can see differences in vel caused by backlash
[21:53:37] <rayh> the light colored below is xacc
[21:53:50] <rayh> the lower blue is yacc
[21:53:57] <jepler> hm ok
[21:54:36] <jepler> so the area between green and red represents the backlash distance
[21:54:48] <SWPadnos> what shape is the G-code producing?
[21:54:57] <SWPadnos> (circle, square ...?)
[21:55:09] <rayh> um, yep.
[21:55:23] <rayh> Single linear move
[21:55:37] <rayh> from x1y1 to x0y0
[21:55:45] <SWPadnos> ok, 45 degree angle, and reversing from time to time, or just one move in one direction?
[21:56:10] <rayh> just one move in the direction that adds backlash.
[21:56:16] <SWPadnos> ok
[21:56:41] <SWPadnos> that looks like a wrong algorithm
[21:57:12] <jepler> it's only the first part of the move, right?
[21:57:26] <rayh> Right. It is the start of the move only
[21:57:35] <rayh> and only up to velocity
[21:58:02] <SWPadnos> ah - nevermind. I was looking at the red/green as position, not vel
[21:58:58] <jepler> I'm still confused, because I thought the trajectory planner had a trapezoidal velocity profile, and neither of those velocity plots is a trapezoid
[21:59:23] <SWPadnos> the green would be if we could see the end (I think)
[21:59:32] <SWPadnos> it's the first half of a trapezoid
[21:59:38] <jepler> it's curved, though
[21:59:44] <rayh> The green comes close to a trapezoid
[21:59:54] <cradek> jepler: the acc looks a bit traezoidal because of the cubic smoothing
[22:00:01] <rayh> Yes there seems to be some s curve ramping.
[22:00:07] <SWPadnos> that vel is from a ddt off stepgen, or is it the output of the TP?
[22:00:13] <jepler> cradek: oh ok
[22:00:16] <SWPadnos> stepgen does some curves of its own
[22:00:20] <jepler> I thought we set traj == servo in all the sample configs
[22:00:24] <rayh> ddt from the sim
[22:00:25] <cradek> you might get a squarer accel if you make traj = servo
[22:00:27] <SWPadnos> ok
[22:00:43] <cradek> jepler: not sure, but I don't think so
[22:01:01] <cradek> rove me wrong
[22:01:09] <SWPadnos> Rove is wrong!
[22:01:15] <SWPadnos> oops
[22:01:47] <jepler> nevermind, I must have been thinking about abolishing a fast "base" thread in the simulator configs that don't need it
[22:02:03] <rayh> I guess I assumed that timing errors introduced by ddts would cancel out if I moved both axes at the same time and overlapped the plots.
[22:04:12] <SWPadnos> are the two accel plots at the same vertical scale?
[22:04:23] <SWPadnos> they seem pretty close at the end
[22:04:30] <jepler> I think so
[22:04:56] <rayh> Yes.
[22:05:12] <SWPadnos> oh - what's the INPUT_SCALE in the sim configs? 4000?
[22:05:40] <SWPadnos> nevermind - /me is being think at the moment
[22:05:46] <SWPadnos> thick, that is :)
[22:05:47] <jepler> INPUT_SCALE isn't important for the simulators except for servo_sim
[22:05:53] <jepler> bbl
[22:05:58] <SWPadnos> see you
[22:06:12] <rayh> Ah I increased input scale to 10000 so that I'd see detail a bit more
[22:06:29] <SWPadnos> shouldn't matter, unless you're using one of the stepper configs
[22:06:34] <rayh> guess that didn't make any difference
[22:06:52] <SWPadnos> if you're using an actual sim config, you shouldn't have anything connected to the motion controller output
[22:06:55] <rayh> I did set max vel at .5 (30 ipm)
[22:07:01] <SWPadnos> other than a couple of ddt's :)
[22:07:01] <rayh> and max accel at 5
[22:08:24] <rayh> It does look like position is just connected to the ddts.
[22:08:31] <SWPadnos> on a separate note, I just did some latency testing with the 2.1 liveCD on my Athlon64 machine, and I get around 10.9 uS max, when dragging windows around, starting openoffice, and browsing the CD
[22:08:51] <rayh> Nice
[22:09:09] <cradek> what video driver running?
[22:10:13] <SWPadnos> lemme check. I'll bet it's either VESA or nv (this is a Quadro FX3500 card)
[22:11:09] <SWPadnos> wow -it's actually nv
[22:11:41] <cradek> run two GL apps (even glxgears) and it won't work so well
[22:12:42] <SWPadnos> no - it's about sqrt(nvidia) performance right now
[22:12:54] <cradek> I mean it will pork the latency test
[22:13:05] <SWPadnos> 406 fps for glxgears, vs 19000 or so with nvidia
[22:13:07] <SWPadnos> ah
[22:13:10] <SWPadnos> lemme check that
[22:14:48] <SWPadnos> it went from 9.7 to 11.3 uS
[22:15:06] <SWPadnos> I even maximized one of the windows (to 1920x1200)
[22:19:17] <cradek> I'm surprised - on my machine that porks it badly
[22:20:07] <SWPadnos> what class of CPU (and video card)?
[22:20:36] <cradek> sempron? 64 running in 32 mode, cheap nvidia card
[22:20:42] <SWPadnos> this is a 64-bit processor at 2.2 GHz, plus a workstation PCIe video card, so maybe the relatively high raw speeds mask the problem a bit
[22:21:09] <SWPadnos> ok, socket 754 probably. is it AGP or PCIe?
[22:21:17] <cradek> agp
[22:22:33] <SWPadnos> interesting. I wish I had a combo AGP/PCIe motherboard, with two video cards that are otherwise equivalent so I could test how much of a difference that makes