ABB Driver#

The Jacobi ABB Driver uses both the Robot Web Services (RWS) as well as the External Guided Motion (EGM) interface of ABB. EGM is a standalone package for ABB robots - make sure that it is installed on your robot.

Driver Installation#

To install the Jacobi driver, either download the Debian package from or install the Python package via

pip install jacobi-abb-driver

Robot Setup#

To setup EGM on the robot side, we need to

  1. Under Configuration / Motion / External Motion Interface Data of the robot’s controller, add the following new interface data:



Do Not Restart after Motors Off

Return to Program Position when Stopped

Default Ramp Time

Default Proportional Position Gain

Default Low Pass Filter Bandwith








  1. To setup the network configuration, add the following new protocol under Configuration / Communication / Transmission Protocol,



Serial Port

Remote Address

Remote Port Number

Local Port Number




IP of the control PC

6511 by default


and replace the remote address and port with the values determined by your network setup. The remote address is the IP address of the control PC running the driver, as EGM needs to know how to connect back to the driver. If you’re working in simulation, e.g. by using ABB RobotStudio locally, you can set the remote address to and keep the default port of 6511.

  1. Lastly, our driver requires a single Signal to be added the robot’s I/O configuration. Under Configuration / I/O System / Signal add a digital input named JacobiEgmStop with Access Level All.


For the physical connection, EGM works (at least) on the X6 or the service port inside the robot controller. For the latter, the robot’s default IP address is Then, construct an ABBDriver and specify the IP address of the robot as well as port defined above.

from jacobi.drivers import ABBDriver

driver = ABBDriver(planner, host='', port=6511)

In case of connection issues, please double check that the network configuration on both the robot and the control PC is correct, as well as no firewall is blocking the UDP packages.

Our driver works for both the RobotWare 7 and older RobotWare 6 version. For older robots, please specify the RobotWare6 parameter in the constructor.


Here, you can find several examples of using the Driver alongside the Jacobi Motion library.