Real Time Teleoperation

Hello,

my application consists on teleoperating and industrial robot. I am currently working with an ABB 2400/16 SC4+ equipped with Robotware 4.0. The step where I have been working recently consists on sending target joints values through the serial port RS422 as strings with a PC running Labview. The robot controller sends back the current joints values via the same serial port. This communication should be done as fast as possible to get a smooth movement, ideally 1 Khz. I know it is very difficult to achieve that speed due the hardware limitations but something close to 100 Hz would have a great value.

Using the Digital Outputs and a oscilloscope was possible to measure the time invested by the controller in doing several operations and in general I found they take too long. For example:

-Transforming a joint value to a string and send it to the PC takes 6 ms.

-Read the 6 joints values from the serial channel takes 40 ms.

-StopMove instruction folloId by Clear Path takes 320 ms.

-Move with /Sync takes betIen 1 and 4 ms (which would be good if I did not need the previous StopMove and Clear Path)

The teleoperated control mentioned above can be approached with several strategies under a point of view of the robot programming. Basically what I am doing is a while loop, reading and writing strings values combined with a movement instruction based on the received joint values. This loop should be executed every time as fast as possible. If I use the /Sync modificator to be able to update the end point before it is being reached I also need the StopMove and Clear Path instructions which slow the process up to getting 5 Hz for the whole cycle. If I do not use neither the /Sync modificator nor the Stop and Clear and I order the robot to move waiting for it to finish the cycle time is still slow because I have to wait for the robot to reach the end point before send a new target position. It seems that varying the /zone modificator does not help a lot into increasing the speed. What I get with those cycle times it is a very jumpy movement that should be as smooth as possible.

I have been told that in several robots there is like a Real Time thread that is able to update the movement target quickly but I cannot find this option in the ABB.

Other option can be to command joint speeds, which is the same than the joystick does. This would create a smoother movement since the robot would not stop at any point. It seems that this option is not available.

I would appreciate some help in order to find out which are the best methods to implement my objective. Maybe you consider that our application would considerably improve if I buy the MultiTasking option or any other option to increase the communication speed. Perhaps an advice t about how to program the robot more effectively to achieve our teleoperation would be enough or maybe I need to update the controller. Many thanks in advance.

Enrique
P.S. : I have written the same post in General because I do not know well where should it be.