I realize this thread is old, but SkyeFire you're describing something I've been trying to find with little luck.
I think I understand the workspace and using outputs to inputs method, but could you elaborate on the handshake method? As I understand, handshakes are used to establish communication between devices. Do you mean using something like EthernetKRL to send position data between the robots?
In case you need context:
I'm currently researching how to have two robots monitor each while working on the same workpiece, but opposite each other. I was thinking of creating volumes with the workspace that divide the workpiece in half. However, there may need to be work done on the workpiece near or across the workspace boundary. I'm not sure how to make sure that when one robot is near (given some tolerance) or at the boundary, that the other can't go near the boundary at the same time.
Thanks!