RobotStudio event

Teleoperation of an ABB IRB 2400

Hello,

my
application consists on teleoperating and industrial robot. We are
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. We
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
we 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 followed by Clear Path takes 320 ms.

-Move
with /Sync takes between 1 and 4 ms (which would be good if we 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 we are 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 we use the /Sync modificator to be able to update the end point
before it is being reached we also need the StopMove and Clear Path
instructions which slow the process up to getting 5 Hz for the whole
cycle. If we do not use neither the /Sync modificator nor the Stop
and Clear and we order the robot to move waiting for it to finish the
cycle time is still slow because we 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 we 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 can not 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.

We would
need some technical support in order to find out which are the best
methods to implement our objective. Maybe you consider that our
application would considerably improve if we 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 we need to
update the controller. Many thanks in advance.




Comments



  • Moved this topic from the General forum to here. Enrique, what parts of this question remains? Have you received info on the motion calculations etc?
  • I am currently working on a similar project and I am also trying to get the movement to be as smooth as possible, currently the movement will reach end point each time so it is stuttering just as you described. Did you find a way to minimize this effect? Have tried to alter the zonedata without much effect.