feat(simulation): add Worker AI polygon runtime and terrain navigation

This commit is contained in:
DCCONSTRUCTIONS
2026-09-25 16:40:45 +03:00
parent a7c64e009d
commit f01bd39037
88 changed files with 9918 additions and 108 deletions
@@ -0,0 +1,34 @@
FROM ros:humble-ros-base-jammy
LABEL com.nodedc.product="mission-core" \
com.nodedc.stack="ai-polygon" \
com.nodedc.role="terrain-navigation" \
com.nodedc.managed-by="ai-polygon-worker" \
org.opencontainers.image.source="https://github.com/HongbiaoZ/autonomous_exploration_development_environment" \
org.opencontainers.image.revision="158e67b31b644ed1e8b06eb1d7f70e183cc62591"
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN apt-get update && apt-get install -y --no-install-recommends \
curl ca-certificates build-essential python3-numpy python3-yaml \
python3-colcon-common-extensions ros-humble-pcl-ros \
ros-humble-pcl-conversions ros-humble-tf2-geometry-msgs \
ros-humble-sensor-msgs-py ros-humble-rclpy \
&& rm -rf /var/lib/apt/lists/*
# Upstream's terrain analysis and collision-free motion primitives are unchanged.
# Keep the exact sources and their declared BSD package licenses in the image.
WORKDIR /opt/cmu
RUN curl -fL --retry 3 \
https://codeload.github.com/HongbiaoZ/autonomous_exploration_development_environment/tar.gz/158e67b31b644ed1e8b06eb1d7f70e183cc62591 \
-o /tmp/upstream.tgz \
&& mkdir upstream src \
&& tar -xzf /tmp/upstream.tgz -C upstream --strip-components=1 \
&& cp -a upstream/src/local_planner upstream/src/terrain_analysis src/ \
&& source /opt/ros/humble/setup.bash \
&& MAKEFLAGS=-j2 colcon build --base-paths src --parallel-workers 1 \
--cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF \
&& rm /tmp/upstream.tgz
ENV ROS_LOCALHOST_ONLY=1 ROS_DOMAIN_ID=83
WORKDIR /adapter
ENTRYPOINT ["/bin/bash", "-c", "source /opt/ros/humble/setup.bash && source /opt/cmu/install/setup.bash && exec python3 /adapter/navigation/server.py"]