[Documentation] [TitleIndex] [WordIndex

Overview

This page describes how to launch and interface to the generic robot-interface nodes provided by the industrial_robot_client package. These nodes may be suitable to control "standard" robots that do not require robot-specific client-side code. For instructions on modifying these nodes to accommodate robot-specific needs, please see the industrial_robot_client page.

Usage

Before running the nodes, the user must first determine what position-control method is required by the robot-side server code. The ROS-Industrial specification gives several alternative methods of position control, depending on the application needs and robot capabilities. NOTE: The ROS-Industrial specification does allow for a low level streaming interface (sending individual points to the robot, different than the streaming interface below). This is not supported currently by the generic clients.

All supported methods work with the /joint_path_command and /joint_states topics, so should be compatible with standard ROS arm_navigation and MoveIt stacks.

Streaming Interface

The streaming interface sends trajectory commands to the robot on-the-fly. At the ROS level this is functionally equivalent to the download interface, some robot require points be streamed at the driver level:

roslaunch industrial_robot_client robot_interface_streaming.launch robot_ip:=<value>

Download Interface

The download interface sends the entire trajectory to the robot before executing any motion:

roslaunch industrial_robot_client robot_interface_download.launch robot_ip:=<value>

Parameters

The generic robot-interface nodes look for key parameter values to control their behavior. Some of these parameters are set in the launch files. Others must be manually set by the end-user (or added to robot-specific launch files):

Nodes

All industrial_robot_client generic launch files provide the same nodes and topics:

robot_state

Provides feedback of robot position and status from the industrial robot controller.

Published Topics

joint_states (control_msgs/JointState) feedback_states (control_msgs/FollowJointTrajectoryFeedback) robot_status (industrial_msgs/RobotStatus)

Parameters

robot_ip_address (string)

motion_*_interface

Sends joint trajectory messages to the industrial robot controller.

Subscribed Topics

joint_path_command (trajectory_msgs/JointTrajectory)

Parameters

robot_ip_address (string)

joint_trajectory_action

Action interface for commanding robot motion.

Subscribed Topics

joint_trajectory_action/goal (control_msgs/FollowJointTrajectoryActionGoal) joint_trajectory_action/cancel (actionlib_msgs/GoalID) feedback_states (control_msgs/FollowJointTrajectoryFeedback)

Published Topics

joint_path_command (trajectory_msgs/JointTrajectory) joint_trajectory_action/feedback (control_msgs/FollowJointTrajectoryActionFeedback) joint_trajectory_action/status (actionlib_msgs/GoalStatusArray) joint_trajectory_action/result (control_msgs/FollowJointTrajectoryActionResult)

2019-07-13 12:43