Show EOL distros: 

fanuc: fanuc_assets | fanuc_driver | fanuc_m10ia_arm_navigation | fanuc_m10ia_support | fanuc_m16ib20_arm_navigation | fanuc_m16ib_support | fanuc_m430ia2f_arm_navigation | fanuc_m430ia_support

Package Summary

This package is part of the ROS Industrial program and contains nodes for interfacing with Fanuc industrial robot controllers that support the KAREL programming environment.

fanuc: fanuc_assets | fanuc_driver | fanuc_lrmate200ic5h_moveit_config | fanuc_lrmate200ic5l_moveit_config | fanuc_lrmate200ic_moveit_config | fanuc_lrmate200ic_moveit_plugins | fanuc_lrmate200ic_support | fanuc_m10ia_moveit_config | fanuc_m10ia_moveit_plugins | fanuc_m10ia_support | fanuc_m16ib20_moveit_config | fanuc_m16ib_moveit_plugins | fanuc_m16ib_support | fanuc_m20ia10l_moveit_config | fanuc_m20ia_moveit_config | fanuc_m20ia_moveit_plugins | fanuc_m20ia_support | fanuc_m430ia2f_moveit_config | fanuc_m430ia2p_moveit_config | fanuc_m430ia_moveit_plugins | fanuc_m430ia_support | fanuc_resources

Package Summary

ROS-Industrial nodes for interfacing with Fanuc robot controllers.

This package is part of the ROS-Industrial program and contains nodes for interfacing with Fanuc industrial robot controllers that support the KAREL programming environment.

fanuc: fanuc_driver | fanuc_lrmate200ib3l_moveit_config | fanuc_lrmate200ib_moveit_config | fanuc_lrmate200ib_moveit_plugins | fanuc_lrmate200ib_support | fanuc_lrmate200ic5h_moveit_config | fanuc_lrmate200ic5l_moveit_config | fanuc_lrmate200ic_moveit_config | fanuc_lrmate200ic_moveit_plugins | fanuc_lrmate200ic_support | fanuc_m10ia_moveit_config | fanuc_m10ia_moveit_plugins | fanuc_m10ia_support | fanuc_m16ib20_moveit_config | fanuc_m16ib_moveit_plugins | fanuc_m16ib_support | fanuc_m20ia10l_moveit_config | fanuc_m20ia_moveit_config | fanuc_m20ia_moveit_plugins | fanuc_m20ia_support | fanuc_m430ia2f_moveit_config | fanuc_m430ia2p_moveit_config | fanuc_m430ia_moveit_plugins | fanuc_m430ia_support | fanuc_m6ib_moveit_config | fanuc_m6ib_moveit_plugins | fanuc_m6ib_support | fanuc_resources

Package Summary

ROS-Industrial nodes for interfacing with Fanuc robot controllers.

This package is part of the ROS-Industrial program and contains nodes for interfacing with Fanuc industrial robot controllers that support the KAREL programming environment.

fanuc: fanuc_driver | fanuc_lrmate200ic5h_moveit_config | fanuc_lrmate200ic5l_moveit_config | fanuc_lrmate200ic_moveit_config | fanuc_lrmate200ic_moveit_plugins | fanuc_lrmate200ic_support | fanuc_m10ia_moveit_config | fanuc_m10ia_moveit_plugins | fanuc_m10ia_support | fanuc_m16ib20_moveit_config | fanuc_m16ib_moveit_plugins | fanuc_m16ib_support | fanuc_m20ia10l_moveit_config | fanuc_m20ia_moveit_config | fanuc_m20ia_moveit_plugins | fanuc_m20ia_support | fanuc_m430ia2f_moveit_config | fanuc_m430ia2p_moveit_config | fanuc_m430ia_moveit_plugins | fanuc_m430ia_support | fanuc_resources

Package Summary

ROS-Industrial nodes for interfacing with Fanuc robot controllers.

This package is part of the ROS-Industrial program and contains nodes for interfacing with Fanuc industrial robot controllers that support the KAREL programming environment.

