#linuxcnc-devel | Logs for 2014-05-06

Back
[07:21:04] <MrSun_> hmm is dgarr here any ? =)
[07:52:16] <skunkworks> logger[psha],
[07:52:16] <logger[psha]> skunkworks: Log stored at http://psha.org.ru/irc/%23linuxcnc-devel/2014-05-06.html
[09:54:04] <KGB-linuxcnc> 03Dewey Garrett 052.6 1497708 06linuxcnc 10configs/sim/axis/xhc-hb04/xhc-hb04.tcl xhc-hbo4: pendant:program-run => halui.mode.auto * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=1497708
[10:06:05] <CaptHindsight> http://imagebin.org/309193 ~130um plated copper hole in FR4 pcb 2 layer, with Sobel edge detect
[10:06:33] <CaptHindsight> http://imagebin.org/309199 0.004" (100um) gap with Sobel
[10:08:00] <CaptHindsight> how will people use camunits in Axis? Just for manual vision based edge/center finding or?
[10:09:31] <CaptHindsight> http://imagebin.org/309105 ~100um gap, Sobel again
[10:11:17] <CaptHindsight> I was thinking it could be handy if it could work with easy to drop in Python plug-ins like Gimp features
[10:12:26] <CaptHindsight> so users could perform image enhancement, auto edge finding, auto alignment using fiducials on PCB's etc
[10:16:15] <archivist> optical cmm :)
[10:19:22] <kwallace2> This might be of interest, there are some documents at the bottom of the page: http://www.tormach.com/product_cnc_scanner.html
[10:20:50] <CaptHindsight> http://imagebin.org/308971 taken at 1280x960 with ~1" field of view with $30 usb camera
[10:21:35] <kwallace2> I tend to think the automated vision features would not be used by the average hobby machinist.
[10:23:14] <CaptHindsight> would they even use it manually? Like center find in the camera and use the jog buttons?
[10:25:28] <CaptHindsight> http://imagebin.org/308971 hole #28 in this pic is http://imagebin.org/309193
[10:26:11] <kwallace2> I tend to prefer using a probe rather than the camera.
[10:27:21] <CaptHindsight> using fiducials and camera is really handy when working with PCB's
[10:28:24] <kwallace2> Yeah, using a probe on PCB traces and holes could be a problem.
[10:29:33] <archivist> you can do 3d by adjusting z and looking for focus
[10:30:15] <archivist> seen some machines creating surfaces like that
[10:30:51] <CaptHindsight> or by having a scale on the surface of the part and moving Z
[10:32:11] <kwallace2> One project I have on the to-do list is mount a pair of laser pointers to my camera. They would be set to converge on the camera focus.
[10:32:16] <archivist> I want it for measuring small gears
[10:32:25] <CaptHindsight> there are only a few working plugins right now for camunits, it might be best to make it as flexible as possible
[10:32:53] <MrSun_> ffs, 1 min ... 1 min he was here!
[10:34:31] <kwallace2> I seem to recall Camunits is pretty old and could use some attension.
[10:34:58] <CaptHindsight> yeah, not touched except by maybe psha since 2011
[10:35:06] <MrSun_> ahh aparently he fixed just the issue i was wondering about .. or atleast one of them =)
[10:35:26] <kwallace2> oops, attention
[10:35:27] <CaptHindsight> it uses OpenGL, and other libs for the processing
[10:35:53] <MrSun_> haha so he saw it somehow or someone pinged him about it =) cool! =)
[10:36:25] <CaptHindsight> https://code.google.com/p/camunits/
[10:38:03] <CaptHindsight> https://code.google.com/p/camunits/downloads/list heh Jan 2010 4+ years
[10:42:30] <kwallace2> I played with some camera utilities using PyCam, but that has been a while ago. http://www.pygame.org/docs/ref/camera.html
[10:53:03] <KGB-linuxcnc> 03Chris Radek 05master 10afff3 06linuxcnc 10scripts/torture.py Moving all 9 axes is a better torture test for planners * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=10afff3
[10:53:04] <KGB-linuxcnc> 03Chris Radek 05master 7664fd1 06linuxcnc 10configs/sim/axis/axis_9axis.ini To work with the new torture.py * 14http://git.linuxcnc.org/?p=linuxcnc.git;a=commitdiff;h=7664fd1
[10:54:06] <seb_kuzminsky> nice!
[10:55:37] <cradek> wowie those are some wonky-looking paths
[10:59:38] <CaptHindsight> kwallace2: camunits plugs into Axis pretty easily as a Tab
[11:00:02] <CaptHindsight> and PyCam could be a plugin for camunits
[11:01:02] <CaptHindsight> oh sorry nevermind I was thinking of another Python Camera based app
[11:02:20] <kwallace2> Oops, another mistake, I meant to say PyGame not PyCam.
[11:03:38] <cradek> skunkworks: ^
[11:05:01] <psha[work]> yep, camunits are a bit rotten
[11:05:27] <psha[work]> i've started porting it to gtk3 and gobject introspection
[11:05:31] <psha[work]> but that work stalled
[11:08:54] <kwallace2> I think CamUnits got a lot of people started with using cameras.
[11:11:11] <Connor> What about using OpenCV ?
[11:16:03] <kwallace2> I haven't looked at OpenCV yet, because PyGame provided what I needed without much fuss.
[11:17:03] <Connor> A while back.. I was doing some camera stuff for MechWarfare... I found PyGame too slow.. but that was pulling a stream off of a wifi camera with no API support..
[11:17:15] <kwallace2> I have my eye on this camera: http://www.ebay.com/itm/270865573196
[11:17:19] <Connor> I was getting 2 to 4 seconds lag time.
[11:17:32] <CaptHindsight> we should be able to use any libraries
[11:18:06] <Connor> and why is camunits bitrot ? Any way to fork it and continue using it ?
[11:18:59] <CaptHindsight> Connor: thats the question, do we or do we use something else to tie all the imaging libraries into some GUI
[11:19:43] <CaptHindsight> camunits does install into AXIS with little effort
[11:19:45] <Connor> What all are we using at the moment ? camview, camunits ??
[11:20:16] <CaptHindsight> there's no we yet either, psha just got camunits to work as a tab in Axis
[11:20:59] <Connor> okay.... fine.. what all is currently working?? I have camunits installed.. and a camview and camview-emc
[11:21:00] <CaptHindsight> it can also work stand alone
[11:21:42] <CaptHindsight> that works as a tab in Axis, that is it so far
[11:24:49] <Connor> and are you still talking passive use, or active use at this point ? I'm starting to think just using a touch probe would be more accurate and easier.
[11:25:46] <CaptHindsight> I'm using vision for all sorts of active applications such as edge detection, defect detection, scanning etc etc
[11:26:43] <CaptHindsight> now I'm just asking about what everyone else might be interested in with a camera/vision system
[11:27:28] <archivist> I use a measuring microscope at the moment till something better comes along that suits me
[11:30:08] <archivist> I often measure angles that way
[11:32:01] <CaptHindsight> most of my applications are additive or hybrids, inkjetting onto non-planar surfaces, adding plastics to the metal core of a part, printing a blood vessel in liver tissue
[11:32:14] <Connor> edge detection / center finding passive or active... would be my uses...
[11:32:37] <archivist> me measuring a gear http://www.collection.archivist.info/searchv13.php?searchstr=microscope+PD+travelling
[11:32:44] <CaptHindsight> I'm just looking at what might make sense for the widest audience
[11:33:44] <Connor> How DO you measure a angle when it's beveled like that?
[11:34:12] <CaptHindsight> camunits has it's own GUI or can be a tab in Axis, I guess as long as anyone can easily plug in their tools everyone should be happy
[11:34:41] <archivist> I am looking for certain standard angles at the PCD so easy enough to guess in that example
[11:35:13] <CaptHindsight> GIMP has a dropdown to access your plugins written in Python
[11:37:06] <CaptHindsight> as long as the framework is there people can add vision based measurement, edge detect, center detect, auto ZERO, align to the fiducials etc
[11:37:45] <archivist> sequence of images in Z to get a 3d profile too :)
[11:38:42] <Connor> OKay. So, I have a question.. How important is it to have the focal length the same every time you use it for edge and center finding ?
[11:39:27] <archivist> if the focal length is fixed your Z movements will have stable numbers
[11:39:37] <archivist> and can be calibrated
[11:40:09] <Connor> I got a cheap $4 USB camera.. manual focus.. was planning on using it..
[11:40:55] <Connor> I'll need to make something to lock the lens in place so it doesn't get adjusted by accident...
[11:41:02] <CaptHindsight> all my pics above are with <$40 usb cams
[11:41:39] <Connor> I need to make a spindle mount for it..
[11:41:40] <CaptHindsight> I also have one of those $4 usb cams with the LED's you showed me on my desk
[11:41:59] <Connor> and re-package it into a better case...
[11:42:12] <Connor> not sure how useful the LED's are..
[11:42:29] <archivist> I have grotty usb microscope camera
[11:42:30] <CaptHindsight> they help when in a dark room :)
[11:42:51] <archivist> lighting can make the difference
[11:43:27] <Connor> In my testing it washed the image out and with metal, made it very hard to see the edges due to glare..
[11:43:30] <archivist> sometimes you need back light for tool profile
[11:45:37] <archivist> and often you need the camera to move to find the item and also the tool
[11:46:23] <archivist> which may mean not on the same axis as either
[11:46:25] <CaptHindsight> a small bulb sprayer with fine powder also knocks down the glare
[11:46:27] <Connor> archivist: In what use are you talking about tool profile and having it move ?
[11:46:34] <archivist> http://www.archivist.info/cnc/target.php
[11:47:01] <Connor> okay, so, you have the camera mounted all the time ?
[11:47:02] <archivist> that image one needs to see the gear centre ans also the cutter centre line
[11:47:16] <skunkworks> cradek, Thank you!!!
[11:47:27] <archivist> that was sat on the X or Y at the time
[11:47:48] <archivist> but needed its own axis
[11:48:47] <archivist> yes the date on the image was when I gave that up as "needing more work to be usable"
[13:07:01] <psha[work]> Connor: camunits is not rotten but stalled
[13:07:17] <psha[work]> works fine with gtk2
[13:08:01] <Connor> psha[work]: What all is used to get camera showing up in linuxcnc? I had to install several things.. Looks like camview, camuinits and your plugins ?
[13:08:05] <psha[work]> but it's best capture framework i've seen
[13:08:15] <psha[work]> yep
[13:08:41] <Connor> Any issues with the fact that's it's stalled ?
[13:10:36] <psha[work]> no issues until gtk2 will be deprecated and removed from repos
[13:10:50] <psha[work]> main glib is rocksolid and stable
[13:11:06] <psha[work]> camunits is glib based framework
[13:11:14] <psha[work]> only possible problems with viewer
[13:11:20] <Connor> Then I say keep using it...
[13:11:47] <CaptHindsight> as long as we can easily add imaging libs
[13:12:25] <psha[work]> CaptHindsight: what is 'imaging lib'?
[13:13:03] <CaptHindsight> and be able to easily string image processing functions together
[13:13:19] <CaptHindsight> image processing libraries
[13:14:06] <psha[work]> like opencv?
[13:14:44] <CaptHindsight> with camunits you pick a source, imaging function say color space conversion and then an output
[13:15:42] <CaptHindsight> as long as users can easily add new functions between camera and output it's fine
[13:15:52] <psha[work]> and that's why i've picked camunits
[13:15:54] <CaptHindsight> yes, like openCV for one
[13:16:03] <psha[work]> plugin api
[13:16:19] <psha[work]> not trivial but it's not hard to add plugins
[13:16:39] <CaptHindsight> may a wrapper to make it easier
[13:17:16] <CaptHindsight> it should be easy like script-fu and pyhton-fu in Gimp
[13:18:13] <psha[work]> maybe
[13:18:26] <CaptHindsight> people will most likely want to play with contrast, thresholds, Sobel, Laplace, pixel counting etc
[13:18:27] <psha[work]> i've thought about writing python wrappers for plugins
[13:18:54] <psha[work]> however writing C plugins are not hard too
[13:18:57] <CaptHindsight> edge find, count pixel between edges
[13:19:09] <CaptHindsight> yeah but many people don't write C
[13:20:17] <CaptHindsight> being able to work with image-magik or graphics-magik for example
[13:20:30] <CaptHindsight> you don't have to know who to write code to use them
[13:20:57] <CaptHindsight> lots of CNC users aren't programmers
[13:22:13] <CaptHindsight> and a way to connect it to HAL for auto functions
[13:22:46] <CaptHindsight> scan while jog until a feature is found, then ZERO
[13:32:33] <archivist> I dont really expect pythong to be quick enough for jog to feature
[13:35:23] <psha[work]> archivist: why not, via opencv bindings?
[13:37:20] <CaptHindsight> for people streaming video while controlling movement they probably won't be using $20 usb cams
[13:37:27] <archivist> opencv yes because it is C
[13:38:05] <CaptHindsight> but for static images and making measurements based on the distance between pixels that would be fine
[13:39:42] <CaptHindsight> even for auto ZERO, stop motion, take a pic measure offset, move, stop, take a pic, measure offset, move and ZERO
[13:41:30] <CaptHindsight> we were doing this back in 84' with PC-XT's and array processors over ISA bus
[13:46:09] <archivist> yes taking the hard work out to hardware
[13:51:34] <CaptHindsight> 8Mhz 8b wide PLD's :)
[13:53:58] <archivist> we were experimenting with an averaging frame grabber (ttl alu) http://www.collection.archivist.info/archive/DJCPD/PD/2009/2009_10_15_PCB_design/IMG_0353.JPG bottom pcb
[13:55:18] <CaptHindsight> looks like my old stuff, i just got rid of some old wire wrapped ALU boards
[13:55:24] <archivist> had to spend a few k upgrading the PC memory for that pcb
[13:55:52] <archivist> that was 4 layer and used vram
[13:55:53] <CaptHindsight> 640k should be enough :)
[13:56:07] <archivist> it was not enough :)
[13:56:41] <archivist> got the 1mb expanded memory card
[14:03:09] <CaptHindsight> we mostly used Imaging Technology boards back then, the first RS-170 real time frame grabber was a big deal even though it only could capture one frame
[14:04:26] <archivist> our first grabber was to add printing to video terminals
[14:05:49] <CaptHindsight> we used it mostly to restore old films, reduce noise in analog TV and video
[14:06:39] <archivist> I have a few PYE live averagers for 625 colour, came from a TV studio
[14:07:18] <archivist> effin heavy, as they have linear supplies for the ecl
[14:08:03] <CaptHindsight> then it was on to non-linear noise reduction (despeckle) for satellite TV over C-band (4Ghz)
[14:08:32] <CaptHindsight> before Ku band and smaller antennas came along
[14:10:12] <CaptHindsight> 4x oversampling so it was ~14Mhz sample rate at 8-10 bits per pixel
[14:12:08] <CaptHindsight> now all these applications come as sample filters in the free disk packed with your $4 usb webcam
[14:12:30] <archivist> and bog down your cpu :)
[14:14:00] <CaptHindsight> 1GB of ram recommended minimum :)
[14:16:15] <CaptHindsight> and that's just for the dancing paper clip
[14:17:39] <archivist> was at customers the other day and a trivial wages program wanted 2gb
[14:54:38] <skunkworks_> logger[psha]:
[14:54:38] <logger[psha]> skunkworks_: Log stored at http://psha.org.ru/irc/%23linuxcnc-devel/2014-05-06.html
[14:54:42] <skunkworks_> cradek: http://imagebin.org/309413
[14:56:48] <seb_kuzminsky> skunkworks_: i'm getting sea-sick!
[14:57:16] <cradek> that looks promising
[14:57:18] <cradek> which planner?
[14:57:40] <skunkworks_> robs..
[14:57:44] <skunkworks_> going to try master now
[14:57:50] <cradek> oh good, don't test mine
[14:57:56] <cradek> :-)
[14:57:58] <seb_kuzminsky> i still owe rob a runtest for his planner
[14:58:13] <seb_kuzminsky> maybe i'll find time for it at the hackspace tonight
[14:58:21] <skunkworks_> well - the 90deg/s is a bit high..
[15:13:19] <micges> cradek: seb_kuzminsky: mesaflash3 functionality is complete, I'll make PCI/ETH/EPP/USB tests today and then it will be ready to packaging
[15:13:58] <seb_kuzminsky> micges: great!
[15:15:07] <skunkworks_> cradek: your planner... http://imagebin.org/309418
[15:15:35] <skunkworks_> what is interesting is it takes a little less time...
[15:16:19] <skunkworks_> oh - could be because of the y axis constraint violatoions? no clue
[15:22:39] <cradek> on mine, I can't even tell what the maxes are supposed to be :-/
[15:42:55] <skunkworks_> logger[psha]:
[15:42:55] <logger[psha]> skunkworks_: Log stored at http://psha.org.ru/irc/%23linuxcnc-devel/2014-05-06.html
[18:40:59] <tinkerer> greeting all
[18:41:41] <tinkerer> @camunits
[18:45:17] <tinkerer> compiling camunits after linux v3.9 requires removing the lines 376 & 377 in plugins/v4l2/input_v4l2.c
[18:46:37] <tinkerer> just FYI
[20:15:07] <CaptHindsight> tinkerer thanks