Hello all,
I have implemented in python a TCP sockets client that receives X,Y,Z and angle points from a PC based CNC controller which has a TCP sockets server. The points that I am streaming are very close 0.1-1mm. I send chunks of 60 points at a time to keep up with the robot motion to avoid jerky moves or stop times.
The simulation works really well. Robot motion is very smooth and there is no data starving. Video in the link below shows Motoman robot simulation receiving points from my CNC controller. My next step was to test with a real robot using the robots drivers, which are awesome by the way!
https://drive.google.com/open?id=18YuMGB...jJUR8du_I8
We have here at the shop a KRC2 KUKA controller. I tested the same simulation but changing to a KUKA manipulator and behaviour is the same with smooth motion. But when I test with the real robot, with robot speed at 10%, motion gets jerky and looks like the system is not keeping up send new points. Robot speed at 5% runs ok. I understand the KUKA driver uses KUKAVARPROXY which might be adding latency to the system.
I would like your advice to improve the robot motion if possible, but I have a few questions.
First, I developed my python program using Visual Studio(to test and debug the code). I can start my python program from Visual Studio and run the simulation in RoboDK. If I want to run the same code on the real robot I need to add the python file to a station and run the python program from RoboDK. If I don't do that, I can still run the python program from Visual Studio, the robot simulation starts e the virtual robot moves, but the real robot does not move(the driver is connect all the time). It is a strange behaviour. Is it possible to change this behaviour and call the robot driver from python and not run from RoboDK?
If not, can I disable the simulation when running on the real robot? Both he simulation and real robot position are synchronized in real time. This might be adding a delay to the system.
Also when the python program calls the RoboDK API it starts RoboDK automatically. How can I disable this?
Thank you for your help and RoboDK is a great tool!
I have implemented in python a TCP sockets client that receives X,Y,Z and angle points from a PC based CNC controller which has a TCP sockets server. The points that I am streaming are very close 0.1-1mm. I send chunks of 60 points at a time to keep up with the robot motion to avoid jerky moves or stop times.
The simulation works really well. Robot motion is very smooth and there is no data starving. Video in the link below shows Motoman robot simulation receiving points from my CNC controller. My next step was to test with a real robot using the robots drivers, which are awesome by the way!
https://drive.google.com/open?id=18YuMGB...jJUR8du_I8
We have here at the shop a KRC2 KUKA controller. I tested the same simulation but changing to a KUKA manipulator and behaviour is the same with smooth motion. But when I test with the real robot, with robot speed at 10%, motion gets jerky and looks like the system is not keeping up send new points. Robot speed at 5% runs ok. I understand the KUKA driver uses KUKAVARPROXY which might be adding latency to the system.
I would like your advice to improve the robot motion if possible, but I have a few questions.
First, I developed my python program using Visual Studio(to test and debug the code). I can start my python program from Visual Studio and run the simulation in RoboDK. If I want to run the same code on the real robot I need to add the python file to a station and run the python program from RoboDK. If I don't do that, I can still run the python program from Visual Studio, the robot simulation starts e the virtual robot moves, but the real robot does not move(the driver is connect all the time). It is a strange behaviour. Is it possible to change this behaviour and call the robot driver from python and not run from RoboDK?
If not, can I disable the simulation when running on the real robot? Both he simulation and real robot position are synchronized in real time. This might be adding a delay to the system.
Also when the python program calls the RoboDK API it starts RoboDK automatically. How can I disable this?
Thank you for your help and RoboDK is a great tool!