fanuc: fanuc_driver | fanuc_lrmate200ib3l_moveit_config | fanuc_lrmate200ib_moveit_config | fanuc_lrmate200ib_moveit_plugins | fanuc_lrmate200ib_support | fanuc_lrmate200ic5h_moveit_config | fanuc_lrmate200ic5l_moveit_config | fanuc_lrmate200ic_moveit_config | fanuc_lrmate200ic_moveit_plugins | fanuc_lrmate200ic_support | fanuc_m10ia_moveit_config | fanuc_m10ia_moveit_plugins | fanuc_m10ia_support | fanuc_m16ib20_moveit_config | fanuc_m16ib_moveit_plugins | fanuc_m16ib_support | fanuc_m20ia10l_moveit_config | fanuc_m20ia_moveit_config | fanuc_m20ia_moveit_plugins | fanuc_m20ia_support | fanuc_m430ia2f_moveit_config | fanuc_m430ia2p_moveit_config | fanuc_m430ia_moveit_plugins | fanuc_m430ia_support | fanuc_m6ib_moveit_config | fanuc_m6ib_moveit_plugins | fanuc_m6ib_support | fanuc_resources

Package Summary

ROS-Industrial nodes for interfacing with Fanuc robot controllers.

This package is part of the ROS-Industrial program and contains nodes for interfacing with Fanuc industrial robot controllers that support the KAREL programming environment.

Overview

This package enables specific ROS nodes to communicate with Fanuc industrial robot controllers, using the protocol defined in the simple_message package. Only joint position streaming is supported (packet type: JOINT_TRAJ_PT), with the controller currently overriding commanded velocity with a constant one. Trajectory downloading, velocity or force control are not yet supported. See the relevant sections of the Industrial Robot Driver Specification and the HardwareCompatibility page for more information.

On the robot controller side, two KAREL programs implement the joint state proxy and the trajectory relay, transmitting joint states and receiving joint position set points respectively. These programs should work on most Fanuc controller cabinets, and have been tested on a R-30iA with an M-10iA, M-16iB/20, M-430iA/2F. Additionally, versions 7 and 8 of Roboguide HandlingPro have been successfully used, with the same hardware setups as well as a simulated version of the M-430iA/2P.

Requirements

In order to be able to run the KAREL programs in this package on the Fanuc controller, the following options need to be present (in addition to basic networking and TCP/IP support):

  • R632 - KAREL
  • R648 - User Socket Messaging

While not strictly necessary, the use of the Fanuc Roboguide environment is recommended, as it can be used for simulation as well as configuration of the actual controller hardware.

Tutorials

Use the links on the Tutorials page for access to the tutorials. These explain how to install and set up the KAREL programs on the controller, as well as how to use them in conjunction with the ROS nodes in this package.

Troubleshooting

See the Troubleshooting page for a listing of common errors and possible solutions.

Overview

This package enables specific ROS nodes to communicate with Fanuc industrial robot controllers, using the protocol defined in the simple_message package. Only joint position streaming is supported (packet type: JOINT_TRAJ_PT), with the controller currently overriding commanded velocity with a constant one (see fanuc/issues/1). Trajectory downloading, velocity or force control are not yet supported. See the relevant sections of the Industrial Robot Driver Specification and the HardwareCompatibility page for more information.

On the robot controller side, two KAREL programs implement the joint state proxy and the trajectory relay, transmitting joint states and receiving joint position set points respectively. These programs should work on most Fanuc controller cabinets, provided they support a relatively recent version of Karel (system V7.20 and up). The driver is manipulator agnostic, and is expected to work with all Fanuc manipulators that can be controlled by R-30iA and R-30iB cabinets (older controllers will require changes to the driver, but can be made to work. Please contact the maintainer if you are interested).

Requirements

In order to be able to run the KAREL programs in this package on the Fanuc controller, the following options need to be present (in addition to basic networking and TCP/IP support):

  • R632 - KAREL
  • R648 - User Socket Messaging

While not strictly necessary, the use of the Fanuc Roboguide environment is recommended, as it can be used for simulation as well as configuration of the actual controller hardware.

The KAREL option (R632) may not always be necessary. Contact the maintainer if you're interested in using this package on a controller without that option (see the Package Summary above for contact details).

Hardware compatibility

The current implementation has been tested on R-30iA controllers with M-10iA (and ARC Mate 100iC), M-16iB/20, M-20iA/10L, M-430iA/2F, R-2000iA/165F and LR Mate 200iC/5L manipulators.

In addition, the driver has been used with simulated work cells (Roboguide v7 and v8) running M-20iA, M-430iA/2P, M-900iA/600, LR Mate 200iC (all variants), LR Mate 200iD (with R-30iB), and an R-2000iB/175L.

For more information and comparisons with other ROS-Industrial drivers, see the HardwareCompatibility page.

Tutorials

