-
 

industrial_core repository

Repository Summary

Checkout URI https://github.com/ros-industrial/industrial_core.git
VCS Type git
VCS Version melodic
Last Updated 2021-07-15
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

README

Industrial Core

Build Status: Ubuntu Bionic (Actions) Build Status: Ubuntu Focal (Actions) Github Issues

license - bsd 3 clause

support level: community

ROS-Industrial core communications packages. See the ROS wiki page for more information.

Contents

Branch naming follows the ROS distribution they are compatible with. -devel branches may be unstable. Releases are made from the distribution branches (hydro, indigo, jade, kinetic, lunar, melodic).

Older releases may be found in the old ROS-Industrial subversion repository.

Status

The packages in this repository are community supported. This means they do not get support from an OEM, nor from the ROS-Industrial consortia directly (see also the support level badge at the top of this page).

Maintenance and development is on a best-effort basis and depends on volunteers.

Installation

Binary packages are available for ROS Kinetic and ROS Melodic.

They can be installed using apt on Debian/Ubuntu.

Example

To install industrial_core on Ubuntu Bionic for ROS Melodic (after having followed the normal ROS Melodic installation tutorial):

sudo apt install ros-melodic-industrial-core

This would install all the packages in this repository (and all their dependencies).

Building

On newer (or older) versions of ROS

Building the packages on newer (or older) versions of ROS is in most cases possible and supported. For example: building the packages in this repository on Ubuntu Focal/ROS Noetic systems is supported. This will require creating a Catkin workspace, cloning this repository, installing all required dependencies and finally building the workspace.

Catkin tools

It is recommended to use catkin_tools instead of the default catkin when building ROS workspaces. catkin_tools provides a number of benefits over regular catkin_make and will be used in the instructions below. All packages can be built using catkin_make however: use catkin_make in place of catkin build where appropriate.

Building the packages

The following instructions assume that a Catkin workspace has been created at $HOME/catkin_ws and that the source space is at $HOME/catkin_ws/src. Update paths appropriately if they are different on the build machine.

These instructions build the melodic-devel branch on a ROS Melodic system:

# change to the root of the Catkin workspace
$ cd $HOME/catkin_ws

# retrieve the latest development version of industrial_core. If you'd rather
# use the latest released version, replace 'melodic-devel' with 'melodic'
$ git clone -b melodic-devel https://github.com/ros-industrial/industrial_core.git src/industrial_core

# check build dependencies. Note: this may install additional packages,
# depending on the software installed on the machine
$ rosdep update

# be sure to change 'melodic' to whichever ROS release you are using
$ rosdep install --from-paths src/ --ignore-src --rosdistro melodic

# build the workspace (using catkin_tools)
$ catkin build

Activating the workspace

Finally, activate the workspace to get access to the packages just built:

$ source $HOME/catkin_ws/devel/setup.bash

At this point all packages should be usable (ie: roslaunch should be able to auto-complete package names starting with industrial_..). In case the workspace contains additional packages (ie: not from this repository), those should also still be available.

ROS Distro Support

  Kinetic Melodic
Branch kinetic-devel kinetic-devel
Status supported supported
Version version version

CONTRIBUTING

