Add Docker configuration for turtlebot3 environment

This commit is contained in:
Woojin Wie 2025-02-03 15:29:06 +09:00
parent f40ccddd92
commit cac82eed18
2 changed files with 61 additions and 0 deletions

35
Dockerfile Normal file
View File

@ -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/colcon_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
docker-compose.yml Normal file
View File

@ -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