Use the links on the Tutorials page for access to the tutorials. These explain how to install and set up the KAREL programs on the controller, as well as how to use them in conjunction with the ROS nodes in this package.

Troubleshooting

See the Troubleshooting page for a listing of common errors and possible solutions.

Binaries

The following list contains links to binaries of the KAREL and TP programs that are to be installed on the controller. Refer to the Tutorials for more information.

  • Hydro release (v0.2.0), HandlingTool (v7.70) - download

Overview

This package enables specific ROS nodes to communicate with Fanuc industrial robot controllers, using the protocol defined in the simple_message package. Only joint position streaming is supported (packet type: JOINT_TRAJ_PT), with the controller currently overriding commanded velocity with a constant one (see fanuc/issues/1). Trajectory downloading, velocity or force control are not yet supported. See the relevant sections of the Industrial Robot Driver Specification and the HardwareCompatibility page for more information.

On the robot controller side, two KAREL programs implement the joint state proxy and the trajectory relay, transmitting joint states and receiving joint position set points respectively. These programs should work on most Fanuc controller cabinets, provided they support a relatively recent version of Karel (system V7.20 and up). The driver is manipulator agnostic, and is expected to work with all Fanuc manipulators that can be controlled by R-30iA, R-30iB and R-30iB+ cabinets (no explicit support for collaborative features). Older controllers will require changes to the driver, but can be made to work. Please contact the maintainer if you are interested.

Experimental driver

The fanuc_driver_exp repository contains an experimental replacement for fanuc_driver that is currently being beta-tested.

It is backwards compatible and can be used as a drop-in replacement for the controller side of fanuc_driver (ie: the Karel and TP code).

See the fanuc_driver_exp repository readme for information on how to install it.

Requirements

In order to be able to run the KAREL programs in this package on the Fanuc controller, the following options need to be present (in addition to basic networking and TCP/IP support):

  • R632 - KAREL
  • R648 - User Socket Messaging

While not strictly necessary, the use of the Fanuc Roboguide environment is recommended, as it can be used for simulation as well as configuration of the actual controller hardware.

The KAREL option (R632) may not always be necessary. Contact the maintainer if you're interested in using this package on a controller without that option (see the Package Summary above for contact details).

Hardware compatibility

The current implementation has been tested on R-30iA, R-30iB and R-30iB+ controllers. Specific manipulators tested include the M-10iA (and ARC Mate 100iC), M-16iB/20, M-20iA/10L, M-430iA/2F, R-2000iA/165F and LR Mate 200iC/5L.

In addition, the driver has been used with simulated work cells (Roboguide v7, v8 and v9) running M-20iA, M-430iA/2P, M-900iA/600, LR Mate 200iC (all variants), LR Mate 200iD (with R-30iB), and an R-2000iB/175L.

For more information and comparisons with other ROS-Industrial drivers, see the HardwareCompatibility page.

Nodes

robot_state

Connects to the ROS_STATE Karel program on the controller and publishes joint states.

Action Feedback

feedback_states (control_msgs/FollowJointTrajectory)
  • Provide feedback of current vs. desired joint position (and velocity/acceleration).

Published Topics

joint_states (sensor_msgs/JointState)
  • Joint state for all joints of the connected robot.

Parameters

robot_ip_address (str, default: no default)
  • IP address of the controller to connect to. If this is not set the node will exit.
~port (integer, default: 11002)
  • TCP port the ROS_STATE Karel program is listening on.
robot_description (str, default: no default)
  • The urdf xml robot description.
J23_factor (integer, default: no default)
  • Compensation factor for joint 2-3 coupling (-1, 0 or 1).
use_bswap (boolean, default: no default)
  • If true, driver will byte-swap all incoming and outgoing data.
controller_joint_names ([str, str, str, ..])
  • (optional) A list containing all joints the driver should assume control over. If this parameter is not found, the driver will try to extract this from the robot_description parameter, but this will result in all joints in the urdf to be included. If the driver should only publish joint states for a subset of the joints in the urdf, the controller_joint_names parameter must be set.

motion_streaming_interface

Connects to the ROS_RELAY Karel program on the controller and streams trajectories.

Subscribed Topics

joint_states (sensor_msgs/JointState)
  • Joint state for all joints of the connected robot.
joint_path_command (trajectory_msgs/JointTrajectory)
  • Execute a pre-calculated joint trajectory on the robot.

Services

joint_path_command (industrial_msgs/CmdJointTrajectory)
  • Execute a new motion trajectory on the robot.
