[Documentation] [TitleIndex] [WordIndex

This page provides a detailed description of how different robot platforms comply with the Industrial Robot Driver specification. It is intended for developers and systems integrators needing to evaluate specific functional capabilities. More general compatibility information can be found here.

ROS Interface

Section

Type

Name

Robots

Simulator

Industrial
Robot
Client

Motoman
dx100

Adept
CX/CS

ABB
IRC5

Fanuc
R-30iA

Universal
Robots
UR5

1.3.1

param

robot_ip_address

N/A

Y

N1

N2

Y

Y

N1

1.3.2

pub topic

feedback_states

Y5

Y3

Y3

Y3

Y3

Y3

N

1.3.2

pub topic

joint_states

Y5

Y3

Y3

Y3

Y3

Y3

Y6

1.3.2

pub topic

robot_status

N

Y

Y7

N

N

N

N

1.3.3

sub topic

joint_path_command

Y8

Y

Y4

Y4

Y9

Y4

N10

1.3.3

service

stop_motion

N

Y

N

N

Y

Y

N

1.3.3

service

joint_path_command

N

Y

N

N

Y

Y

N

  1. Uses command-line argument instead.
  2. Hardcoded in source code.
  3. Simple Message only supports actual position feedback.

  4. Performs fixed-speed motion set on robot controller. Ignores ROS velocities/timestamps.

  5. Actual position feedback only.

  6. Actual position/velocity feedback only.

  7. Only responds with motion state.
  8. Assumes stepwise motion, from point-to-point, using time_from_start. Does not interpolate between trajectory points using velocities or accel.
  9. Velocities calculated from time_from_start, assuming continuous motion. Ignores trajectory velocity/accel values.
  10. Provides control_msgs/FollowJointTrajectoryAction directly.

Robot/Client Behavior

Section

Condition

Expected Behavior

Robots

Simulator

Industrial
Robot
Client

Motoman
dx100

Adept
CX/CS

ABB
IRC5

Fanuc
R-30iA

Universal
Robots
UR5

1.2.1

ROS node launched

auto-connect to robot

N/A

Y

Y

Y

Y

Y

Y

1.2.1

robot power-on

ROS comms software auto-runs

N/A

N/A

Y

N

Y

N

Y1

1.2.2

comms loss

ROS node tries repeated reconnects to robot

N/A

Y

Y

N

Y?

Y

?

1.2.2

comms loss

ROS node stops publishing position messages

N/A

Y

Y

Y

Y

Y

?

1.2.2

comms loss

ROS node publishes "disconnected" state messages

N/A

N

N

N

N

N

N

1.2.2

comms loss

robot stops motion and turns off drive power

N/A

N/A

N

?

N?

N8

?

1.2.2

comms loss

robot waits for new connection

N/A

N/A

Y

N

Y

Y9

Y

1.2.2

general

topics/services should not be published/advertised if unsupported

Y

N6

Y

Y

Y

Y

Y

1.3.3

trajectory overflow

trajectory ignored and error logged

N/A

N/A

Y

Y

N2

N/A3

N/A3

1.3.3

trajectory received

robot automatically starts motion

Y

N/A

Y

Y

Y

Y

Y

1.3.3

trajectory completed

motion stops, drive power stays on

Y

N/A

Y

?

Y

Y

Y

1.3.3

trajectory interrupted

cancel current motion, begin new trajectory

N4

Y7

?

N

Y

Y

?

1.3.3

trajectory overlap

points with out-of-order (or in-the-past) time_from_start should be ignored

N5

N5

N5

N5

N5

N5

?

  1. Required software downloaded "on-the-fly" to robot by UR5 ROS node.
  2. Error logged. Trajectory truncated at max-size and executed anyway (not ignored).
  3. Trajectory streamed to robot. No overflow possible.
  4. Simulator is single-threaded. Will block new trajectories (buffered in ROS) until previous trajectory is completed, then execute new trajectories in the order received.
  5. Moves through all trajectory points, in the order received.
  6. Topic publishers are always created. No topic messages are published if robot doesn't provide required simple_message broadcast.
  7. Streaming trajectory only. Reaction is robot-specific for robots using downloaded trajectories.
  8. Motion is stopped, drives remain powered.
  9. Socket time-outs may interfere, see ros-industrial/fanuc/issues/19.


2024-12-28 13:04