So, here's my situation: I've been tasked with doing a feasibility study for a customer. The customer wants to purchase an R30-iB+ and integrate it into their existing (robot-free) PC-based automation. The requirement is for the operator to be able to work with the entire system, including the robot, without ever touching the teach pendant. So, PCDK seems like the obvious solution.
The joker in the deck is that the customer's existing homebrew automation setup runs in Linux, and any additional robot-specific interface I write will have to run inside that environment, ideally as a extra window or tab in their existing GUI. So, Microsoft has released .NET Core as open source, which allows cross-platform .NET code, but the question is, can the PCDK library work with .NET Core, or does it require the "full" .NET Standard?
Assuming I can use the PCDK library under .NET Core, the next thing I have to do is extensive test&debug with RoboGuide (I won't be getting an actual robot until after this stage, assuming the customer likes the sim-environment results enough to continue the project). I've seen PCDK applications interact with RoboGuide when they were both running on the same computer, but obviously my Linux application will have to run on a separate machine from the machine running RoboGuide. Whether my Linux test environment is virtualized or "metal" is up to me. So the next question is, will RoboGuide "play nice" with a PCDK application running on a separate machine, over a network connection? It seems like a silly question, given that that's exactly what PCDK is meant for when implemented on a "real" robot, but I've learned it's better to ask the silly questions and look stupid in advance, than wait until a lot of money has been spent and then looking stupid.