Added dockerfile for running the mock version
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
FROM ros:jazzy-perception
|
||||
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# ---------- System dependencies ----------
|
||||
RUN apt-get update && apt-get upgrade -yq && apt-get install -yq \
|
||||
python3-colcon-common-extensions \
|
||||
python3-rosdep \
|
||||
meson cmake \
|
||||
build-essential \
|
||||
udev \
|
||||
git
|
||||
|
||||
# ---------- Libcamera ----------
|
||||
|
||||
WORKDIR /extras
|
||||
|
||||
RUN apt-get install -y libboost-dev \
|
||||
libgnutls28-dev openssl libtiff5-dev \
|
||||
pybind11-dev \
|
||||
qtbase5-dev libqt5core5a libqt5gui5 libqt5widgets5 \
|
||||
python3-yaml python3-ply python3-jinja2 python3-pip\
|
||||
libglib2.0-dev libgstreamer-plugins-base1.0-dev \
|
||||
build-essential
|
||||
|
||||
RUN git clone https://github.com/raspberrypi/libcamera.git \
|
||||
&& cd libcamera \
|
||||
&& meson setup build --buildtype=release -Dpipelines=rpi/vc4,rpi/pisp -Dipas=rpi/vc4,rpi/pisp -Dv4l2=true -Dgstreamer=enabled -Dtest=false -Dlc-compliance=disabled -Dcam=disabled -Dqcam=disabled -Ddocumentation=disabled -Dpycamera=enabled \
|
||||
&& ninja -C build install
|
||||
|
||||
# ---------- Initialize rosdep ----------
|
||||
RUN rosdep init || true
|
||||
RUN rosdep update
|
||||
|
||||
# ---------- Workspace ----------
|
||||
WORKDIR /ros_ws
|
||||
|
||||
# ---------- Copy package.xml files ----------
|
||||
COPY toid_bot_description/package.xml toid_bot_description/package.xml
|
||||
COPY toid_control/package.xml toid_control/package.xml
|
||||
COPY toid_msgs/package.xml toid_msgs/package.xml
|
||||
COPY toid_odometry/package.xml toid_odometry/package.xml
|
||||
COPY toid_lidar/package.xml toid_lidar/package.xml
|
||||
COPY toid_interaction/package.xml toid_interaction/package.xml
|
||||
COPY toid_costmaps/package.xml toid_costmaps/package.xml
|
||||
COPY toid_bt/package.xml toid_bt/package.xml
|
||||
COPY toid_spinner_controller/package.xml toid_spinner_controller/package.xml
|
||||
COPY toid_behaviors/package.xml toid_behaviors/package.xml
|
||||
COPY toid_navigation/package.xml toid_navigation/package.xml
|
||||
COPY toid_vision/package.xml toid_vision/package.xml
|
||||
COPY ext/camera_ros/package.xml ext/camera_ros/package.xml
|
||||
COPY ext/BehaviorTree.ROS2/ ext/BehaviorTree.ROS2/
|
||||
|
||||
# ---------- Install dependencies ----------
|
||||
RUN . /opt/ros/jazzy/setup.sh && \
|
||||
rosdep install --from-paths ./ --ignore-src -r -y --skip-keys=libcamera \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN rm -rf ./*
|
||||
|
||||
RUN cat <<EOF >> /root/.bashrc
|
||||
source /opt/ros/jazzy/setup.bash
|
||||
if [[ -f ./install/setup.bash ]]; then
|
||||
source ./install/setup.bash
|
||||
fi
|
||||
EOF
|
||||
|
||||
COPY toid_bot_description/package.xml toid_bot_description/package.xml
|
||||
COPY toid_control/package.xml toid_control/package.xml
|
||||
COPY toid_msgs/package.xml toid_msgs/package.xml
|
||||
COPY toid_odometry/package.xml toid_odometry/package.xml
|
||||
COPY toid_lidar/package.xml toid_lidar/package.xml
|
||||
COPY toid_interaction/package.xml toid_interaction/package.xml
|
||||
COPY toid_costmaps/package.xml toid_costmaps/package.xml
|
||||
COPY toid_bt/package.xml toid_bt/package.xml
|
||||
COPY toid_spinner_controller/package.xml toid_spinner_controller/package.xml
|
||||
COPY toid_behaviors/package.xml toid_behaviors/package.xml
|
||||
COPY toid_navigation/package.xml toid_navigation/package.xml
|
||||
COPY toid_vision/package.xml toid_vision/package.xml
|
||||
COPY ext/camera_ros/package.xml ext/camera_ros/package.xml
|
||||
COPY ext/BehaviorTree.ROS2/ ext/BehaviorTree.ROS2/
|
||||
|
||||
RUN . /opt/ros/jazzy/setup.sh && \
|
||||
rosdep install --from-paths ./ --ignore-src -r -y --skip-keys=libcamera \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY . /ros_ws/
|
||||
RUN . /opt/ros/jazzy/setup.sh && \
|
||||
colcon build --symlink-install
|
||||
|
||||
RUN chown 1000:1000 -R /ros_ws/
|
||||
|
||||
ENTRYPOINT ["/bin/bash", "-c", "source /opt/ros/$ROS_DISTRO/setup.bash && source /ros_ws/install/setup.bash && exec \"$@\"", "--"]
|
||||
|
||||
CMD ["ros2", "launch", "toid_navigation", "main.py", "use_mock:=True", "use_lidar:=False"]
|
||||
Reference in New Issue
Block a user