> Is that PC even suitable for OpenPnP?
Hardly. It will probably work, but slow. The RAM is also tight.
There are some recent additions in computer vision that require
quite some CPU oomph.
> Can OpenPnP run on LinuxCNC?
I frankly don't know. User FlashPackets started down that road, but never reported back in the end.
https://github.com/openpnp/openpnp/issues/1341
The way I understand it, LinuxCNC was a nice solution back when MCUs where weak and/or proprietary, and the whole Arduino/DIY electronics culture was not yet born. There were no affordable Open Source controllers, so a makers's PC was the natural "escape route", at first abusing the parallel port as GPIO, something like "real-time computing" was still possible on DOS/early Windows, later on special RT Linux. Nowadays, I don't see how this makes sense anymore. The needed interface cards are much more expensive than any good controller, and most of these are proprietary commercial products, unlike the Open Source controllers and firmwares we recommend.
https://github.com/openpnp/openpnp/wiki/Motion-Controller-Firmwares
Full disclosure: LinuxCNC has one nice features, that I'm yet missing on Open Source controllers, that is motion blending:
https://groups.google.com/g/openpnp/c/JfxgCxR2rGc/m/IcGMDmldDwAJ
I tried to add it to OpenPnP, using interpolation on conventional controllers, but the needed fine-grained path is too much data to transmit in reasonable time (it works for small moves, but for the practical larger moves, you lose more time sending path sequences, than what you gain cutting corners in motion):
https://github.com/openpnp/openpnp/wiki/Motion-Planner#motion-blending
I'm still waiting for the first Open Source controller to implement it (G64, G61 commands). 😎
_Mark
--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/7a2bc85b-f79c-4a88-a405-7fff3ae918efn%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/c86c6c35-a9cf-6731-a64b-1388e69c364f%40makr.zone.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/3c75634d-d67f-4929-a63c-fa940aadb88dn%40googlegroups.com.
Hi Bert,
thanks for sharing your experience. Such missing insight on my
side is why I carefully wrote "The way I understand it..."
😁 But I should probably have made it clearer, that I was mostly
just speaking with a Pick and Place application in mind.
One specialty of PnP is its interactivity. It does not just blindly execute a lengthy G-code file, that was generated in full beforehand (CAM post-processor/slicer etc.). Instead it interacts with computer vision, vacuum sensing etc. to control the motion spontaneously. For almost all the other applications (milling, laser cutting, 3D-printing) this is not the case. Pick and place spontaneous interaction has to be fast, per round-trip, therefore the time it takes to bake G-code into whatever "executable form" is needed, and then transmitted to the actual real-time hardware (Mesa interface card, Klipper firmware, or whatever), is relevant. I know this ping-pong time can be substantial for Klipper (although less than I thought). I don't know about LinuxCNC.
> For instance when I hit the pause button, the machine
need to stop right then and there.
I think TinyG
has that. And it still observes acceleration/jerk limits
while breaking, holding positional accuracy.
> for less than $100, I can add an interface card from Pico or Mesa that will turn my old computer into a fine machine controller. Up to 9 axis!!
For real? When I looked into that, about four-five years ago, this was a completely different picture. It started with the fact that you actually needed three layers of hardware: one to execute the motion in real-time/generate the IO, one for IO-protection/physical wiring, and one for actually driving motors (power electronics). And each was quite expensive (and closed source). I now tried to find fresh information online, but I haven't found anything sounding like "less than 100$", let alone for 9 axes! Please send some links 😎
In contrast, with a Duet 3D for instance you have everything you
need in one board, just connect your motor wires.
_Mark
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/CA%2BKNHNxDCLayb9XTNdOBTsF2Z7d5aJYinrDNo6j%2BfyRfERfN5g%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/2f11f968-d388-5bd9-29bb-9977fefcd63c%40makr.zone.
> I still would not use LinuxCNC for my pic and place machine. openPNP is far far superior for that task. hammer to drive a nail, screwdriver for screws. :)
Now you are comparing "hammers with screws" 😁
OpenPnP is not an alternative, it only generates the
G-code, that is then interpreted by "something else". This
"something else" could be a controller like Duet, Smoothie or
Klipper or LinuxCNC if there is a way to send G-code over
a socket interactively.
_Mark
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/CA%2BKNHNx5x%2Bijz1Fs9OVYqNGAQQW3HC2F83LfjE17jWzehkVkYA%40mail.gmail.com.
Hi Markus,
just so you know, your messages have only just now arrived in my inbox. For some strange reason google groups sometimes does that.
I guess your valid arguments are already mostly conceded by me in response to Bert.
> hmm? G61/G64 is available in linuxcnc.
If you read carefully, that's exactly what I wrote, and what is a
point where LinxCNC could in deed shine! Also impressively
demonstrated in the linked video.
https://youtu.be/csFE-4XwaYE
So if anybody can make LinuxCNC work nicely with OpenPnP, I would
be very glad. 😁
You mentioned some possible solution using a socket, but nobody
really confirmed that so far. This must include the
necessary response behavior (M115, M114 etc.). One thing
that also must work, is blocking behavior in case of M400,
i.e. the "ok" response must be delayed in some way until the
machine has finished moving.
_Mark
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/01da8f89-97b1-2407-1095-7cc2404edc74%40makr.zone.
OK, that explains this case. But a delay also sometimes happens with already approved members, including myself. 😉
_Mark
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/1fdb493a-7865-4982-a744-d0d0cd48c770%40app.fastmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/f341549c-2b04-4c40-b4a8-406efdc0aff9n%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/dfeb89b0-ae08-4979-8aba-f3e45e34a76cn%40googlegroups.com.
Hi Jon,
> I really don't see how LinuxCNC would handle pickup errors and other issues mid-job
Just to exclude misunderstandings if there are any (not sure). In
any case, also for others perhaps following this:
LinuxCNC would not have to "handle pickup errors and other issues
mid-job". That's the job of OpenPnP.
OpenPnP would use LinuxCNC like a controller. It generates G-code
on the fly, it sends it to LinuxCNC (e.g. over a socket). LinuxCNC
then needs to execute this G-code as fast as possible. Some
commands also require it to respond back in a machine-readable
manner, like report the current position, or (if it can do that)
report read sensor input (vacuum sensing). Yet another command
(typically M400) needs to wait until the machine has physically
done all the queued commands, before it is allowed to respond
(blocking). The snappier this send/execute/respond cycle is, the
better-suited LinuxCNC would be for OpenPnP.
Using the motion and feedback from LinuxCNC interactively,
OpenPnP can do everything that is required for Pick and Place
operation. OpenPnP also uses attached cameras for computer vision.
It uses positional vision to align parts i.e. offset the
subsequent motion coordinates etc. It repeats a pick&place
cycle when computer vision or vacuum sensing detects that the part
was not picked right. And more.
So the "brains" is in OpenPnP, LinuxCNC would just be the
"muscle".
OpenPnP can also use multiple drivers, cameras etc. They are all
coordinated against each other by OpenPnP. Which is only possible
because Pick&Place does not need hard real-time coordination
between axes (unlike a mill, for instance). Using multiple
drivers, you could for instance do the motion on LinuxCNC, but
leave vacuum sensing, feeder actuation etc. to other (simpler)
controllers.
For contrast: I know this is completely different in almost all
the other CNC applications, where everything is baked into G-code
and can be generated up front (and at leisure). In these
scenarios, all the things that need to be responsive at
run-time, examples being probing or hard tapping,
must happen autonomously inside the controller,
or in that case inside LinuxCNC. As I explained above,
for OpenPnP, you simply need to let go of this notion.
_Mark
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/dfeb89b0-ae08-4979-8aba-f3e45e34a76cn%40googlegroups.com.
> My apologies to the OP. The original question was about what computer to buy to run openPNP.
Well the OP's choice of topic for this conversation was
"OpenPnP and LinuxCNC > yes/no?".
So I do think this is still firmly on topic.
This is an Open Source community forum, so the conversation is
not merely for the OP, but for anybody interested
in the same question (including potentially at a later date). So
even if the OP probably already has decided against using LinuxCNC
(and his old computer), this might still be interesting for
somebody else.
I'm also personally interested to see LinuxCNC adopted as an OpenPnP compatible controller, simply to finally have that magic G64 support with motion blending! I would absolutely love to see that first video where it races through the corners!! 😁
https://github.com/openpnp/openpnp/wiki/Motion-Planner#motion-blending
_Mark
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/CA%2BKNHNxu4QvD60%3Dd1K%2B%3DGP6RKjSOh4dPPx-EpcZsisiam-7cwQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/248bceac-3e44-0af2-c114-e8c1fe6b81fd%40makr.zone.
Thanks Jon,My apologies to the OP. The original question was about what computer to buy to run openPNP.
I think I lead this astray responding to Mark mistakenly thinking he was feeling like linxCNC was dated.
Hi!
You might run into performance issues with your AMD Athlon 7850/4Gb RAM.
OpenPNP is likely not affected by LinuxCNC but for it's image processing
capabilitied I would recommend a more capable system with i.e. 4+ cores
and 8+GB RAM. Your Notebook might do, if it's spare.
While this is all very interesting academically, and certainly fascinating to explore in itself if that is your actual focus, it is simply not a straight way to a solution in Pick and Place.
_Mark
--
You received this message because you are subscribed to a topic in the Google Groups "OpenPnP" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/openpnp/y9mnpG-YXOI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/791c0e49-2e94-44c5-97c3-f0a9cdafc832n%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/d1e3b53f-2521-460a-ad36-d8fb39683683n%40googlegroups.com.
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/CA%2BQ02MPP_gVjVZ%3D4VEgpP8c7oMini7jeLX6OR79zTntEdngqmw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/CA%2BKNHNykg7aZG5YW7KjsQaQNZcqU%3DxdcHPyGmYWH%3DS_gNgyCgg%40mail.gmail.com.