目录
ROS-Industrial Tutorials Overview
ROS-Industrial contains many software packages. The packages are split into two categories: general and vendor specific. General information about each package can be found by following links to the package specific-wiki.
Contact us using the developers group (swri-ros-pkg-dev) if you find any problems/issues with these tutorials.
Bugs related to a specific vendor stack should be reported to that stack's issue tracker, see the package pages for links. All other issues can be submitted to the generic issue tracker. Use GitHub to report bugs or submit feature requests. [View active issues]
General ROS-Industrial
The following sections cover ROS-Industrial general capabilities, libraries, messages, etc.
Training
The training class curriculum is recommended for new users to both ROS and ROS-Industrial.
-
Basic Developers' Training Class Curriculum - ROS-I Consortium class for C++ programmers starting with basic Linux and concluding with a vision-enabled pick and place project. Includes slides, step-by-step exercises, and test code. Visit GitHub for the code.
General
These tutorials cover assorted topics on ROS-Industrial. The tutorials do not have a specific order and are meant to be followed on a topic by topic basis.
- Create a URDF for an Industrial Robot
Walks through the steps and conventions for creating a Unified Robot Description Format (URDF) for an industrial robot.
- Create a Joint Position Streaming Interface utilizing TCP Socket Libraries
These notes apply to creating the joint position streaming interface on an industrial controller using the ROS-Industrial TCP socket libraries. This interface is good for basic motion and proof of concept integration.
- Create a kinematics solution using IK Fast
This tutorial describes how to automatically create a fast, closed-form analytical kinematics solution for your robot using the IKFast module from OpenRAVE.
- Create a MoveIt Package for an Industrial Robot
Walks through the steps of creating a moveIt package for an industrial robot. The moveIt package provides collision-aware path planning for the robot.
Industrial Calibration Toolbox
- Extrinsic Calibration of Camera(s) to a Static Target
This tutorial will explain how to use the industrial_extrinsic_cal package to calibrate one or two cameras to a checkerboard or circle grid target. If using two cameras, they both should have the same target in their field of view. If using the unchanged repository provided yaml files for parameters, then you will need at least one Asus/Kinect cameras and a checkerboard (12x12 square checkerboard (11x11 points)) or circle grid (5x7 circles).
Create a new tutorial:
Industrial MoveIt
The Industrial MoveIt software package contains industrial add-ons to the MoveIt motion planning library.
- Creating Custom IK Solver with constrained_ik
Creating custom instance of IK solver using constrained IK package
- Adding constrained_ik to MoveIt kinematics
Covers the steps to expose constrained_ik as an IK solver for MoveIt
Create a new tutorial:
Industrial Trajectory Filters
The Industrial Trajectory Filters package contains filters for the trajectory_msgs/JointTrajectory messages.
The following are Industrial Trajectory Filter specific tutorials:
- Converting arm navigation trajectory filters into MoveIt Planning Request Adapters
This tutorial describes how to convert an Arm Navigation Trajectory Filter Plugin into a MoveIt Planning Request Adapter that can be compiled in a catkin package. (<=Groovy)
- Developing a Planning Request Adapter
This tutorial is a step by step development of a planning request adapter using a simple smoothing filter as an example
- Using a planning adapter inside of MoveIt.
This tutorial will show you how to use a planning request adapter with MoveIt.
Tutorials for using trajectory filters with Arm Navigation (deprecated in Groovy, unsupported in Hydro and later):
- Utilizing Trajectory Filters with a Generated Arm Navigation Package
Gives an overview of the common industrial trajectory filters and shows how to apply them to an auto-generated arm navigation package
Vendor Specific Tutorials
ROS-Industrial provides supporting software for many vendor platforms. Each platform requires different setup and configuration steps in order to be used with ROS-Industrial.
ABB
The ABB software package contains drivers and supporting packages for ABB industrial robots.
The following tutorials are provided to demonstrate installation and operation of an ABB robot using the ROS Industrial interfaces:
- Installing the ABB ROS Server
This tutorial walks through the steps of installing the ROS server code on the ABB robot controller and configuring the required controller settings.
- Running the ROS Server
This tutorial describes how to run the ABB ROS Server, so the robot will execute motion commands sent from the ROS client node.
The following tutorials show how to use the ABB Robot Studio with the driver:
-
Using Simulated Robot in Robot Studio
This tutorial describes how to setup the ABB RobotStudio simulator for use with the ROS-Industrial driver.
Create a new tutorial:
Fanuc
The Fanuc software package contains drivers and supporting packages for Fanuc industrial robots.
Fuerte and earlier
-
There are no tutorials for the Fanuc packages for Fuerte or earlier.
Groovy
- Installation of ROS-Industrial on Fanuc controllers
This tutorial guides you through an installation of the ROS-Industrial programs on Fanuc controllers.
- Running the ROS-Industrial programs on your Fanuc robot
This tutorial explains how to run the ROS-Industrial programs installed in the previous tutorial in simulation and on the real hardware.
Hydro
- Installation of ROS-Industrial on Fanuc controllers
This tutorial guides you through an installation of the ROS-Industrial programs on Fanuc controllers.
- Configuration of ROS-Industrial on Fanuc controllers
This tutorial guides you through the configuration of the ROS-Industrial Fanuc components on the controller.
- Running the ROS-Industrial programs on your Fanuc robot
This tutorial explains how to run the ROS-Industrial programs installed in the previous tutorial in simulation and on the real hardware.
Indigo
- Please refer to the Hydro tutorials for now.
Motoman
The Motoman software package contains drivers and supporting packages for Motoman industrial robots.
The following tutorials are general motoman tutorials and utilize several packages:
- Perform Path Planning in Simulation Using Arm Warehouse Viewer
Gives instructions for launching the arm warehouse viewer for the motoman sia10D robot.
The following tutorials are specific to the dx100 package (<= ROS Groovy):
- Creating a DX100 Server Application(<=Groovy)
This tutorial walks through the steps of creating a server application for the dx100 controller. The server application runs on the controller and allows communications with ROS nodes.
The following tutorials are specific to the motoman_driver package(>=ROS Hydro). This package supports drivers for both the FS100 and DX100 controllers:
- Installing the Motoman FS/DX100 ROS Server(Hydro+)
This tutorial walks through the steps of installing the ROS server code on the FS/DX100 robot controller
- Using the Motoman FS/DX100 ROS Interface(Hydro+)
This tutorial walks through the steps of using the FS/DX100 interface
Create a new tutorial:
Robotiq
The Robotiq software package contains drivers and supporting packages for Robotiq adaptive grippers.
- Control of an S-Model Gripper using the Modbus TCP protocol
This tutorial explains how to use the "robotiq_s_model_control" and "robotiq_modbus_tcp" packages to control an S-Model Gripper configured with the Modbus TCP protocol. Please visit this website for more information on the Robotiq Adaptive Robot Grippers.
Create a new tutorial:
External Package Tutorials
The following sections provide links to external packages on which ROS-Industrial depends on heavily.
MoveIt
The MoveIt package is the core arm planning library for ROS-Industrial. Tutorials can be found here.
Implementation Notes
The tutorials below include just implementation notes. They may or may not become complete tutorials themselves. They are included here because the information in them is not found anywhere else.
- Improving ROS-Industrial motion on an Industrial Robot (Implementation Notes)
This tutorial gives some background information and hint/tips/tricks to achieve faster and smoother motion when using ROS-Industrial
- Porting from Google Code to Github (Implementation Notes)
Short instructions for moving a package from Google code to Github
- Create a simple EtherCAT IO network (Implementation Notes)
- ROS Industrial Pull Request Review Process
Outline of the ROS Industrial core repository pull request review process.
- Verifying a new robot package (Implementation Notes)
- Porting Arm Navigation Package from Fuerte to Groovy (Implementation Notes)
- Installing PCL Plugin in ParaView (Implementation Notes)
- File and directory layout for robot support repositories (Implementation Notes)
How to organise files and directories within a robot support repository
Coming Soon Tutorials
Tutorials for the following packages are coming soon.
Adept
The Adept software package contains drivers and supporting packages for Adept industrial robots.
Coming Soon
Universal Robot
The Universal Robot software package contains drivers and supporting packages for Universal Robot industrial robots.
Coming Soon
Industrial Core
The Industrial Core software package contains core functionality for ROS-Industrial.
Coming Soon
Deprecated
The tutorials below have been deprecated since they do not apply to the current release of ROS-Industrial. The description indicates the last ROS-Industrial version in which they applied.
1. Create an Arm Navigation Package for and Industrial Robot(<=Groovy)
- This tutorial describes how to create and arm navigation package.
Wiki: Industrial/Tutorials (2014-05-29 20:28:06由DrChrisLewis编辑)