Skip to content

Commit

Permalink
[foxy] Edifice support (#140)
Browse files Browse the repository at this point in the history
Signed-off-by: Louise Poubel <louise@openrobotics.org>
Signed-off-by: Alejandro Hernández <ahcorde@gmail.com>

Co-authored-by: Alejandro Hernández <ahcorde@gmail.com>
  • Loading branch information
chapulina and ahcorde committed Mar 22, 2021
1 parent a4bc25f commit 54e12e2
Show file tree
Hide file tree
Showing 11 changed files with 84 additions and 22 deletions.
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ env:
matrix:
- DOCKER_IMAGE=ubuntu:20.04 IGNITION_VERSION="citadel" ROS_DISTRO="foxy"
- DOCKER_IMAGE=ubuntu:20.04 IGNITION_VERSION="dome" ROS_DISTRO="foxy"
- DOCKER_IMAGE=ubuntu:20.04 IGNITION_VERSION="edifice" ROS_DISTRO="foxy"

services:
- docker
Expand Down
15 changes: 11 additions & 4 deletions .travis/build
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,26 @@ apt update -qq
apt install -qq -y lsb-release wget curl

# Citadel gets Ignition with rosdep
if [ "$IGNITION_VERSION" == "dome" ]; then
if [ "$IGNITION_VERSION" != "citadel" ]; then
echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list
echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-prerelease `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-prerelease.list
echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-nightly `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-nightly.list
wget https://packages.osrfoundation.org/gazebo.key -O - | apt-key add -

IGN_DEPS="libignition-msgs6-dev libignition-transport9-dev libignition-gazebo4-dev"
if [ "$IGNITION_VERSION" == "dome" ]; then
IGN_DEPS="libignition-msgs6-dev libignition-transport9-dev libignition-gazebo4-dev"
fi

if [ "$IGNITION_VERSION" == "edifice" ]; then
IGN_DEPS="libignition-msgs7-dev libignition-transport10-dev libignition-gazebo5-dev"
fi
fi

# Dependencies.
echo "deb http://packages.ros.org/ros2/ubuntu focal main" > /etc/apt/sources.list.d/ros2-latest.list
echo "deb http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add -
apt-get update -qq
apt-get install -qq -y $IGN_DEPS \
apt-get install -y $IGN_DEPS \
python3-colcon-common-extensions \
python3-rosdep

Expand Down
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
[![Build Status](https://travis-ci.org/ignitionrobotics/ros_ign.svg?branch=noetic)](https://travis-ci.org/ignitionrobotics/ros_ign/branches)

ROS version | Ignition version | Branch | Binaries hosted at
-- | -- | -- | --
Melodic | Blueprint | [melodic](https://github.com/osrf/ros_ign/tree/melodic) | https://packages.osrfoundation.org
Expand All @@ -6,6 +8,7 @@ Melodic | Dome | not supported |
Noetic | Blueprint | not supported |
Noetic | Citadel | [noetic](https://github.com/osrf/ros_ign/tree/noetic) | https://packages.ros.org
Noetic | Dome | [noetic](https://github.com/osrf/ros_ign/tree/noetic) | only from source
Noetic | Edifice | [noetic](https://github.com/osrf/ros_ign/tree/noetic) | only from source
Dashing | Blueprint | [dashing](https://github.com/osrf/ros_ign/tree/dashing) | only from source
Dashing | Citadel | [dashing](https://github.com/osrf/ros_ign/tree/dashing) | only from source
Dashing | Dome | not supported |
Expand All @@ -15,11 +18,14 @@ Eloquent | Dome | not supported |
Foxy | Blueprint | not supported |
Foxy | Citadel | [ros2](https://github.com/osrf/ros_ign/tree/ros2) | https://packages.ros.org
Foxy | Dome | [ros2](https://github.com/osrf/ros_ign/tree/ros2) | only from source
Foxy | Edifice | [ros2](https://github.com/osrf/ros_ign/tree/ros2) | only from source

> Please [ticket an issue](https://github.com/ignitionrobotics/ros_ign/issues/) if you'd like support to be added for some combination.
# Integration between ROS and Ignition

## Packages

This repository holds packages that provide integration between
[ROS](http://www.ros.org/) and [Ignition](https://ignitionrobotics.org):

Expand Down Expand Up @@ -73,7 +79,7 @@ More ROS dependencies will be installed below.

### Ignition

Install either [Citadel or Dome](https://ignitionrobotics.org/docs).
Install either [Citadel, Dome or Edifice](https://ignitionrobotics.org/docs).

Set the `IGNITION_VERSION` environment variable to the Ignition version you'd
like to compile against. For example:
Expand All @@ -96,7 +102,7 @@ The following steps are for Linux and OSX.
git clone https://github.com/osrf/ros_ign.git -b ros2
```

1. Install dependencies:
1. Install dependencies (this may also install Ignition):

```
cd ~/ws
Expand All @@ -107,7 +113,7 @@ The following steps are for Linux and OSX.

```
# Source ROS distro's setup.bash
source /opt/ros/dashing/setup.bash
source /opt/ros/foxy/setup.bash
# Build and install into workspace
cd ~/ws/
colcon build
Expand Down
8 changes: 7 additions & 1 deletion RELEASING.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,13 @@ Ignition libraries are available either through official Ubuntu packages, or
directly from https://packages.ros.org. This situation varies according to the
Ignition version:

* Blueprint and Dome are only available from https://packages.osrfoundation.org
* Citadel is available from:
* https://packages.osrfoundation.org: all Ubuntu versions
* https://packages.ros.org: only Ubuntu Focal
* Dome is only available from https://packages.osrfoundation.org
* Edifice is available from:
* https://packages.osrfoundation.org: all Ubuntu versions
* https://packages.ros.org: only Ubuntu Focal, once ROS 2 Galactic is out

Another factor to take into consideration is which Ignition version is officially
supported for each ROS distro according to the following REPS:
Expand Down Expand Up @@ -52,6 +55,7 @@ versions:
* Blueprint: 0
* Citadel: 1
* Dome: 2
* Edifice: 3

ROS | Ignition | Version
-- | -- | --
Expand All @@ -60,13 +64,15 @@ Melodic | Citadel | 0.101.X
Noetic | Blueprint | :x:
Noetic | Citadel | 0.111.X
Noetic | Dome | 0.112.X
Noetic | Edifice | 0.113.X
Dashing | Blueprint | 0.200.X
Dashing | Citadel | 0.201.X
Eloquent | Blueprint | 0.210.X
Eloquent | Citadel | 0.211.X
Foxy | Blueprint | :x:
Foxy | Citadel | 0.221.X
Foxy | Dome | 0.222.X
Foxy | Edifice | 0.223.X

## Releasing into https://packages.ros.org

Expand Down
11 changes: 10 additions & 1 deletion ros_ign_bridge/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,17 @@ find_package(std_msgs REQUIRED)
find_package(tf2_msgs REQUIRED)
find_package(trajectory_msgs REQUIRED)

# Edifice
if("$ENV{IGNITION_VERSION}" STREQUAL "edifice")
find_package(ignition-transport10 REQUIRED)
set(IGN_TRANSPORT_VER ${ignition-transport10_VERSION_MAJOR})

find_package(ignition-msgs7 REQUIRED)
set(IGN_MSGS_VER ${ignition-msgs7_VERSION_MAJOR})

message(STATUS "Compiling against Ignition Edifice")
# Dome
if("$ENV{IGNITION_VERSION}" STREQUAL "dome")
elseif("$ENV{IGNITION_VERSION}" STREQUAL "dome")
find_package(ignition-transport9 REQUIRED)
set(IGN_TRANSPORT_VER ${ignition-transport9_VERSION_MAJOR})

Expand Down
9 changes: 7 additions & 2 deletions ros_ign_bridge/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,17 @@
<depend>tf2_msgs</depend>
<depend>trajectory_msgs</depend>

<!-- Edifice -->
<depend condition="$IGNITION_VERSION == edifice">ignition-msgs7</depend>
<depend condition="$IGNITION_VERSION == edifice">ignition-transport10</depend>
<!-- Dome -->
<depend condition="$IGNITION_VERSION == dome">ignition-msgs6</depend>
<depend condition="$IGNITION_VERSION == dome">ignition-transport9</depend>
<!-- Citadel (default) -->
<depend condition="$IGNITION_VERSION != dome">ignition-msgs5</depend>
<depend condition="$IGNITION_VERSION != dome">ignition-transport8</depend>
<depend condition="$IGNITION_VERSION == citadel">ignition-msgs5</depend>
<depend condition="$IGNITION_VERSION == citadel">ignition-transport8</depend>
<depend condition="$IGNITION_VERSION == ''">ignition-msgs5</depend>
<depend condition="$IGNITION_VERSION == ''">ignition-transport8</depend>

<test_depend>ament_cmake_gtest</test_depend>
<test_depend>ament_lint_auto</test_depend>
Expand Down
14 changes: 13 additions & 1 deletion ros_ign_gazebo/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,20 @@ find_package(ament_cmake REQUIRED)
find_package(ignition-math6 REQUIRED)
find_package(rclcpp REQUIRED)

# Edifice
if("$ENV{IGNITION_VERSION}" STREQUAL "edifice")
find_package(ignition-transport10 REQUIRED)
set(IGN_TRANSPORT_VER ${ignition-transport10_VERSION_MAJOR})

find_package(ignition-msgs7 REQUIRED)
set(IGN_MSGS_VER ${ignition-msgs7_VERSION_MAJOR})

find_package(ignition-gazebo5 REQUIRED)
set(IGN_GAZEBO_VER ${ignition-gazebo5_VERSION_MAJOR})

message(STATUS "Compiling against Ignition Edifice")
# Dome
if("$ENV{IGNITION_VERSION}" STREQUAL "dome")
elseif("$ENV{IGNITION_VERSION}" STREQUAL "dome")
find_package(ignition-transport9 REQUIRED)
set(IGN_TRANSPORT_VER ${ignition-transport9_VERSION_MAJOR})

Expand Down
11 changes: 5 additions & 6 deletions ros_ign_gazebo/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,13 @@
<depend>rclcpp</depend>
<depend>ignition-math6</depend>

<!-- Edifice -->
<depend condition="$IGNITION_VERSION == edifice">ignition-gazebo5</depend>
<!-- Dome -->
<exec_depend condition="$IGNITION_VERSION == dome">ignition-gazebo4</exec_depend>
<depend condition="$IGNITION_VERSION == dome">ignition-msgs6</depend>
<depend condition="$IGNITION_VERSION == dome">ignition-transport9</depend>
<depend condition="$IGNITION_VERSION == dome">ignition-gazebo4</depend>
<!-- Citadel (default) -->
<exec_depend condition="$IGNITION_VERSION != dome">ignition-gazebo3</exec_depend>
<depend condition="$IGNITION_VERSION != dome">ignition-msgs5</depend>
<depend condition="$IGNITION_VERSION != dome">ignition-transport8</depend>
<depend condition="$IGNITION_VERSION == citadel">ignition-gazebo3</depend>
<depend condition="$IGNITION_VERSION == ''">ignition-gazebo3</depend>

<test_depend>ament_lint_auto</test_depend>
<test_depend>ament_lint_common</test_depend>
Expand Down
5 changes: 4 additions & 1 deletion ros_ign_gazebo_demos/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,13 @@

<buildtool_depend>ament_cmake</buildtool_depend>

<!-- Edifice -->
<exec_depend condition="$IGNITION_VERSION == edifice">ignition-gazebo5</exec_depend>
<!-- Dome -->
<exec_depend condition="$IGNITION_VERSION == dome">ignition-gazebo4</exec_depend>
<!-- Citadel (default) -->
<exec_depend condition="$IGNITION_VERSION != dome">ignition-gazebo3</exec_depend>
<exec_depend condition="$IGNITION_VERSION == citadel">ignition-gazebo3</exec_depend>
<exec_depend condition="$IGNITION_VERSION == ''">ignition-gazebo3</exec_depend>

<exec_depend>image_transport_plugins</exec_depend>
<exec_depend>robot_state_publisher</exec_depend>
Expand Down
11 changes: 10 additions & 1 deletion ros_ign_image/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,17 @@ find_package(ros_ign_bridge REQUIRED)
find_package(rclcpp REQUIRED)
find_package(sensor_msgs REQUIRED)

# Edifice
if("$ENV{IGNITION_VERSION}" STREQUAL "edifice")
find_package(ignition-transport10 REQUIRED)
set(IGN_TRANSPORT_VER ${ignition-transport10_VERSION_MAJOR})

find_package(ignition-msgs7 REQUIRED)
set(IGN_MSGS_VER ${ignition-msgs7_VERSION_MAJOR})

message(STATUS "Compiling against Ignition Edifice")
# Dome
if("$ENV{IGNITION_VERSION}" STREQUAL "dome")
elseif("$ENV{IGNITION_VERSION}" STREQUAL "dome")
find_package(ignition-transport9 REQUIRED)
set(IGN_TRANSPORT_VER ${ignition-transport9_VERSION_MAJOR})

Expand Down
9 changes: 7 additions & 2 deletions ros_ign_image/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,17 @@
<depend>rclcpp</depend>
<depend>sensor_msgs</depend>

<!-- Edifice -->
<depend condition="$IGNITION_VERSION == edifice">ignition-msgs7</depend>
<depend condition="$IGNITION_VERSION == edifice">ignition-transport10</depend>
<!-- Dome -->
<depend condition="$IGNITION_VERSION == dome">ignition-msgs6</depend>
<depend condition="$IGNITION_VERSION == dome">ignition-transport9</depend>
<!-- Citadel (default) -->
<depend condition="$IGNITION_VERSION != dome">ignition-msgs5</depend>
<depend condition="$IGNITION_VERSION != dome">ignition-transport8</depend>
<depend condition="$IGNITION_VERSION == citadel">ignition-msgs5</depend>
<depend condition="$IGNITION_VERSION == citadel">ignition-transport8</depend>
<depend condition="$IGNITION_VERSION == ''">ignition-msgs5</depend>
<depend condition="$IGNITION_VERSION == ''">ignition-transport8</depend>

<test_depend>ament_lint_auto</test_depend>
<test_depend>ament_lint_common</test_depend>
Expand Down

0 comments on commit 54e12e2

Please sign in to comment.