Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
84 changes: 33 additions & 51 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,34 @@
# ABB

[![Build Status: Ubuntu Focal (Actions)](https://github.com/ros-industrial/abb/workflows/CI%20-%20Ubuntu%20Focal/badge.svg?branch=kinetic-devel)](https://github.com/ros-industrial/abb/actions?query=workflow%3A%22CI+-+Ubuntu+Focal%22)

[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)

[![support level: community](https://img.shields.io/badge/support%20level-community-lightgray.svg)](http://rosindustrial.org/news/2016/10/7/better-supporting-a-growing-ros-industrial-software-platform)

[ROS-Industrial][] ABB meta-package. See the [ROS wiki][] page for more information.
[ROS-Industrial][] ABB meta-package.

The [abb_experimental][] repository contains additional packages.
The [abb_experimental][] repository may contain additional packages.


## 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`, `kinetic` and `noetic`).
Branch naming follows the ROS distribution they are compatible with.
`-devel` branches may be unstable.
Releases are made from the distribution branches (`noetic` and `ros2`).

Branching is done only when needed (ie: because of breaking changes between distributions).
Branching is done ***only*** if and when needed (ie: because of breaking changes between distributions), otherwise the most recent distribution branch is expected to be upwards compatible with newer ROS releases.

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


### MoveIt configurations

All provided MoveIt configurations were moved to the [moveit](/moveit) subdirectory in [#214][].
These packages can be used as-if they were still located in the root of the repository.
Catkin will still be able to locate them.


## Status

The packages in this repository are *community supported*.
This means they do not get support from the 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.

If you are looking for official support, we suggest contacting your local ABB branch office.
If you are looking for official support, we suggest contacting your local ABB branch office and letting them know you are trying to use these community supported packages with their product(s).


## Naming Convention
Expand All @@ -50,80 +41,71 @@ All robot support packages and MoveIt configurations follow the naming conventio
### 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
Only do this if there is no binary release available for the ROS 2 distribution you want to use the packages with.

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 packages will require creating a Colcon workspace, cloning this repository, installing all required dependencies and finally building the workspace.

### 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`.
The following instructions assume that a [Colcon workspace][] has been created at `$HOME/colcon_ws` and that the *source space* is at `$HOME/colcon_ws/src`.
Update paths appropriately if they are different on the build machine.

These instructions build the `noetic-devel` branch on a ROS Noetic system:
These instructions build the `ros2` branch on a ROS Jazzy system (but should work on all supported ROS 2 versions):

```bash
# change to the root of the Catkin workspace
$ cd $HOME/catkin_ws
# change to the root of the Colcon workspace
cd $HOME/colcon_ws

# retrieve the latest development version of abb. If you'd rather
# use the latest released version, replace 'noetic-devel' with 'noetic'
# NOTE: 'noetic-devel' is compatible with ROS Noetic. Use the correct branch
# for the OS + ROS version you're building these packages for
$ git clone -b noetic-devel https://github.com/ros-industrial/abb.git src/abb
# retrieve the latest development version of the abb repository.
# NOTE: the 'ros2' branch is compatible with all supported ROS 2 LTS releases.
# Use the correct branch for the OS + ROS version you're building these
# packages for.
git clone -b ros2 https://github.com/ros-industrial/abb.git src/abb

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

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

# build the workspace (using catkin_tools)
$ catkin build
# build the workspace
colcon build
```

### Activating the workspace

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

```bash
$ source $HOME/catkin_ws/devel/setup.bash
source $HOME/colcon_ws/install/local_setup.bash
```

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


## Installation and usage

Refer to [Working With ROS-Industrial Robot Support Packages][] for information on how to use the files provided by the robot support and MoveIt configuration packages.
See also the other pages on the [ROS wiki][].
Even though it was written for ROS 1, the [Working With ROS-Industrial Robot Support Packages][] tutorial has information on the design of the structure of the support packages in this repository which is also relevant to their use in ROS 2 applications.

Refer to the [tutorials][] for information on installation and configuration of the controller-specific software components.

## Drivers

## Migration of abb_driver
This repository does not host any drivers for ABB robots.

The `abb_driver` package was migrated from this repository to [ros-industrial/abb_driver][] as part of [ros-industrial/abb#179][]. See that issue for rationale and a description of the process.
The community supported ROS 1 `abb_driver` package was migrated from this repository to [ros-industrial/abb_driver][] as part of [ros-industrial/abb#179][].
See that issue for rationale and a description of the process.

Please file enhancement requests and report issues for `abb_driver` on the issue tracker of `ros-industrial/abb_driver`.
ROS 2 has several community supported drivers for ABB robots, and the support packages in this repository are expected to be compatible with those, as long as those drivers are compatible with basic URDFs and/or XACROs.


[ROS-Industrial]: http://wiki.ros.org/Industrial
[ROS wiki]: http://wiki.ros.org/abb
[ROS-Industrial]: https://rosindustrial.org
[abb_experimental]: https://github.com/ros-industrial/abb_experimental
[subversion repository]: https://code.google.com/p/swri-ros-pkg/source/browse
[#214]: https://github.com/ros-industrial/abb/pull/214
[REP-I0007]: https://github.com/ros-industrial/rep/blob/master/rep-I0007.rst
[Catkin workspace]: http://wiki.ros.org/catkin/Tutorials/create_a_workspace
[catkin]: http://wiki.ros.org/catkin
[catkin_tools]: https://catkin-tools.readthedocs.io/en/latest
[Colcon workspace]: https://docs.ros.org/en/kilted/Tutorials/Beginner-Client-Libraries/Colcon-Tutorial.html
[Working With ROS-Industrial Robot Support Packages]: http://wiki.ros.org/Industrial/Tutorials/WorkingWithRosIndustrialRobotSupportPackages
[tutorials]: http://wiki.ros.org/abb/Tutorials
[ros-industrial/abb_driver]: https://github.com/ros-industrial/abb_driver
[ros-industrial/abb#179]: https://github.com/ros-industrial/abb/issues/179
11 changes: 7 additions & 4 deletions abb/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
cmake_minimum_required(VERSION 3.0.2)
project(abb)
find_package(catkin REQUIRED)
catkin_metapackage()
cmake_minimum_required(VERSION 3.12)
project(abb NONE)
find_package(ament_cmake REQUIRED)
ament_package()

install(FILES LICENSE.Apache-2.0 LICENSE.BSD-3-Clause
DESTINATION share/${PROJECT_NAME})
7 changes: 3 additions & 4 deletions abb/package.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format2.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="2">
<name>abb</name>
<version>1.5.0</version>
Expand All @@ -9,13 +10,11 @@
<license>BSD-3-Clause</license>
<license>Apache-2.0</license>

<url type="website">http://ros.org/wiki/abb</url>
<url type="repository">https://github.com/ros-industrial/abb</url>
<url type="bugtracker">https://github.com/ros-industrial/abb/issues</url>

<buildtool_depend>catkin</buildtool_depend>
<buildtool_depend>ament_cmake</buildtool_depend>

<exec_depend>abb_driver</exec_depend>
<exec_depend>abb_crb15000_support</exec_depend>
<exec_depend>abb_irb1200_support</exec_depend>
<exec_depend>abb_irb120_support</exec_depend>
Expand All @@ -34,7 +33,7 @@
<exec_depend>abb_resources</exec_depend>

<export>
<metapackage/>
<architecture_independent/>
<build_type>ament_cmake</build_type>
</export>
</package>
22 changes: 7 additions & 15 deletions abb_crb15000_support/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,18 +1,10 @@
cmake_minimum_required(VERSION 3.0.2)
cmake_minimum_required(VERSION 3.12)
project(abb_crb15000_support NONE)

project(abb_crb15000_support)
find_package(ament_cmake REQUIRED)
ament_package()

find_package(catkin REQUIRED)

catkin_package()

if (CATKIN_ENABLE_TESTING)
find_package(roslaunch REQUIRED)
roslaunch_add_file_check(tests/roslaunch_test_crb15000_5_95.xml)
roslaunch_add_file_check(tests/roslaunch_test_crb15000_12_127.xml)
endif()

install(DIRECTORY config launch meshes urdf
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
install(DIRECTORY launch meshes urdf
DESTINATION share/${PROJECT_NAME})
install(FILES LICENSE
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
DESTINATION share/${PROJECT_NAME})

This file was deleted.

1 change: 0 additions & 1 deletion abb_crb15000_support/config/joint_names_crb15000_5_95.yaml

This file was deleted.

4 changes: 0 additions & 4 deletions abb_crb15000_support/launch/load_crb15000_12_127.launch

This file was deleted.

4 changes: 0 additions & 4 deletions abb_crb15000_support/launch/load_crb15000_5_95.launch

This file was deleted.

7 changes: 0 additions & 7 deletions abb_crb15000_support/launch/test_crb15000_12_127.launch

This file was deleted.

7 changes: 0 additions & 7 deletions abb_crb15000_support/launch/test_crb15000_5_95.launch

This file was deleted.

11 changes: 11 additions & 0 deletions abb_crb15000_support/launch/view_crb15000_12_127.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" ?>
<launch>
<let name="xacro_path" value="$(find-pkg-share abb_crb15000_support)/urdf/crb15000_12_127.xacro" />
<let name="rviz_cfg" value="$(find-pkg-share abb_resources)/rviz/view_robot.rviz" />

<node pkg="robot_state_publisher" exec="robot_state_publisher">
<param name="robot_description" type="str" value="$(command 'xacro $(var xacro_path)')" />
</node>
<node pkg="joint_state_publisher_gui" exec="joint_state_publisher_gui" />
<node pkg="rviz2" exec="rviz2" output="screen" args="-d $(var rviz_cfg)" />
</launch>
11 changes: 11 additions & 0 deletions abb_crb15000_support/launch/view_crb15000_5_95.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" ?>
<launch>
<let name="xacro_path" value="$(find-pkg-share abb_crb15000_support)/urdf/crb15000_5_95.xacro" />
<let name="rviz_cfg" value="$(find-pkg-share abb_resources)/rviz/view_robot.rviz" />

<node pkg="robot_state_publisher" exec="robot_state_publisher">
<param name="robot_description" type="str" value="$(command 'xacro $(var xacro_path)')" />
</node>
<node pkg="joint_state_publisher_gui" exec="joint_state_publisher_gui" />
<node pkg="rviz2" exec="rviz2" output="screen" args="-d $(var rviz_cfg)" />
</launch>
9 changes: 3 additions & 6 deletions abb_crb15000_support/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,23 +44,20 @@
<maintainer email="[email protected]">ROS-Industrial community</maintainer>
<license>Apache-2.0</license>

<url type="website">http://wiki.ros.org/abb_crb15000_support</url>
<url type="bugtracker">https://github.com/ros-industrial/abb/issues</url>
<url type="repository">https://github.com/ros-industrial/abb</url>

<buildtool_depend>catkin</buildtool_depend>

<test_depend>roslaunch</test_depend>
<buildtool_depend>ament_cmake</buildtool_depend>

<exec_depend>abb_resources</exec_depend>
<exec_depend>industrial_robot_client</exec_depend>
<exec_depend>joint_state_publisher_gui</exec_depend>
<exec_depend>robot_state_publisher</exec_depend>
<exec_depend>rviz</exec_depend>
<exec_depend>rviz2</exec_depend>
<exec_depend>xacro</exec_depend>

<export>
<architecture_independent/>
<build_type>ament_cmake</build_type>
<rosindex>
<tags>
<tag>support_package</tag>
Expand Down
10 changes: 0 additions & 10 deletions abb_crb15000_support/tests/roslaunch_test_crb15000_12_127.xml

This file was deleted.

10 changes: 0 additions & 10 deletions abb_crb15000_support/tests/roslaunch_test_crb15000_5_95.xml

This file was deleted.

22 changes: 7 additions & 15 deletions abb_irb1200_support/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,18 +1,10 @@
cmake_minimum_required(VERSION 3.0.2)
cmake_minimum_required(VERSION 3.12)
project(abb_irb1200_support NONE)

project(abb_irb1200_support)
find_package(ament_cmake REQUIRED)
ament_package()

find_package(catkin REQUIRED)

catkin_package()

if (CATKIN_ENABLE_TESTING)
find_package(roslaunch REQUIRED)
roslaunch_add_file_check(tests/roslaunch_test_irb1200_5_90.xml)
roslaunch_add_file_check(tests/roslaunch_test_irb1200_7_70.xml)
endif()

install(DIRECTORY config launch meshes urdf
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
install(DIRECTORY launch meshes urdf
DESTINATION share/${PROJECT_NAME})
install(FILES LICENSE
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION})
DESTINATION share/${PROJECT_NAME})
1 change: 0 additions & 1 deletion abb_irb1200_support/config/joint_names_irb1200_5_90.yaml

This file was deleted.

1 change: 0 additions & 1 deletion abb_irb1200_support/config/joint_names_irb1200_7_70.yaml

This file was deleted.

4 changes: 0 additions & 4 deletions abb_irb1200_support/launch/load_irb1200_5_90.launch

This file was deleted.

4 changes: 0 additions & 4 deletions abb_irb1200_support/launch/load_irb1200_7_70.launch

This file was deleted.

This file was deleted.

Loading