stop_motion (industrial_msgs/StopMotion)
  • Stop execution of the current motion at the earliest time possible.

Parameters

robot_ip_address (str, default: no default)
  • IP address of the controller to connect to. If this is not set the node will exit.
~port (integer, default: 11000)
  • TCP port the ROS_RELAY Karel program is listening on.
robot_description (str, default: no default)
  • The urdf xml robot description.
J23_factor (integer, default: none)
  • Compensation factor for joint 2-3 coupling (-1, 0 or 1).
use_bswap (boolean, default: no default)
  • If true, driver will byte-swap all incoming and outgoing data.
controller_joint_names ([str, str, str, ..])
  • (optional) A list containing all joints the driver should assume control over. If this parameter is not found, the driver will try to extract this from the robot_description parameter, but this will result in all joints in the urdf to be included. If the driver should only control a subset of the joints in the urdf, the controller_joint_names parameter must be set.

Tutorials

Use the links on the Tutorials page for access to the tutorials. These explain how to install and set up the KAREL programs on the controller, as well as how to use them in conjunction with the ROS nodes in this package.

Troubleshooting

See the Troubleshooting page for a listing of common errors and possible solutions.

Overview

This package enables specific ROS nodes to communicate with Fanuc industrial robot controllers, using the protocol defined in the simple_message package.

Jade compatibility

The packages in this repository have not yet been released for ROS Jade (see fanuc/issue 180 for more information).

The packages are however fully compatible with ROS Jade, and can be used after building them from source.

In a catkin workspace:

   1 cd /path/to/catkin_ws/src
   2 
   3 # retrieve the latest development version of industrial_core. If you'd rather
   4 # use the latest released version, replace 'indigo-devel' with 'indigo'
   5 git clone -b indigo-devel https://github.com/ros-industrial/industrial_core.git
   6 
   7 # retrieve the latest development version of fanuc. If you'd rather
   8 # use the latest released version, replace 'indigo-devel' with 'indigo'
   9 git clone -b indigo-devel https://github.com/ros-industrial/fanuc.git
  10 
  11 cd /path/to/catkin_ws
  12 
  13 # checking dependencies: this may install additional packages
  14 rosdep install --from-paths src --ignore-src --rosdistro jade
  15 
  16 # building
  17 catkin_make
  18 
  19 # source this workspace (only if you don't have any others)
  20 source /path/to/catkin_ws/devel/setup.bash

Refer to the catkin tutorials for more information on building catkin workspaces.

Further information

See the Indigo specific page of fanuc_driver for information on requirements, access to the tutorials, the Troubleshooting page and other information.

Overview

This package enables specific ROS nodes to communicate with Fanuc industrial robot controllers, using the protocol defined in the simple_message package.

Experimental driver

The fanuc_driver_exp repository contains an experimental replacement for fanuc_driver that is currently being beta-tested.

It is backwards compatible and can be used as a drop-in replacement for the controller side of fanuc_driver (ie: the Karel and TP code).

See the fanuc_driver_exp repository readme for information on how to install it.

Kinetic compatibility

The packages in this repository have not yet been released for ROS Kinetic.

The packages are however largely compatible with ROS Kinetic, and can be used after building them from source.

In a catkin workspace:

   1 cd /path/to/catkin_ws/src
   2 
   3 # retrieve the latest development version of industrial_core. If you'd rather
   4 # use the latest released version, replace 'kinetic-devel' with 'kinetic'
   5 git clone -b kinetic-devel https://github.com/ros-industrial/industrial_core.git
   6 
   7 # retrieve the latest development version of fanuc. If you'd rather
   8 # use the latest released version, replace 'indigo-devel' with 'indigo'
   9 git clone -b indigo-devel https://github.com/ros-industrial/fanuc.git
  10 
  11 cd /path/to/catkin_ws
  12 
  13 # checking dependencies: this may install additional packages
  14 rosdep install --from-paths src --ignore-src --rosdistro kinetic
  15 
  16 # building
  17 catkin_make
  18 
  19 # source this workspace (only if you don't have any others)
  20 source /path/to/catkin_ws/devel/setup.bash

Refer to the catkin tutorials for more information on building catkin workspaces.

Further information

See the Indigo specific page of fanuc_driver for information on requirements, access to the tutorials, the Troubleshooting page and other information.

Wiki: fanuc_driver (last edited 2017-04-25 14:13:59 by GvdHoorn)