Show EOL distros: 

motoman: motoman_config | motoman_driver | motoman_mh5_support | motoman_sia10d_support | motoman_sia20d_moveit_config | motoman_sia20d_support | motoman_sia5d_support

Package Summary

The motoman driver package includes nodes for interfacing with a motoman industrial robot controllers.

  • Maintainer status: maintained
  • Maintainer: Jeremy Zoss (Southwest Research Institute) <jeremy.zoss AT swri DOT org>
  • Author: Jeremy Zoss (Southwest Research Institute) <jeremy.zoss AT swri DOT org>
  • License: BSD
  • Source: git (branch: hydro)


The Motoman driver controller interface was created with the cooperation of Yaskawa Motoman, to provide a more high-performance interface for controlling Motoman robots. This interface provides a number of improvements, including:

  • robot speeds up to 100% of robot capability for DX100, DX200, FS100, and YRC1000 controllers
  • low-level control of joint position, velocity, and path timing
  • improved fault detection and recovery
  • improved motion and controller status feedback

Technology Stack

The following diagram shows the layered architecture of the ROS-Industrial motion stack and how it interfaces with MotoROS on the Yaskawa Motoman controller.

MotoROS Architecture


The software will work on all FS100, DX100, DX200, and YRC1000 robot controllers. However, for DX100 controllers, a specific software option must be explicitly ordered from Motoman in order to enable ROS-Industrial integration (see the MotoPlus Runtime License section below).

For more detailed information, please contact one of the support resources listed on ROS-Industrial Technical Support or Yaskawa Motoman Technical Support.

Controller system software

The latest MotoROS binary (v1.5.0 or higher) requires the following controller firmware (or a newer version):




FS3.30.00-00 (or newer)


DS3.32.00-14 (or newer, and must end in -14)


DN2.21.00-00 (or newer)


YAS1.11.00-00 (or newer)

MotoPlus Runtime License

Note: this is required for the DX100 controller only.

The following part number must be ordered for the DX100 robot controller:


Part number

Americas (North, South)




The MotoROS application and source is available for public download. However, ordering this part number will ensure your controller is updated with correct system software, the MotoROS driver is installed, and all internal parameters are properly configured.

MotoPlus SDK (optional)

Note: This is optional for all controller models, but will allow you to modify the MotoROS driver which runs on the robot controller. The MotoPlus SDK is not required to be able to develop ROS applications, it is only needed if the MotoROS application is to be changed.


America Part Number

Europe Part Number













More information

For more information, please contact Yaskawa Motoman and inquire about the ROS package.

Compatibility with collaborative robots (HC series)

Please note that the MotoROS application is not compatible with the Human Collaborative HC series robots at this time. Refer to Alarm 8003-8 on the Troubleshooting page for more information.


The Motoman driver communicates with ROS through the simple_message interface, with a few additional Motoman-specific message types. Trajectories are streamed to the controller using a message format that captures all the ROS JointTrajectoryPoint data: joint positions, velocities, accelerations, and path timing. The controller buffers these points and interpolates between them to send commands to the controller at the required timing. More detail on the internal operations and required simple_message commands is documented here.


The Motoman driver interface provides a high-performance motion control interface for Motoman robots. Internal testing has demonstrated the ability to stream points at over 50Hz, allowing for feedback-aware control applications. Similar testing has generated robot motion at full rated motion speeds, even when using dense-waypoint trajectories. This capability may even surpass the performance of the native INFORM motion control.

In general, robot motion is fairly smooth, but can be choppy if poorly-filtered trajectory commands are sent. The controller performs only minimal trajectory filtering, so users must take care to properly condition the trajectories before submitting. The interface does provide some low-level filtering, however. Sudden stops or breaks in the trajectory stream result in smooth deceleration on the physical robot hardware.


See the tutorials page for details on installing and using the MotoROS software.


See the troubleshooting page for details on alarms and errors when using the MotoROS driver.

Wiki: motoman_driver (last edited 2018-09-07 22:35:51 by AndyZe)