What are the chances of getting this setup working?

More
3 years 2 months ago #278493 by my1987toyota
  well unfortunately I haven't had the time to mess with it. The machine is operational but I have had to
divert all my time to other things at work . I will get back to it when work eases up.

Please Log in or Create an account to join the conversation.

More
3 years 1 week ago #283750 by bkt

Out of curiosity I had a go at it and got it mostly working with 2.9 on a recent Bookworm installation.

 

Here is a sim config:
 

File Attachment:

File Name: axis_camview.tar
File Size:200 KB


I was struggling to get the usb camera stream working and ended up installing a bunch of stuff that turned out to be irrelevant but you will probably need this:

sudo apt install qv4l2

To try it out:
1. open a terminal and go to
/home/user/linuxcnc/configs/axis_camview/
2. run the vision app
$ python3 pnp.py

this should open a window and show a live stream of your usb cam.
If you don't then you may have to adjust the video device number in the brackets in line 271 in 'pnp.py'
 self.cam = cv.VideoCapture(0)

once that works, open another terminal and run
$ linuxcnc
then choose the 'axis_camview' config.

Some notes:
I don't know much about opencv and even less about gtk so pnp.py will likely need some more work. Sometimes the stream breaks when loading pnp.py or when starting the linuxcnc config. Also exiting the vision app seems a bit iffy, I usually need to hit CTRL+c a few times and then ENTER a few times.

Setting 'vision'debug' to 0 in halshow will hide the edge finding debug window.
To test I used a SD-card and good lighting with a ring light. The vision app seems to be looking for a certain format of rectangle.

I use a usb web cam with 720x480 resolution. Depending on your camera you may need to adjust 'pnp.py' in the following lines:
300    self.cam.set(cv.CAP_PROP_FRAME_WIDTH, 720)
301    self.cam.set(cv.CAP_PROP_FRAME_HEIGHT, 480)
 
418    frame = cv.warpPerspective(frame, M, (720, 480))

pnp.py is made to handle two cameras (bottom, top). Since I only have the one camera I had to disable the second camera by commenting line 383 and adding line 384

383        #if p.cam == 0:
384        if True:




Good luck.

 
see now these interesting session ... about streaming interrupt for sure have 2 different causes: 1- usb .... 2-camera buffer .... in my experience sometime needs to create a buffer of image to use when stream go down ..... but better was use qv4l2 aka videoforlinux, for discover driveable pin of camera .... on videoforlinux you can try play with various options for check best setup of your camera .... normally auto exposure, auto white balance and other "auto" parameter when present  they have a big impact on the fluidity of acquisition.... after that you have a realtime system and you use a lot of resources to acquire data at high speed with a non-priority IRQ.... you are better off using a camera with low resolution... on openCV side, after discover the right parameter better is to fix it on code using proper 
Code:
cap->set(CV_CAP_PROP_AUTO_EXPOSURE, xx); command .... (xx value is show on videoforlinux option, choose the right for you and insert in your py or .cc capturing file)
The following user(s) said Thank You: blazini36, my1987toyota

Please Log in or Create an account to join the conversation.

More
1 year 6 months ago #325928 by blazini36
I forgot to say thanks to bkt for testing that out, it's good to know that that stuff at least somewhat works.

I got busy with other things and set my DIY  PnP machine off to the side for a while but I just recently resurrected it as a laser cutter that can be swapped back to a PnP once I make a universal head for it.

Not sure how long it will be until I get back to the PnP thing but I really wish there was more activity with the PnP stuff in LinuxCNC. Since I don't actually own a PnP I never actually used one so it'll be a bit daunting if I have to pick this up from scratch.

Kind of surprising there isn't more activity with PnPs in LinuxCNC, it can already do almost everything it would need to without all the weird pseudo Gcode nonsense that OpenPnP uses. With all the cheap PCB manufacturers these days, you'd think we'd all be building PnPs.
The following user(s) said Thank You: my1987toyota

Please Log in or Create an account to join the conversation.

More
1 year 6 months ago - 1 year 6 months ago #326395 by my1987toyota
Well with my project I got interested in other things and haven't spent much time on it in a while.
Partly the placer head desperately needs updating to modern day equipment. Cable and pulley
for the Z axis is in my opinion a terrible idea but the machine was designed in 1993. We have a few
other PnP machines where I work so this one was more or less an experiment. Plus work just
doesn't seem to ease up.
Last edit: 1 year 6 months ago by my1987toyota.

Please Log in or Create an account to join the conversation.

More
1 year 6 months ago #326399 by tommylight
The following user(s) said Thank You: my1987toyota

Please Log in or Create an account to join the conversation.

More
1 year 6 months ago #326488 by my1987toyota
if you're referring to my back it's as good as it is going to get. I have to be careful how much I lift
because If I do to much weight I could inadvertently start loosening the screws. For the most
part though I'm good.
The following user(s) said Thank You: tommylight

Please Log in or Create an account to join the conversation.

Time to create page: 0.446 seconds
Powered by Kunena Forum