Skip to content

Commit

Permalink
Merge pull request #1050 from ROBOTIS-GIT/support-docker
Browse files Browse the repository at this point in the history
Add Docker configuration for turtlebot3 environment
  • Loading branch information
robotpilot authored Feb 21, 2025
2 parents 39ad7c3 + 09f3d17 commit fe99c9b
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 0 deletions.
35 changes: 35 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Use the base ROS2 humble image
FROM osrf/ros:humble-desktop-full

# Set environment variables
ENV DEBIAN_FRONTEND=noninteractive

# Install the required packages in a single layer and clean up afterwards
RUN apt-get update && apt-get install -y \
git \
python3-pip \
ros-${ROS_DISTRO}-gazebo-ros-pkgs \
ros-${ROS_DISTRO}-cartographer \
ros-${ROS_DISTRO}-cartographer-ros \
ros-${ROS_DISTRO}-navigation2 \
ros-${ROS_DISTRO}-nav2-bringup && \
rm -rf /var/lib/apt/lists/*

ENV COLCON_WS=/root/turtlebot3_ws
WORKDIR ${COLCON_WS}

RUN mkdir -p ${COLCON_WS}/src && \
cd ${COLCON_WS}/src && \
git clone -b humble https://github.com/ROBOTIS-GIT/DynamixelSDK.git && \
git clone -b humble https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git && \
git clone -b humble https://github.com/ROBOTIS-GIT/turtlebot3.git

RUN bash -c "source /opt/ros/${ROS_DISTRO}/setup.bash && \
cd ${COLCON_WS} && \
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release"

RUN echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> ~/.bashrc
RUN echo "source ${COLCON_WS}/install/setup.bash" >> ~/.bashrc
RUN echo "source /usr/share/gazebo/setup.sh" >> ~/.bashrc

CMD ["bash"]
26 changes: 26 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
services:
ros2:
build:
context: .
dockerfile: Dockerfile
container_name: turtlebot3
tty: true
restart: always
cap_add:
- SYS_NICE
ulimits:
rtprio: 99
rttime: -1
memlock: 8428281856
network_mode: host
environment:
- DISPLAY=${DISPLAY}
- QT_X11_NO_MITSHM=1
- ROS_DOMAIN_ID=30
volumes:
- /dev:/dev
- ./workspace:/workspace
- /tmp/.X11-unix:/tmp/.X11-unix:rw
- /tmp/.docker.xauth:/tmp/.docker.xauth:rw
privileged: true
command: bash

0 comments on commit fe99c9b

Please sign in to comment.