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 account.jacobirobotics.com or install the Python package via

pip install jacobi-abb-driver

Robot Setup

Make sure that you have at least RoboWare version 6.10 - we currently don’t support robot’s below that. 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:

Name

Level

Do Not Restart after Motors Off

Return to Program Position when Stopped

Default Ramp Time

Default Proportional Position Gain

Default Low Pass Filter Bandwith

raw

Raw

No

No

0.5

20

100

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

Name

Type

Serial Port

Remote Address

Remote Port Number

Local Port Number

ROB_1

UDPUC

N/A

IP of the control PC

6511 by default

0

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 127.0.0.1 and keep the default port of 6511.

  1. 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 and otherwise default values.

Name

Type of Signal

Device Mapping

Category

Access Level

Default Value

JacobiEgmStop

Digital Input

N/A

All

0

  1. Lastly, our driver requires to be informed about specific system events. For this, we add events under Configuration / Controller / Event Routine for the Start, Stop, and Restart event. The routine to call in our driver is named onStart, onStop, and onRestart respectively. They should belong to the T_ROB_1 task.

Event

Routine

Task

All Tasks

All Motion Tasks

Sequence Number

Start

onStart

Stop

onStop

Restart

onRestart

Connecting

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 192.168.125.1. 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='192.168.125.1', 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.

Examples

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