ROS-Industrial is a community project. We welcome contributions from any source, from those who are extremely active to casual users. The following sections outline the steps on how to contribute to ROS-Industrial. It assumes there is an existing repository to which one would like to contribute (item 1 in the figure above) and one is familiar with the Git “Fork and Branch” workflow, detailed here.

  1. Before any development is undertaken, a contributor would communicate a need and/or issue to the ROS-Industrial community. This can be done by submitting an issue on the appropriate GitHub repo, the issues repo, or by posting a message in the ROS-Industrial category on ROS Discourse. . Doing so may save you time if similar development is underway and ensure that whatever approach you take is acceptable to the community of reviewers once it is submitted.
  2. The second step (item 2) is to implement your change. If you are working on a code contribution, we highly recommend you utilize the ROS Qt-Creator Plug-in. Verify that your change successfully builds and passes all tests.
  3. Next, push your changes to a “feature” branch in your personal fork of the repo and issue a pull request (PR)(item 3). The PR allows maintainers to review the submitted code. Before the PR can be accepted, the maintainer and contributor must agree that the contribution is implemented appropriately. This process can take several back-and-forth steps (see example). Contributors should expect to spend as much time reviewing/changing the code as on the initial implementation. This time can be minimized by communicating with the ROS-Industrial community before any contribution is made.
  4. Issuing a Pull Request (PR) triggers the Travis Continuous Integrations (CI) step (item 4) which happens automatically in the background. The Travis CI performs several operations, and if any of the steps below fail, then the PR is marked accordingly for the maintainer.
    • Travis Workflow:
    • Installs a barebones ROS distribution on a fresh Ubuntu virtual machine.
    • Creates a catkin workspace and puts the repository in it.
    • Uses wstool to check out any from-source dependencies (i.e. other repositories).
    • Resolves package dependencies using rosdep (i.e. install packages using apt-get).
    • Compiles the catkin workspace.
    • Runs all available unit tests.
  5. If the PR passes Travis CI and one of the maintainers is satisfied with the changes, they post a +1 as a comment on the PR (item 5). The +1 signifies that the PR is ready to be merged. All PRs require at least one +1 and pass Travis CI before it can be merged.
  6. The next step (item 6) is for the PR to be merged into the main branch. This is done through the GitHub web interface by selecting the “Merge pull request” button. After the PR is merged, all status badges are updated automatically.
  7. Periodically, the maintainer will release the package (item 7), which then gets sent to the ROS Build Farm for Debian creation.
  8. The publishing of the released packages (item 8) is managed by OSRF and is not on a set schedule. This usually happens when all packages for a given distro are built successfully and stable. The current status for the distro kinetic can be found here . Navigating to other distros can be done by changing the distro name in the link.
  9. Once the package has been published, it is available to be installed by the developer (item 9).
  10. After the install of a new version, the developer may have questions, experience issues or it may not have the necessary functionality which should all be reported on the packages GitHub repository as an issue (item 10). If an issue is identified or there is missing functionality that the developer requires, the cycle starts back at (item 2).

For more details, please refer to the ROS-I wiki.


Repository Summary

Checkout URI https://github.com/ros-industrial/industrial_core.git
VCS Type git
VCS Version melodic
Last Updated 2021-07-15
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

README

Industrial Core

Build Status: Ubuntu Bionic (Actions) Build Status: Ubuntu Focal (Actions) Github Issues

license - bsd 3 clause

support level: community

ROS-Industrial core communications packages. See the ROS wiki page for more information.

Contents

Branch naming follows the ROS distribution they are compatible with. -devel branches may be unstable. Releases are made from the distribution branches (hydro, indigo, jade, kinetic, lunar, melodic).

Older releases may be found in the old ROS-Industrial subversion repository.

Status

The packages in this repository are community supported. This means they do not get support from an OEM, nor from the ROS-Industrial consortia directly (see also the support level badge at the top of this page).

Maintenance and development is on a best-effort basis and depends on volunteers.

Installation

Binary packages are available for ROS Kinetic and ROS Melodic.

They can be installed using apt on Debian/Ubuntu.

Example

To install industrial_core on Ubuntu Bionic for ROS Melodic (after having followed the normal ROS Melodic installation tutorial):

sudo apt install ros-melodic-industrial-core

This would install all the packages in this repository (and all their dependencies).

Building

On newer (or older) versions of ROS

Building the packages on newer (or older) versions of ROS is in most cases possible and supported. For example: building the packages in this repository on Ubuntu Focal/ROS Noetic systems is supported. This will require creating a Catkin workspace, cloning this repository, installing all required dependencies and finally building the workspace.

Catkin tools

It is recommended to use catkin_tools instead of the default catkin when building ROS workspaces. catkin_tools provides a number of benefits over regular catkin_make and will be used in the instructions below. All packages can be built using catkin_make however: use catkin_make in place of catkin build where appropriate.

Building the packages

The following instructions assume that a Catkin workspace has been created at $HOME/catkin_ws and that the source space is at $HOME/catkin_ws/src. Update paths appropriately if they are different on the build machine.

These instructions build the melodic-devel branch on a ROS Melodic system:

# change to the root of the Catkin workspace
$ cd $HOME/catkin_ws

# retrieve the latest development version of industrial_core. If you'd rather
# use the latest released version, replace 'melodic-devel' with 'melodic'
$ git clone -b melodic-devel https://github.com/ros-industrial/industrial_core.git src/industrial_core

# check build dependencies. Note: this may install additional packages,
# depending on the software installed on the machine
$ rosdep update

# be sure to change 'melodic' to whichever ROS release you are using
$ rosdep install --from-paths src/ --ignore-src --rosdistro melodic

# build the workspace (using catkin_tools)
$ catkin build

Activating the workspace

Finally, activate the workspace to get access to the packages just built:

$ source $HOME/catkin_ws/devel/setup.bash

At this point all packages should be usable (ie: roslaunch should be able to auto-complete package names starting with industrial_..). In case the workspace contains additional packages (ie: not from this repository), those should also still be available.

ROS Distro Support

  Kinetic Melodic
Branch kinetic-devel kinetic-devel
Status supported supported
Version version version

CONTRIBUTING

ROS-Industrial is a community project. We welcome contributions from any source, from those who are extremely active to casual users. The following sections outline the steps on how to contribute to ROS-Industrial. It assumes there is an existing repository to which one would like to contribute (item 1 in the figure above) and one is familiar with the Git “Fork and Branch” workflow, detailed here.

  1. Before any development is undertaken, a contributor would communicate a need and/or issue to the ROS-Industrial community. This can be done by submitting an issue on the appropriate GitHub repo, the issues repo, or by posting a message in the ROS-Industrial category on ROS Discourse. . Doing so may save you time if similar development is underway and ensure that whatever approach you take is acceptable to the community of reviewers once it is submitted.
  2. The second step (item 2) is to implement your change. If you are working on a code contribution, we highly recommend you utilize the ROS Qt-Creator Plug-in. Verify that your change successfully builds and passes all tests.
  3. Next, push your changes to a “feature” branch in your personal fork of the repo and issue a pull request (PR)(item 3). The PR allows maintainers to review the submitted code. Before the PR can be accepted, the maintainer and contributor must agree that the contribution is implemented appropriately. This process can take several back-and-forth steps (see example). Contributors should expect to spend as much time reviewing/changing the code as on the initial implementation. This time can be minimized by communicating with the ROS-Industrial community before any contribution is made.
  4. Issuing a Pull Request (PR) triggers the Travis Continuous Integrations (CI) step (item 4) which happens automatically in the background. The Travis CI performs several operations, and if any of the steps below fail, then the PR is marked accordingly for the maintainer.
    • Travis Workflow:
    • Installs a barebones ROS distribution on a fresh Ubuntu virtual machine.
    • Creates a catkin workspace and puts the repository in it.
    • Uses wstool to check out any from-source dependencies (i.e. other repositories).
    • Resolves package dependencies using rosdep (i.e. install packages using apt-get).
    • Compiles the catkin workspace.
    • Runs all available unit tests.
  5. If the PR passes Travis CI and one of the maintainers is satisfied with the changes, they post a +1 as a comment on the PR (item 5). The +1 signifies that the PR is ready to be merged. All PRs require at least one +1 and pass Travis CI before it can be merged.
  6. The next step (item 6) is for the PR to be merged into the main branch. This is done through the GitHub web interface by selecting the “Merge pull request” button. After the PR is merged, all status badges are updated automatically.
  7. Periodically, the maintainer will release the package (item 7), which then gets sent to the ROS Build Farm for Debian creation.
  8. The publishing of the released packages (item 8) is managed by OSRF and is not on a set schedule. This usually happens when all packages for a given distro are built successfully and stable. The current status for the distro kinetic can be found here . Navigating to other distros can be done by changing the distro name in the link.
  9. Once the package has been published, it is available to be installed by the developer (item 9).
  10. After the install of a new version, the developer may have questions, experience issues or it may not have the necessary functionality which should all be reported on the packages GitHub repository as an issue (item 10). If an issue is identified or there is missing functionality that the developer requires, the cycle starts back at (item 2).

For more details, please refer to the ROS-I wiki.