Skip to content

Commit cde9b90

Browse files
committed
More WIP conversion to ROS1
1 parent ef81289 commit cde9b90

File tree

8 files changed

+91
-39
lines changed

8 files changed

+91
-39
lines changed

.devcontainer/devcontainer.json

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
{
2-
"name": "Docker for Intel Realsense with ROS 2",
2+
"name": "Docker for Intel Realsense with ROS",
33
"dockerComposeFile": [
44
"../docker/docker-compose-gui.yml" // Alternatives: "../docker/docker-compose-gui.yml", "../docker/docker-compose-gui-nvidia.yml"
55
],
6-
"service": "realsense_ros2",
7-
"workspaceFolder": "/ros2_ws",
6+
"service": "realsense_ros",
7+
"workspaceFolder": "/catkin_ws",
88
"shutdownAction": "stopCompose",
9-
"extensions": [
10-
]
11-
}
9+
"extensions": []
10+
}

ReadMe.md renamed to README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# Docker for Intel Realsense cameras on ROS 2
1+
# Docker container for Intel Realsense camera in ROS.
22

3-
Author: [Tobit Flatscher](https://github.com/2b-t) (2022 - 2024)
3+
Original Author: [Tobit Flatscher](https://github.com/2b-t) (2022 - 2024)
44

55
[![Build](https://github.com/2b-t/realsense-ros2-docker/actions/workflows/build.yml/badge.svg)](https://github.com/2b-t/realsense-ros2-docker/actions/workflows/build.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
66

7-
7+
## TODO: UPDATE README
88

99
## 0. Overview
1010
This repository contains a Docker and all the documentation required to launch an [Intel Realsense camera](https://www.intel.co.uk/content/www/uk/en/architecture-and-technology/realsense-overview.html) with the [Robot Operating System ROS 2](https://docs.ros.org/en/humble/index.html).

docker/.env

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
UBUNTU_DISTRO=20.04
2+
ROS_DISTRO=noetic
3+
4+
CATKIN_WORKSPACE_DIR="/catkin_ws"
5+
YOUR_IP="192.168.0.86"
6+
ROBOT_IP="192.168.0.85"
7+
YOUR_HOSTNAME="anymal-d045-npc"
8+
ROBOT_HOSTNAME="anymal-d045-lpc"
9+
UID=1000
10+
GID=1000
11+
12+
TARGET=dev # base | dev

docker/Dockerfile

Lines changed: 48 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,61 @@
1-
FROM ros:noetic-perception
1+
ARG UBUNTU_DISTRO=20.04
2+
ARG ROS_DISTRO=noetic
3+
##############
4+
# Base image #
5+
##############
6+
FROM ros:${ROS_DISTRO}-perception as base
27

3-
ENV WS_DIR="/ros2_ws"
4-
WORKDIR ${WS_DIR}
8+
ARG CATKIN_WORKSPACE_DIR="/catkin_ws"
59

10+
WORKDIR ${CATKIN_WORKSPACE_DIR}
611
SHELL ["/bin/bash", "-c"]
712

813
ARG DEBIAN_FRONTEND=noninteractive
14+
ENV ROS_DISTRO=${ROS_DISTRO}
915

1016
RUN apt-get update \
11-
&& apt-get install -y \
12-
build-essential \
13-
cmake \
14-
git-all \
15-
software-properties-common \
16-
&& rm -rf /var/lib/apt/lists/*
17+
&& apt-get install -y \
18+
build-essential \
19+
cmake \
20+
git-all \
21+
software-properties-common \
22+
&& rm -rf /var/lib/apt/lists/*
1723

1824
RUN apt-get update \
19-
&& apt-get install -y \
20-
ros-${ROS_DISTRO}-librealsense2* \
21-
ros-${ROS_DISTRO}-realsense2-* \
22-
&& rm -rf /var/lib/apt/lists/*
25+
&& apt-get install -y \
26+
ros-${ROS_DISTRO}-librealsense2* \
27+
ros-${ROS_DISTRO}-realsense2-* \
28+
&& rm -rf /var/lib/apt/lists/*
2329

2430
RUN apt-get update \
25-
&& apt-get install -y \
26-
ros-${ROS_DISTRO}-rviz \
27-
&& rm -rf /var/lib/apt/lists/*
31+
&& apt-get install -y \
32+
ros-${ROS_DISTRO}-rviz \
33+
&& rm -rf /var/lib/apt/lists/*
2834

2935
ARG DEBIAN_FRONTEND=dialog
36+
37+
###################
38+
# Developer image #
39+
###################
40+
FROM base as dev
41+
42+
ARG USERNAME="developer"
43+
ARG UID=1000
44+
ARG GID=1000
45+
46+
ENV DEBIAN_FRONTEND=noninteractive
47+
48+
RUN apt-get update \
49+
&& apt-get install -y sudo \
50+
&& rm -rf /var/lib/apt/lists/* \
51+
&& addgroup --gid ${GID} ${USERNAME} \
52+
&& adduser --disabled-password --gecos '' --uid ${GID} --gid ${GID} ${USERNAME} \
53+
&& echo ${USERNAME} ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/${USERNAME} \
54+
&& chown -R ${UID}:${GID} /home/${USERNAME} \
55+
&& chown -R ${UID}:${GID} ${CATKIN_WORKSPACE_DIR}
56+
57+
RUN echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> /home/${USERNAME}/.bashrc
58+
59+
ENV DEBIAN_FRONTEND=dialog
60+
61+
USER ${USERNAME}

docker/docker-compose-gui-nvidia.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
version: "3.9"
22
services:
3-
realsense_ros2:
3+
realsense_ros:
44
extends:
55
file: docker-compose-gui.yml
6-
service: realsense_ros2
6+
service: realsense_ros
77
environment:
88
- NVIDIA_VISIBLE_DEVICES=all
99
- NVIDIA_DRIVER_CAPABILITIES=all

docker/docker-compose-gui.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
version: "3.9"
22
services:
3-
realsense_ros2:
3+
realsense_ros:
44
extends:
55
file: docker-compose.yml
6-
service: realsense_ros2
6+
service: realsense_ros
77
environment:
88
- DISPLAY=${DISPLAY}
99
- QT_X11_NO_MITSHM=1

docker/docker-compose-nvidia.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
version: "3.9"
22
services:
3-
realsense_ros2:
3+
realsense_ros:
44
extends:
55
file: docker-compose.yml
6-
service: realsense_ros2
6+
service: realsense_ros
77
environment:
88
- NVIDIA_VISIBLE_DEVICES=all
99
runtime: nvidia

docker/docker-compose.yml

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,27 @@
11
version: "3.9"
22
services:
3-
realsense_ros2:
3+
realsense_ros:
44
build:
55
context: ..
66
dockerfile: docker/Dockerfile
7-
#target: librealsense
8-
tty: true
9-
network_mode: "host"
7+
target: ${TARGET}
8+
args:
9+
- UBUNTU_DISTRO=${UBUNTU_DISTRO}
10+
- ROS_DISTRO=${ROS_DISTRO}
11+
- CATKIN_WORKSPACE_DIR=${CATKIN_WORKSPACE_DIR}
12+
- USERNAME=${USERNAME:-developer}
13+
- UID=${UID}
14+
- GID=${GID}
15+
image: realsense-ros:ubuntu${UBUNTU_DISTRO}-${TARGET}
16+
container_name: realsense_ros
1017
environment:
11-
- ROS_MASTER_URI=http://anymal-d045-lpc:11311/
12-
- ROS_IP=192.168.0.86
18+
- ROS_MASTER_URI=http://${ROBOT_IP}:11311/
19+
- ROS_IP=${YOUR_IP}
1320
extra_hosts:
14-
- anymal-d045-lpc:192.168.0.85
15-
- anymal-d045-npc:192.168.0.86
21+
- "${ROBOT_HOSTNAME}:${ROBOT_IP}"
22+
- "${YOUR_HOSTNAME}:${YOUR_IP}"
23+
network_mode: "host"
24+
tty: true
1625
volumes:
1726
- /dev:/dev
1827
device_cgroup_rules:

0 commit comments

Comments
 (0)