Real Time Teleoperation
Hello,<?: prefix = o ns = "urn:schemas-microsoft-com:office:office" />
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.
EnriqueP.S. : I have written the same post in General because I do not know well where should it be.
Categories
- All Categories
- 5.5K RobotStudio
- 396 UpFeed
- 18 Tutorials
- 13 RobotApps
- 297 PowerPacs
- 405 RobotStudio S4
- 1.8K Developer Tools
- 250 ScreenMaker
- 2.8K Robot Controller
- 316 IRC5
- 61 OmniCore
- 7 RCS (Realistic Controller Simulation)
- 801 RAPID Programming
- AppStudio
- 3 RobotStudio AR Viewer
- 18 Wizard Easy Programming
- 105 Collaborative Robots
- 5 Job listings