#linuxcnc-devel Logs
May 03 2018
#linuxcnc-devel Calendar
12:58 AM IchGucksLive: hi all
01:00 AM IchGucksLive: is there a RT for 18.04 to play with
01:00 AM IchGucksLive: sliptonic: Toolchange in one line T5 M6 next line Call G43 with a H Number G43 H5 most recent so the system knows the tool length LCNC gusses the ToolNumber
01:03 AM IchGucksLive: the kernal 4.16 seams the best on low latency
01:03 AM IchGucksLive: while bionic beaver is shiped on 4.15
08:55 AM mozmck: I wonder how IchGucksLive was testing latency on 4.16 since there are no preempt-rt patches for 4.16?
09:39 AM pcw_home: bubble in time?
11:38 AM pcw_home: Ha: [ANNOUNCE] v4.16.7-rt1
12:17 PM pcw_home: Building 4.16 now, its needs bison and flex which previous kernels did not need
12:20 PM mozmck: Hmm, guess I better build 4.16 then! I have had mixed success with 4.9 and 4.14
12:21 PM mozmck: Mainly higher latency on some systems, others are fine.
12:22 PM pcw_home: Yeah Ive seen that also (and find that 4.1 or even 3.18 are better on older systems)
12:31 PM mozmck: Yes, I've been running 3.18, and recently switched to 4.1 for our systems, but some newer PC's have problems with those older kernels now.
12:35 PM pcw_home: Yeah unsupported hardware or Intel video issues are problems I've seen with the 3.18 or 4.1 kernels
01:24 PM pcw_home: well maybe a bit too early to tell but it looks like 4.16 solves the 4.9 and 4.14 latency issue with older machines
01:28 PM mozmck: That would be great! I will have to try that soon. Are you using anything like i915.enable_rc6=0 or i915.enable_dc=0 ?
01:28 PM pcw_home: 10 minutes or so on this Core Duo has a 160 usec servo thread tmax vs 350 usec or so with 4.14
01:28 PM pcw_home: (with youtube videos running)
01:29 PM pcw_home: not sure, let me look at grub
01:29 PM mozmck: Interesting. I was not getting too bad latency on a dell core duo, but latency on j1900 and several others were twice as high as with 4.1
01:30 PM mozmck: Got the same results with i3-7100 as well, which is pretty new. 4.1 did not support that as well, and things were sluggish, but latency was good. 4.14 had worse latency but everything ran much smoother and other hardware support was better.
01:32 PM pcw_home: GRUB_CMDLINE_LINUX="rcu_nocbs=1 idle=poll acpi_irq_nobalance noirqbalance i915.enable_rc6=0 i915.enable_dc=0"
01:32 PM pcw_home: how much of this is just chicken waving voodoo, I'm not sure
01:34 PM pcw_home: still ~160 usec so looks promising
01:35 PM pcw_home: have to try on some other machines...
01:38 PM mozmck: is 160 usec the ethernet latency or just latency-histogram?
01:41 PM pcw_home: servo-thread.tmax
01:41 PM pcw_home: so everything
01:55 PM pcw_home: on this machine 4.14 would have latency spikes in almost all functions (motion controller for example)
01:56 PM pcw_home: that problem seems gone with 4.16
01:57 PM pcw_home: so Yay!
02:05 PM seb_kuzminsky: Yay, but... weird!
06:32 PM jepler: > The IRAM module is spaced from the PCB with special 3D printed standoffs. It is easier to fit these round the screws (M3 x 14mm) prior to intalling the IRAM256.
06:32 PM jepler: I hope the plastic will stand up to whatever temperatures a hot IRAM256 can throw at it!
06:39 PM jepler: "operating case temperature range" absolute max of +125C, which is above the glass temperature of ABS and PETG (105C and 80C according to the first sources of info on each)
06:40 PM jepler: but .. I think you'll be happier if you don't heat the case of your transistors that hot ;-P
06:40 PM rene-dev: jepler I have not tested the 3d printed ones. Im using ones machined form plastic, but I dont know what kind. so far no problems
06:40 PM rene-dev: it shuts of at 85
06:42 PM rene-dev: have you looked at my acc output pull request? any comments?
06:47 PM jepler: rene-dev: I haven't, no. I was hoping somebody who actually understood joints would.
06:47 PM jepler: the way the software builds and links is much more my .. responsibility
06:48 PM jepler: + joint->acc_cmd = 0.0;//TODO: add acceleration output to simple_tp
06:48 PM jepler: the "simple_tp" is the one used for jogging and such?
06:49 PM rene-dev: Jogging and homing
06:49 PM jepler: if you configure your PID loop or whatever to be tuned when the acceleration info is accurate, does this limitation mean that jogs will be poorly tuned?
06:50 PM rene-dev: I thought there would be no acceleration output on jogs. But actually there is, As everything seems to go thru the cubic
06:50 PM rene-dev: It has nothing to do with tuning.
06:50 PM rene-dev: Only response
06:52 PM jepler: in hal what do you connect the new joint.#.acc_cmd pin?
06:53 PM rene-dev: It means jogs will lag slightly behind during acceleration, if you use the ff
06:54 PM rene-dev: can be used for monitoring acc, currently its done by ddt comps
06:54 PM rene-dev: my intention is to use it for acc feed forward in the pid
06:54 PM jepler: > + joint->pos_cmd = cubicInterpolate(&(joint->cubic), 0, &(joint->vel_cmd), &(joint->acc_cmd), 0);
06:54 PM jepler: is this what actually causes joint->acc_cmd to get a value assigned?
06:55 PM rene-dev: yes
06:55 PM rene-dev: I fixed that for velocity a while ago
06:55 PM jepler: nice, I missed that!
06:55 PM rene-dev: https://github.com/LinuxCNC/linuxcnc/commit/76d03302c6849ee4f70b7b0a46db025b64c12bc0
06:56 PM rene-dev: if you plot the real and derived, you actually see a difference
06:57 PM rene-dev: and now I want to try to reduce the following error during acceleration even more, by using acc ff
06:57 PM jepler: I'm a bit disturbed by those spikes in acceleration now that I'm looking at them!
06:58 PM jepler: in the image https://user-images.githubusercontent.com/707259/39573376-496e3480-4ed3-11e8-8ac4-731c7edcbbcd.png
06:59 PM rene-dev: the spikey might be a bug somewhere. but the non-continuity is due to the non-jerk limited trajectory
07:00 PM rene-dev: I also might have found a bug in jogging, need to investigate that tomorrow.
07:00 PM jepler: yes, I would expect to see step changes in acceleration because we don't jerk-limit
07:00 PM jepler: but the spikes are worrying to me
07:01 PM jepler: just curious, what kinematics on the simulated machine?
07:01 PM rene-dev: yes, they certainly dont originate from my code ;D
07:01 PM rene-dev: triv
07:01 PM jepler: do you see spikes with ddt?
07:01 PM rene-dev: standard sim_axis, running the linuxcnc example ngc
07:01 PM jepler: skunkworks: when you were doing your work to check constraints are obeyed did you look at acceleration?
07:02 PM jepler: .. of course that would get smoothed out by stepgen's own acceleration constriant ..
07:03 PM rene-dev: I have not tried. there are also spikes in the velocity during jogs...
07:03 PM rene-dev: yeah, but Im not using stepgen, and stepgen doesnt use those pins. In fact I seem to be the only one using the vel output pins.
07:03 PM jepler: rene-dev: I like your patch, if linuxcnc can directly produce this value instead of computing it with a ddt, that's nice. It would be even better if the documentation were improved to mention the new pins -- you can probably just do a little copy, paste, and edit in docs/man/man9/motion.9 without needing to fully learn man syntax
07:04 PM rene-dev: most pid configs, and stepgen derive the vel form the pos, which is always one cycle late, but fine for most machines :D
07:04 PM rene-dev: ah, good idea.
07:05 PM rene-dev: I think that should also clean up a lot of tests/configs using ddt
07:05 PM rene-dev: but someone should certainly look at those spikes...
07:06 PM jepler: [JOINT_0]MAX_ACCELERATION = 50.0
07:06 PM jepler: now I wish I knew the units
07:07 PM rene-dev: machine units/s^2
07:07 PM jepler: so the big negative spike is -.8 or so, and the limit is 50, so .. not exceeding any limit ?
07:07 PM rene-dev: maybe the spikes are well within the limits? the gain is very high in the screenshot.
07:08 PM rene-dev: do you have a running sim at the moment? plot the vel cmd, and do a jog. it looks terrible for some reason.
07:09 PM jepler: let me get master and build it fresh
07:09 PM jepler: vel cmd, so I can do it without your patch?
07:11 PM rene-dev: yes
07:12 PM jepler: while just jogging X+ I see Xacc jump from 0 up to +-50 for just 1 or 2 cycles, which is enough to hit the jog velocity of 17in/min
07:12 PM jepler: ugh and then I broke halscope !?
07:12 PM jepler: (halscope:28460): Gdk-CRITICAL **: IA__gdk_window_get_geometry: assertion 'GDK_IS_WINDOW (window)' failed
07:12 PM jepler: (halscope:28460): GLib-GObject-WARNING **: invalid cast from 'GtkDrawingArea' to 'GdkWindow'
07:12 PM jepler: it seems to print this over and over and is not responsive
07:12 PM rene-dev: I have not tested if that problem also occurs before my vel_cmd patch, that is already in master.
07:16 PM jepler: https://emergent.unpythonic.net/files/sandbox/jogging-halscope.png
07:16 PM jepler: it looks OK to me, what am I missing?
07:19 PM jepler: fwiw looking at old ddt Xacc I see similar spikes to what your patch shows, particularly on the curvy parts
07:19 PM jepler: I guess those are made of not-quite-tangent arcs so the velocity would change discontinuously
07:20 PM rene-dev: yeah, I guess
07:20 PM jepler: afk, going in search of dinner
07:20 PM rene-dev: try a longer jog, at different speeds. anyway, I will investigate tomorrow whats going on.
07:28 PM jepler: https://www.youtube.com/watch?v=QEH4umbyCRc
07:30 PM pcw_mesa: The stepgen setup I use uses the velocity pins
07:31 PM rene-dev: pcw_mesa: the one wit the pid in hal, and not the driver?
07:34 PM pcw_mesa: Yes, the position mode control in the driver is not very good
07:36 PM pcw_mesa: ideally the PID loop should be built into the driver with the control loop overhead hidden (none of these silly 25% greater accel/velocity numbers in hal)
07:39 PM rene-dev: yes, exactly. only confuses pepole...
07:40 PM rene-dev: whats the problem with the way the pid in the driver works at the moment?
07:40 PM rene-dev: Isnt that also just a p ff controller?
07:43 PM pcw_mesa: not really its way too clever and get confused easily
08:41 PM jepler: we believed it was a good design, because it had worked well (well enough) for the software stepgen. but in retrospect, it doesn't appear to be true of hostmot2, for whatever reason.
10:48 PM hazzy-dev: jepler: That KitKat line is awesome!
11:41 PM pcw_home: I dont recall if the software stepgen has the same issue with servo thread jitter as the Hostmot2 stepgen in position mode
11:43 PM pcw_home: I just remember when LinuxCNC moved from perhaps Ubuntu 8.04 to 10.04 and jitter got noticeably worse, you could no longer leave stepgen accel unbounded