# Используем базовый образ 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