I am using Roboguide, and working with fanuc robots.
I have small experience building TP programs. I need some pointers in the following scenario.
Imagine that a program external to the robot and controller wants to send some target positions for the robot to move to. This position can be a Cartesian position (i.e., x, y, z), and in the world frame. I have some idea how to define position registers ( or points ) within the program where the arm can move to when the program is put to run.
Here is what are my thoughts,
I can use SNPX communication enabled, and I use some registers and DOs. Then, I can create a ModbusTcpClient and connect to the controller (virtual controller in this case inside the Roboguide). When, I need to send some target position ( 6-tuple, x, y, z, roll, pitch, yaw), I write 6 registers, and as well, turn ON a DO.
I write a background program, that is always running. And, whenever it sees the particular DO in ON, it will read those registers and assign these to a particular position register and call the TP program which is responsible to move the robotic arm to that position.
I am not certain if the above makes sense within fanuc, and within TP programs.
Secondly, the robotic arm can be at any arbitrary position. How do we make sure that from there, it can actually go to the position that we have specified. How does it actually, interpolate the remaining trajectory points, from the current position until the goal position (if it can actually make that movement).
Please, what is the better way to achieve the above task.