Note: This tutorial assumes that you have completed the previous tutorials: Installing the ABB ROS Server.
(!) Please ask about problems and questions regarding this tutorial on Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

Running the ROS Server

Description: This tutorial describes how to run the ABB ROS Server, so the robot will execute motion commands sent from the ROS client node.

Keywords: ABB, Industrial, IRC5

Tutorial Level: BEGINNER


As described in Installing the ROS Server, the ABB ROS Server consists of 3 tasks. In the previous tutorial, 2 of those tasks were configured as SEMISTATIC (background) tasks, and the 3rd task is a NORMAL task. The following sections describe how to run the ABB ROS Server tasks, to allow motion control by external (PC-based) ROS nodes.

Socket-Server Tasks

The two socket-server tasks (ROS_MotionServer and ROS_StateServer) are configured as SEMISTATIC (background) tasks, and will run automatically when the controller is booted. It is not possible to start or stop these tasks from the robot pendant. To restart the tasks, reboot the robot controller.

Robot Motion Task

The T_ROB1 task is responsible for issuing motion commands to the robot. It is run as a NORMAL (foreground) task, and requires explicit user action to run the task. When the controller is booted, it is not able to execute motion commands until the user first runs the T_ROB1 task.

The T_ROB1 task should already be configured with the required RAPID modules when the controller boots. It must also be configured to run in Continuous Mode. Consult the controller's documentation for instructions on how to set the Run Mode using the Quickset Menu.

The following sections describe how to run this task, depending on whether the controller is in MANUAL or AUTO mode:

Running in MANUAL mode

  1. Display the ABB Production Window (or Program Editor) screen

  2. Check to see that a Program Pointer is displayed
    • press the "PP to Main" softkey if required
  3. Hold the pendant Enable Switch

    • the drives should power on, and the screen should show "Motors On"
  4. Press the PLAY button to run the program

  5. Issue the desired motion command from the ROS/PC application

Here are a few notes about running in MANUAL mode:

  • the enable switch must be held during all robot motions

  • the robot runs at reduced speed

  • releasing the enable switch (or pressing STOP) will stop the robot
  • to resume motion, re-engage the enable switch and press the PLAY button
  • ROS may try to cancel the move, since it takes longer than expected. Disable this behavior as described here

Running in AUTO mode

  1. Press the Drives On button on the controller

    • the light should stay on, and the pendant should show "Motors On"
  2. Press the PLAY button to run the program

Here are a few notes about running in AUTO mode:

  • the robot runs at full speed. Be careful.

  • make sure the robot workspace is clear of personnel and obstructions
  • motion could start at any time, when commanded from the remote ROS application
  • press STOP on the pendant to stop the robot, and PLAY to resume motion

Wiki: abb_driver/Tutorials/RunServer (last edited 2020-08-11 12:45:49 by GvdHoorn)