-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adds ROS2 Humble to Dockerfile (#443)
# Description This adds a ROS2 Humble installation to the Dockerfile. It also adds several relevant environment variables. ## Type of change - New feature (non-breaking change which adds functionality) ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./orbit.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have run all the tests with `./orbit.sh --test` and they pass - [ ] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there --------- Signed-off-by: Hunter Hansen <[email protected]> Co-authored-by: James Smith <[email protected]>
- Loading branch information
1 parent
83d62e2
commit 95a4927
Showing
9 changed files
with
303 additions
and
109 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
### | ||
# ROS2 specific settings | ||
### | ||
# Set the version of the ROS2 apt package to install (ros-base, desktop, desktop-full) | ||
ROS2_APT_PACKAGE=ros-base | ||
# Se t ROS2 middleware implementation to use (e.g. rmw_fastrtps_cpp, rmw_cyclonedds_cpp) | ||
RMW_IMPLEMENTATION=rmw_fastrtps_cpp | ||
# Path to fastdds.xml file to use (only needed when using fastdds) | ||
FASTRTPS_DEFAULT_PROFILES_FILE=${DOCKER_USER_HOME}/.ros/fastdds.xml | ||
# Path to cyclonedds.xml file to use (only needed when using cyclonedds) | ||
CYCLONEDDS_URI=${DOCKER_USER_HOME}/.ros/cyclonedds.xml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
<?xml version="1.0" encoding="UTF-8" ?> | ||
<CycloneDDS xmlns="https://cdds.io/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://cdds.io/config https://raw.githubusercontent.com/eclipse-cyclonedds/cyclonedds/master/etc/cyclonedds.xsd"> | ||
<Domain id="any"> | ||
<General> | ||
<Interfaces> | ||
<NetworkInterface autodetermine="true"/> | ||
</Interfaces> | ||
<AllowMulticast>true</AllowMulticast> | ||
</General> | ||
<Discovery> | ||
<ParticipantIndex>auto</ParticipantIndex> | ||
<MaxAutoParticipantIndex>120</MaxAutoParticipantIndex> | ||
</Discovery> | ||
</Domain> | ||
</CycloneDDS> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
<?xml version="1.0" encoding="UTF-8" ?> | ||
|
||
<license>Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved. | ||
NVIDIA CORPORATION and its licensors retain all intellectual property | ||
and proprietary rights in and to this software, related documentation | ||
and any modifications thereto. Any use, reproduction, disclosure or | ||
distribution of this software and related documentation without an express | ||
license agreement from NVIDIA CORPORATION is strictly prohibited.</license> | ||
|
||
|
||
<profiles xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles" > | ||
<transport_descriptors> | ||
<transport_descriptor> | ||
<transport_id>UdpTransport</transport_id> | ||
<type>UDPv4</type> | ||
</transport_descriptor> | ||
</transport_descriptors> | ||
|
||
<participant profile_name="udp_transport_profile" is_default_profile="true"> | ||
<rtps> | ||
<userTransports> | ||
<transport_id>UdpTransport</transport_id> | ||
</userTransports> | ||
<useBuiltinTransports>false</useBuiltinTransports> | ||
</rtps> | ||
</participant> | ||
</profiles> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# Everything past this stage is to install | ||
# ROS2 Humble | ||
FROM orbit-base AS ros2 | ||
|
||
# Which ROS2 apt package to install | ||
ARG ROS2_APT_PACKAGE | ||
# Home of the docker user, generally /root | ||
ARG DOCKER_USER_HOME | ||
|
||
# ROS2 Humble Apt installations | ||
RUN --mount=type=cache,target=/var/cache/apt \ | ||
apt-get update && apt-get install -y --no-install-recommends \ | ||
curl \ | ||
# Install ROS2 Humble \ | ||
software-properties-common && \ | ||
add-apt-repository universe && \ | ||
curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg && \ | ||
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo jammy) main" | tee /etc/apt/sources.list.d/ros2.list > /dev/null && \ | ||
apt-get update && apt-get install -y --no-install-recommends \ | ||
ros-humble-${ROS2_APT_PACKAGE} \ | ||
ros-humble-vision-msgs \ | ||
# Install both FastRTPS and CycloneDDS | ||
ros-humble-rmw-cyclonedds-cpp \ | ||
ros-humble-rmw-fastrtps-cpp \ | ||
# This includes various dev tools including colcon | ||
ros-dev-tools && \ | ||
apt -y autoremove && apt clean autoclean && \ | ||
rm -rf /var/lib/apt/lists/* && \ | ||
# Add sourcing of setup.bash to .bashrc | ||
echo "source /opt/ros/humble/setup.bash" >> ${HOME}/.bashrc | ||
|
||
# Copy the RMW specifications for ROS2 | ||
# https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_ros.html#enabling-the-ros-bridge-extension | ||
COPY docker/.ros/ ${DOCKER_USER_HOME}/.ros/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.