[Documentation] [TitleIndex] [WordIndex

ROS-Industrial Tutorials Overview

ROS-Industrial contains many software packages. The packages are split into two categories: general and vendor specific. General information about each package can be found by following links to the package specific-wiki.

If you find any problems/issues with these tutorials, contact us by posting a message in the ROS-Industrial category on ROS Discourse.

Bugs related to a specific vendor stack should be reported to that stack's issue tracker, see the package pages for links. All other issues can be submitted to the generic issue tracker. Use GitHub to report bugs or submit feature requests. [View active issues]

General ROS-Industrial

The following sections cover ROS-Industrial general capabilities, libraries, messages, etc.


The training class curriculum is recommended for new users to both ROS and ROS-Industrial.

  1. Basic Developers' Training Class Curriculum - ROS-I Consortium class for C++ programmers starting with basic Linux and concluding with a vision-enabled pick and place project. Includes slides, step-by-step exercises, and test code.


These tutorials cover assorted topics on ROS-Industrial. The tutorials do not have a specific order and are meant to be followed on a topic by topic basis.

  1. Create a URDF for an Industrial Robot

    Walks through the steps and conventions for creating a Unified Robot Description Format (URDF) for an industrial robot.

  2. Create a MoveIt Package for an Industrial Robot

    Walks through the steps of creating a MoveIt package for an industrial robot. The MoveIt package provides collision-aware path planning for the robot.

  3. Working with ROS-Industrial Robot Support Packages

    This tutorial will provide an overview of the files and directories that make up a ROS-Industrial robot support package and show how to make proper use of the functionality provided by such packages.

  4. Create a Joint Position Streaming Interface utilizing TCP Socket Libraries

    These notes apply to creating the joint position streaming interface on an industrial controller using the ROS-Industrial TCP socket libraries. This interface is good for basic motion and proof of concept integration.

  5. Create a kinematics solution using IK Fast

    This tutorial describes how to automatically create a fast, closed-form analytical kinematics solution for your robot using the IKFast module from OpenRAVE.

Vendor Specific Tutorials

ROS-Industrial provides supporting software for many vendor platforms. Each platform requires different setup and configuration steps in order to be used with ROS-Industrial.


The ABB software package contains drivers and supporting packages for ABB industrial robots.

Please find the tutorials at abb_driver/Tutorials.


The Fanuc software package contains drivers and supporting packages for Fanuc industrial robots.


  1. Installation of the ROS-Industrial driver on Fanuc controllers

    This tutorial guides you through an installation of the ROS-Industrial programs on Fanuc controllers.

  2. Configuration of the ROS-Industrial driver on Fanuc controllers

    This tutorial guides you through the configuration of the ROS-Industrial Fanuc components on the controller.

  3. Running the ROS-Industrial driver programs on your Fanuc robot

    This tutorial explains how to run the ROS-Industrial programs installed in the previous tutorial(s) in simulation and on the real hardware.


  • Please refer to the Indigo tutorials.


  • Please refer to the Indigo tutorials.


The Motoman software package contains drivers and supporting packages for Motoman industrial robots.

The following tutorials are general motoman tutorials and utilize several packages:

  1. Perform Path Planning in Simulation Using Arm Warehouse Viewer

    Gives instructions for launching the arm warehouse viewer for the motoman sia10D robot.

The following tutorials are specific to the dx100 package (<= ROS Groovy):

  1. Creating a DX100 Server Application(<=Groovy)

    This tutorial walks through the steps of creating a server application for the dx100 controller. The server application runs on the controller and allows communications with ROS nodes.

The following tutorials are specific to the motoman_driver package(>=ROS Hydro). This package supports drivers for DX100, DX200, and FS100 controllers:

  1. Installing the Motoman ROS Server

    This tutorial walks through the steps of installing the ROS server code on the FS, DX, and YRC robot controllers

  2. Using the Motoman FS/DX/YRC ROS Interface

    This tutorial walks through the steps of using the DX/FS/YRC interface

  3. Creating a Dual-Arm System (Indigo+)

    This tutorial is related to the setup and configuration for a Dual-Arm system(Multi-Groups) using the Motoman driver

Create a new tutorial:

External Package Tutorials

The following sections provide links to external packages on which ROS-Industrial depends on heavily.


The MoveIt package is the core arm planning library for ROS-Industrial. Tutorials can be found via the Docs menu on that page. Be sure to select the correct version.

Implementation Notes

The tutorials below include just implementation notes. They may or may not become complete tutorials themselves. They are included here because the information in them is not found anywhere else.

  1. Improving ROS-Industrial motion on an Industrial Robot (Implementation Notes)

    This tutorial gives some background information and hint/tips/tricks to achieve faster and smoother motion when using ROS-Industrial

  2. Porting from Google Code to Github (Implementation Notes)

    Short instructions for moving a package from Google code to Github

  3. Create a simple EtherCAT IO network (Implementation Notes)

  4. ROS-Industrial Pull Request Review Process

    Outline of the ROS-Industrial core repository pull request review process.

  5. Verifying a new robot package (Implementation Notes)

  6. Porting Arm Navigation Package from Fuerte to Groovy (Implementation Notes)

  7. Installing PCL Plugin in ParaView (Implementation Notes)

  8. File and directory layout for robot support repositories (Implementation Notes)

    How to organise files and directories within a robot support repository


The tutorials below have been deprecated since they do not apply to the current release of ROS-Industrial. The description indicates the last ROS-Industrial version in which they applied.

1. Create an Arm Navigation Package for and Industrial Robot(<=Groovy)

2024-07-13 12:33