You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.8 KiB

# Используем базовый образ ROS Noetic с поддержкой Perception
FROM ros:noetic-perception
# Установка необходимых системных пакетов
RUN apt-get update && apt-get install -y \
python3-pip \
ros-noetic-xacro \
ros-noetic-joy \
build-essential \
curl \
unzip \
cmake \
libglib2.0-dev \
&& rm -rf /var/lib/apt/lists/*
# Установка необходимых Python-библиотек
RUN pip3 install \
numpy==1.24.4 \
control==0.9.4 \
pyrr==0.10.3 \
pybullet==3.2.5 \
pyserial==3.5 \
pyqtgraph==0.13.3 \
gymnasium \
pcl==0.0.0.post1 \
pyquaternion==0.9.9 \
evdev \
pyudev \
Sphinx==7.1.2 \
myst-parser==2.0.0 \
sphinx-rtd-theme==1.3.0 \
lcm==1.4.4
# Скачивание и установка LCM
RUN curl -L -O https://github.com/lcm-proj/lcm/archive/refs/tags/v1.5.0.zip \
&& unzip v1.5.0.zip \
&& cd lcm-1.5.0 \
&& mkdir build && cd build \
&& cmake .. \
&& make \
&& make install
# Настройка рабочего пространства ROS
RUN mkdir -p /root/mors_ws/src
WORKDIR /root/mors_ws
# Копируем и собираем ROS-пакеты
COPY mors_base /root/mors_ws/src/mors_base
COPY mors_pc /root/mors_ws/src/mors_pc
COPY whole_body_state_msgs /root/mors_ws/src/whole_body_state_msgs
# Сборка рабочего пространства
RUN bash -c "source /opt/ros/noetic/setup.bash && catkin_make"
# Добавление путей к ROS в .bashrc
RUN echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
RUN echo "source /root/mors_ws/devel/setup.bash" >> ~/.bashrc
# Установка рабочей директории по умолчанию
WORKDIR /root/mors_ws