We are working on a vision system that enables industrial robots to understand orientations of complex geometry objects in 3D space and dynamically control a robot arm to be able to pick, orient and accurately place the objects, and adjust to variations while picking and placing in real-time as guided by the vision system.
For our requirement, we will have a camera connector to a remote GPU based powerful PC which will also send the position commands to the FANUC robot. There will be no set manual configuration of the Robotic Arm and all the control will be done real-time & during runtime by the Machine Learning Code running on the Remote PC. So while we are developing the code, there are lot of possibilities for the Robot to go haywire due to bugs. White at the same time, we need that amount of freedom for an independent program to be able to take control of the robotic arm's movements.
At some cases, this might require continuous streaming of robot coordinates (like placing the component into a die and its not getting placed properly and it needs to adjust, positioning screws, etc) and we want to understand the possibility of the same with FANUC robot. Especially the loop rate. Unfortunately, we are placed in India and we are not able to gather much of the needed data from FANUC india and they are unresponsive.
Questions:
1. What are the communication protocols available for us to communicate the Position and motion setpoints/co-ordinates to the FANUC controller?
With PC communication through TCP/IP, what is the rate at which we can update coordinates to the robot controller?
Ethernet-IP communication is feasible? If yes, is the speed of communication better than TCP-IP scanning rates for FANUC? What is the scanning Rate for TCP and Ethernet-IP?
2. Are there the APIs/Methods available for us to programmatically control the FANUC robot by talking to the controller, remotely from our PC? (I understand that there is karel programming to be deployed into Controller but is there any lapse of movement functions that limit us from doing a particular type of movement using robot when giving dynamic commands vs when a TP based predetermined paths are executed?)
3. What is the rate at which we can update the motion setpoints or co-ordinates? For eg: Lets say the Robot was asked to move from Point 1 to point 2 at 0.5 metres/second speed.. While it was moving, lets say, the code wants to change direction and wants to move to point3. Within how much time will the control change its path when a new setpoint is given? Otherwise what is the Robot’s Response time to Setpoints? Universal robots for example in its e-series says 120 Hz. Which means I can send 120 different setpoints within a second and robot will respond to it.
4. The rate of response for queries on the FANUC robots coordinates and other internal & process data?
If coordinate set-points cannot be updated in run-time, can we execute a stop command while the robot is in motion, rewrite the coordinates and then restart the motion with the new trajectory? How fast can this action be executed?
After sending of commands from PC, what is the response time for the robot to begin executing the command?
5. Can you share the possibility of obtaining training for Karel programming and advanced robot programming?
Thanks in advance,
- Gokul