Show EOL distros:
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.
- Author: G.A. vd. Hoorn (TU Delft Robotics Institute)
- License: BSD
- Source: svn https://swri-ros-pkg.googlecode.com/svn/branches/groovy/fanuc
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.
- Maintainer status: developed
- Maintainer: G.A. vd. Hoorn (TU Delft Robotics Institute) <g.a.vanderhoorn AT tudelft DOT nl>
- Author: G.A. vd. Hoorn (TU Delft Robotics Institute)
- License: BSD
- Bug / feature tracker: https://github.com/ros-industrial/fanuc/issues
- Source: git https://github.com/ros-industrial/fanuc.git (branch: hydro)
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.
- Maintainer status: developed
- Maintainer: G.A. vd. Hoorn (TU Delft Robotics Institute) <g.a.vanderhoorn AT tudelft DOT nl>
- Author: G.A. vd. Hoorn (TU Delft Robotics Institute)
- License: BSD
- Bug / feature tracker: https://github.com/ros-industrial/fanuc/issues
- Source: git https://github.com/ros-industrial/fanuc.git (branch: indigo)
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.
- Maintainer status: developed
- Maintainer: G.A. vd. Hoorn (TU Delft Robotics Institute) <g.a.vanderhoorn AT tudelft DOT nl>
- Author: G.A. vd. Hoorn (TU Delft Robotics Institute)
- License: BSD
- Bug / feature tracker: https://github.com/ros-industrial/fanuc/issues
- Source: git https://github.com/ros-industrial/fanuc.git (branch: indigo-devel)
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.
Refer to the readme of this package for a note on the performance of the driver.
- Maintainer status: developed
- Maintainer: G.A. vd. Hoorn (TU Delft Robotics Institute) <g.a.vanderhoorn AT tudelft DOT nl>
- Author: G.A. vd. Hoorn (TU Delft Robotics Institute)
- License: BSD
- Bug / feature tracker: https://github.com/ros-industrial/fanuc/issues
- Source: git https://github.com/ros-industrial/fanuc.git (branch: kinetic)
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.
Refer to the readme of this package for a note on the performance of the driver.
- Maintainer status: developed
- Maintainer: G.A. vd. Hoorn (TU Delft Robotics Institute) <g.a.vanderhoorn AT tudelft DOT nl>
- Author: G.A. vd. Hoorn (TU Delft Robotics Institute)
- License: BSD
- Bug / feature tracker: https://github.com/ros-industrial/fanuc/issues
- Source: git https://github.com/ros-industrial/fanuc.git (branch: kinetic)
Contents
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
Contents
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.
- TCP port the ROS_STATE Karel program is listening on.
- The urdf xml robot description.
- Compensation factor for joint 2-3 coupling (-1, 0 or 1).
- If true, driver will byte-swap all incoming and outgoing data.
- (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.
- 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 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.
- TCP port the ROS_RELAY Karel program is listening on.
- The urdf xml robot description.
- Compensation factor for joint 2-3 coupling (-1, 0 or 1).
- If true, driver will byte-swap all incoming and outgoing data.
- (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.
Contents
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
Binary packages are available for ROS Kinetic, but not all packages have been released.
The following binary packages are available (as of 2019-10-09):
fanuc_driver
fanuc_resources
all support packages (ie: fanuc_*_support)
They can be installed using apt (on Ubuntu and Debian). The other packages (MoveIt configurations and plugins) have to be built from sources (see below).
Installation using apt
To install the driver using apt:
Building from source
In a Catkin workspace:
1 cd /path/to/catkin_ws/src
2
3 # retrieve the latest development version of fanuc. If you'd rather
4 # use the latest released version, replace 'indigo-devel' with 'kinetic'
5 git clone -b indigo-devel https://github.com/ros-industrial/fanuc.git
6
7 cd /path/to/catkin_ws
8
9 # checking dependencies: this may install additional packages
10 rosdep update
11 rosdep install --from-paths src --ignore-src --rosdistro kinetic
12
13 # building
14 catkin_make
15
16 # source this workspace (only if you don't have any others)
17 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.
Melodic compatibility
The packages in this repository have not yet been released for ROS Melodic.
The packages are however largely compatible with ROS Melodic, 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 fanuc. If you'd rather
4 # use the latest released version, replace 'indigo-devel' with 'kinetic'
5 git clone -b indigo-devel https://github.com/ros-industrial/fanuc.git
6
7 cd /path/to/catkin_ws
8
9 # checking dependencies: this may install additional packages
10 rosdep update
11 rosdep install --from-paths src --ignore-src --rosdistro melodic
12
13 # building
14 catkin_make
15
16 # source this workspace (only if you don't have any others)
17 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.