ABB RobotStudio

Please note: ABB RobotStudio interface is only available in Professional.

RoboStudio is a powerful solution from ABB for offline programming and simulation of ABB robots.

With the RobotStudio interface, the virtual ABB robot controller can be connected to / Unity. The current axis positions as well as signals are cyclically exchanged between RobotStudio and

The updating cycle of signals and axis positions is only about 1s when the simulation is stopped in ABB RobotStudio and is much faster (about 10ms) when the simulation is started in RobotStudio.

Preparation of robots

You need to prepare a robot with the usual kinematics. Each axis of the robot must be assigned a drive and a Drive_FollowPosition script. It is important that all drives are defined at the correct rotation position and that the positive direction of the drive is the same as for the real robot.

An example robot can be found on the community webpage (Github):

Preparation of ABB RoboStudio

The interface between and RobotStudio uses the Simit shared memory interface that comes with RobotStudio. You need to add it in the station logic.

It is important that the SharedMemoryName matches the SharedMemoryName property of the ABBRobotStudioInterface in Unity.

Interface configuration in Unity

In SharedMemoryName, enter the same name that is used in RobotStudio.

If you insert the ABB RoboStudio interface into your scene as a prefab or via the menu, you will already get some sample signals imported. You may need to adapt these to your robot cell.

You have to define the signals manually in, because ABB RoboStudio connects to the shared memory as a client and transfers the data depending on the listed signalm in the shared memory.

There are naming convention for naming robot joints and input and output signals (e.g. *Joint[1]+ or *Robot[IRB7600_400_255][DigitalIO]StartRobot).

For more information on naming, see the ABB RoboStudio Help.

It is also very important that the input and output signals are mapped to identical bits on both sides by using the device mapping in ABB RoboStudio. The signals are arranged in the memory in the order in which they are visible in Unity Inspector. You can check the memory location (in shared memory) by checking the signal comment in Unity Play mode.

It may be necessary to add some empty dummy signals so that the position of the bits of the data remains identical. You also need to make sure that input and output bits are not mixed in one byte. Here is the signal configuration for the example shown above:

© 2022 in2Sight GmbH - All rights reserved. No part of this publication may be reproduced, distributed, or transmitted in any form or by any means, including printing, saving, photocopying, recording, or other electronic or mechanical methods, without the prior written permission of the publisher.

Last updated