From 16b24e7cabb6e0ae5aab1d6676e3f2b4c7aee0a0 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Tue, 24 Dec 2024 13:48:57 +0300 Subject: [PATCH 01/36] Add simulator and visualizer containers Signed-off-by: Oguz Ozturk --- .../actions/docker-build-and-push/action.yaml | 2 +- docker/docker-bake-tools.hcl | 22 ++++ docker/tools/Dockerfile | 101 ++++++++++++++++++ docker/tools/etc/entrypoint.sh | 82 ++++++++++++++ docker/tools/etc/xstartup | 15 +++ 5 files changed, 221 insertions(+), 1 deletion(-) create mode 100644 docker/docker-bake-tools.hcl create mode 100644 docker/tools/Dockerfile create mode 100644 docker/tools/etc/entrypoint.sh create mode 100644 docker/tools/etc/xstartup diff --git a/.github/actions/docker-build-and-push/action.yaml b/.github/actions/docker-build-and-push/action.yaml index d81e73f5042..19c84611fa4 100644 --- a/.github/actions/docker-build-and-push/action.yaml +++ b/.github/actions/docker-build-and-push/action.yaml @@ -275,4 +275,4 @@ runs: ${{ steps.meta-universe.outputs.bake-file }} provenance: false set: | - ${{ inputs.build-args }} + ${{ inputs.build-args }} \ No newline at end of file diff --git a/docker/docker-bake-tools.hcl b/docker/docker-bake-tools.hcl new file mode 100644 index 00000000000..4a41a20adb4 --- /dev/null +++ b/docker/docker-bake-tools.hcl @@ -0,0 +1,22 @@ +group "default" { + targets = [ + "simulator", + "visualizer" + ] +} + +// For docker/metadata-action +target "docker-metadata-action-simulator" {} +target "docker-metadata-action-visualizer" {} + +target "simulator" { + inherits = ["docker-metadata-action-simulator"] + dockerfile = "docker/tools/Dockerfile" + target = "simulator" +} + +target "visualizer" { + inherits = ["docker-metadata-action-visualizer"] + dockerfile = "docker/tools/Dockerfile" + target = "visualizer" +} diff --git a/docker/tools/Dockerfile b/docker/tools/Dockerfile new file mode 100644 index 00000000000..c309a9d0bc6 --- /dev/null +++ b/docker/tools/Dockerfile @@ -0,0 +1,101 @@ +ARG ROS_DISTRO + +### Builder +FROM ghcr.io/autowarefoundation/autoware:universe-devel AS builder +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +ENV CCACHE_DIR="/root/.ccache" +WORKDIR /autoware +COPY src /autoware/src +COPY simulator.repos /autoware/simulator.repos +COPY docker/scripts/resolve_rosdep_keys.sh /autoware/resolve_rosdep_keys.sh +RUN chmod +x /autoware/resolve_rosdep_keys.sh + +# Install dependencies and build the simulator +RUN --mount=type=ssh \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ + vcs import src < simulator.repos \ + && apt-get update \ + && rosdep update && rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO \ + && source /opt/ros/"$ROS_DISTRO"/setup.bash && source /opt/autoware/setup.bash \ + && colcon build --cmake-args \ + "-Wno-dev" \ + "--no-warn-unused-cli" \ + --install-base /opt/autoware \ + --merge-install \ + --mixin release compile-commands ccache \ + --base-paths /autoware/src/simulator \ + && find /opt/autoware/lib -type f -name "*.py" -exec chmod +x {} \; \ + && find /opt/autoware/share -type f -name "*.py" -exec chmod +x {} \; \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* "$HOME"/.cache + +# Extract rosdep dependencies for simulator +RUN /autoware/resolve_rosdep_keys.sh /autoware/src/simulator ${ROS_DISTRO} \ + > /rosdep-simulator-depend-packages.txt \ + && cat /rosdep-simulator-depend-packages.txt + +### Simulator +FROM ghcr.io/autowarefoundation/autoware:universe AS simulator +WORKDIR /autoware +COPY --from=builder /opt/autoware /opt/autoware +COPY --from=builder /rosdep-simulator-depend-packages.txt /tmp/rosdep-simulator-depend-packages.txt + +RUN --mount=type=ssh \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ + apt-get update && apt-get install -y curl unzip \ + && source /opt/ros/"$ROS_DISTRO"/setup.bash && source /opt/autoware/setup.bash \ + && rosdep update \ + && cat /tmp/rosdep-simulator-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* "$HOME"/.cache && \ + echo "source /opt/autoware/setup.bash" > /etc/bash.bashrc + +COPY docker/tools/etc/entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh +ENTRYPOINT ["/entrypoint.sh"] +CMD ["/bin/bash"] + +### Visualizer +FROM simulator AS visualizer +WORKDIR /autoware + +# Install openbox and VNC requirements +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ + curl unzip openbox tigervnc-standalone-server tigervnc-common \ + novnc websockify python3-numpy python3-xdg \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +# Set up VNC password +RUN mkdir -p ~/.vnc && \ + echo "openadkit" | vncpasswd -f > ~/.vnc/passwd && \ + chmod 600 ~/.vnc/passwd + +# Create SSL certificate for NoVNC +RUN openssl req -x509 -nodes -newkey rsa:2048 \ + -keyout /etc/ssl/private/novnc.key \ + -out /etc/ssl/certs/novnc.crt \ + -days 365 \ + -subj "/O=Autoware-OpenADKit/CN=localhost" + +# Install ngrok for optional public access if no public ip available +RUN curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc \ + | tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null && \ + echo "deb https://ngrok-agent.s3.amazonaws.com buster main" \ + | tee /etc/apt/sources.list.d/ngrok.list && \ + apt update && \ + apt install ngrok + +# Need to expose VNC and NoVNC ports when running the container +EXPOSE 5900 6080 + +# Add source commands to bash startup +RUN echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> /root/.bashrc && \ + echo "source /opt/autoware/setup.bash" >> /root/.bashrc + +# Copy startup scripts +COPY docker/tools/etc/xstartup /root/.vnc/xstartup +COPY docker/tools/etc/entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh && chmod +x /root/.vnc/xstartup +ENTRYPOINT ["/entrypoint.sh"] +CMD ["/bin/bash"] \ No newline at end of file diff --git a/docker/tools/etc/entrypoint.sh b/docker/tools/etc/entrypoint.sh new file mode 100644 index 00000000000..fe427822077 --- /dev/null +++ b/docker/tools/etc/entrypoint.sh @@ -0,0 +1,82 @@ +#!/usr/bin/env bash + +configure_vnc() { + # Create Openbox application configuration + mkdir -p /etc/xdg/openbox + cat > /etc/xdg/openbox/rc.xml << 'EOF' + + + + + yes + + center + center + + yes + 1 + + + +EOF + # Create rviz2 start script + cat > /usr/local/bin/start-rviz2.sh << 'EOF' +#!/bin/bash +source /opt/ros/humble/setup.bash +source /opt/autoware/setup.bash +if [ -n "$RVIZ_CONFIG" ]; then + exec rviz2 -d "$RVIZ_CONFIG" +else + exec rviz2 +fi +EOF + chmod +x /usr/local/bin/start-rviz2.sh + echo "echo 'Autostart executed at $(date)' >> /tmp/autostart.log" >> /etc/xdg/openbox/autostart + echo "/usr/local/bin/start-rviz2.sh" >> /etc/xdg/openbox/autostart + + # Start VNC server with Openbox + echo "Starting VNC server with Openbox..." + vncserver :99 -geometry 1024x768 -depth 16 -pixelformat rgb565 + VNC_RESULT=$? + + if [ $VNC_RESULT -ne 0 ]; then + echo "Failed to start VNC server (exit code: $VNC_RESULT)" + exit $VNC_RESULT + fi + + # Set the DISPLAY variable to match VNC server + echo "Setting DISPLAY to :99" + echo "export DISPLAY=:99" >> ~/.bashrc + sleep 2 + + # Start NoVNC + echo "Starting NoVNC..." + websockify --daemon --web=/usr/share/novnc/ --cert=/etc/ssl/certs/novnc.crt --key=/etc/ssl/private/novnc.key 6080 localhost:5999 + + # Configure ngrok if set + if [ -n "$NGROK_AUTHTOKEN" ]; then + ngrok config add-authtoken "$NGROK_AUTHTOKEN" + + if [ -n "$NGROK_URL" ]; then + ngrok http --url="$NGROK_URL" 6080 --log=stdout >ngrok.log & + else + ngrok http 6080 --log=stdout >ngrok.log & + sleep 2 + NGROK_URL=$(grep -oP 'url=\K[^\s]+' ngrok.log) + fi + fi + + # Print info + echo -e "\033[32m-------------------------------------------------------------------------\033[0m" + echo -e "\033[32mBrowser interface available at local address http://$(hostname -I | cut -d' ' -f1):6080/vnc.html?resize=scale&password=openadkit&autoconnect=true\033[0m" + [ -z "$NGROK_AUTHTOKEN" ] && echo -e "\033[32mIf you have a static public ip you can access it on WEB at http://$(curl -s ifconfig.me):6080/vnc.html?resize=scale&password=openadkit&autoconnect=true\033[0m" + [ -n "$NGROK_AUTHTOKEN" ] && echo -e "\033[32mBrowser interface available at WEB address $NGROK_URL/vnc.html?resize=scale&password=openadkit&autoconnect=true\033[0m" + echo -e "\033[32m-------------------------------------------------------------------------\033[0m" +} + +# shellcheck disable=SC1090 +[ "$VNC_ENABLED" == "true" ] && configure_vnc +source "/opt/ros/$ROS_DISTRO/setup.bash" +source "/opt/autoware/setup.bash" +exec "$@" \ No newline at end of file diff --git a/docker/tools/etc/xstartup b/docker/tools/etc/xstartup new file mode 100644 index 00000000000..cd435a8d1b9 --- /dev/null +++ b/docker/tools/etc/xstartup @@ -0,0 +1,15 @@ +#!/bin/sh + +unset SESSION_MANAGER +unset DBUS_SESSION_BUS_ADDRESS +export DISPLAY=:99 + +[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup +[ -r "$HOME/.Xresources" ] && xrdb "$HOME/.Xresources" + +# Start Openbox window manager +echo "Starting Openbox window manager..." +openbox-session & + +# Keep the session alive +sleep infinity \ No newline at end of file From 1e95c85483d15ca9349b8313265e93a4c3d51aa3 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Tue, 24 Dec 2024 14:12:15 +0300 Subject: [PATCH 02/36] . Signed-off-by: Oguz Ozturk --- .dockerignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.dockerignore b/.dockerignore index 679e11b25ef..53eaf71ad03 100644 --- a/.dockerignore +++ b/.dockerignore @@ -10,6 +10,7 @@ docker !docker/etc !docker/scripts +!docker/tools # Ignore a part of files under src src/**/.* From 39986488ed3ec5093d88530345a3eca4b95ee235 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Tue, 24 Dec 2024 14:23:08 +0300 Subject: [PATCH 03/36] . Signed-off-by: Oguz Ozturk --- .github/actions/docker-build-and-push/action.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/docker-build-and-push/action.yaml b/.github/actions/docker-build-and-push/action.yaml index 19c84611fa4..8be46a61f45 100644 --- a/.github/actions/docker-build-and-push/action.yaml +++ b/.github/actions/docker-build-and-push/action.yaml @@ -221,7 +221,7 @@ runs: latest=false - name: Docker meta for autoware:universe-devel - id: meta-universe-devel + id: meta-devel uses: docker/metadata-action@v5 with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} From 4e648d529971555e4d7773c76f7fd33529b29dde Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Thu, 2 Jan 2025 15:03:35 +0300 Subject: [PATCH 04/36] . Signed-off-by: Oguz Ozturk --- docker/tools/Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docker/tools/Dockerfile b/docker/tools/Dockerfile index c309a9d0bc6..e5f338f2fe8 100644 --- a/docker/tools/Dockerfile +++ b/docker/tools/Dockerfile @@ -45,6 +45,9 @@ RUN --mount=type=ssh \ apt-get update && apt-get install -y curl unzip \ && source /opt/ros/"$ROS_DISTRO"/setup.bash && source /opt/autoware/setup.bash \ && rosdep update \ + # Remove xmlschema and yamale from rosdep packages since we install via pip + && sed -i '/\(xmlschema\|yamale\)/d' /tmp/rosdep-simulator-depend-packages.txt \ + && pip install yamale xmlschema \ && cat /tmp/rosdep-simulator-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* "$HOME"/.cache && \ From dd3bb623dd156e4c0b2600dd56e0cfbc7251406a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 2 Jan 2025 13:47:53 +0000 Subject: [PATCH 05/36] style(pre-commit): autofix --- docker/tools/Dockerfile | 2 +- docker/tools/etc/entrypoint.sh | 12 ++++++------ docker/tools/etc/xstartup | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docker/tools/Dockerfile b/docker/tools/Dockerfile index e5f338f2fe8..b6c3d94418c 100644 --- a/docker/tools/Dockerfile +++ b/docker/tools/Dockerfile @@ -101,4 +101,4 @@ COPY docker/tools/etc/xstartup /root/.vnc/xstartup COPY docker/tools/etc/entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh && chmod +x /root/.vnc/xstartup ENTRYPOINT ["/entrypoint.sh"] -CMD ["/bin/bash"] \ No newline at end of file +CMD ["/bin/bash"] diff --git a/docker/tools/etc/entrypoint.sh b/docker/tools/etc/entrypoint.sh index fe427822077..ba6f69f2ef5 100644 --- a/docker/tools/etc/entrypoint.sh +++ b/docker/tools/etc/entrypoint.sh @@ -3,7 +3,7 @@ configure_vnc() { # Create Openbox application configuration mkdir -p /etc/xdg/openbox - cat > /etc/xdg/openbox/rc.xml << 'EOF' + cat >/etc/xdg/openbox/rc.xml <<'EOF' @@ -21,7 +21,7 @@ configure_vnc() { EOF # Create rviz2 start script - cat > /usr/local/bin/start-rviz2.sh << 'EOF' + cat >/usr/local/bin/start-rviz2.sh <<'EOF' #!/bin/bash source /opt/ros/humble/setup.bash source /opt/autoware/setup.bash @@ -32,8 +32,8 @@ else fi EOF chmod +x /usr/local/bin/start-rviz2.sh - echo "echo 'Autostart executed at $(date)' >> /tmp/autostart.log" >> /etc/xdg/openbox/autostart - echo "/usr/local/bin/start-rviz2.sh" >> /etc/xdg/openbox/autostart + echo "echo 'Autostart executed at $(date)' >> /tmp/autostart.log" >>/etc/xdg/openbox/autostart + echo "/usr/local/bin/start-rviz2.sh" >>/etc/xdg/openbox/autostart # Start VNC server with Openbox echo "Starting VNC server with Openbox..." @@ -47,7 +47,7 @@ EOF # Set the DISPLAY variable to match VNC server echo "Setting DISPLAY to :99" - echo "export DISPLAY=:99" >> ~/.bashrc + echo "export DISPLAY=:99" >>~/.bashrc sleep 2 # Start NoVNC @@ -79,4 +79,4 @@ EOF [ "$VNC_ENABLED" == "true" ] && configure_vnc source "/opt/ros/$ROS_DISTRO/setup.bash" source "/opt/autoware/setup.bash" -exec "$@" \ No newline at end of file +exec "$@" diff --git a/docker/tools/etc/xstartup b/docker/tools/etc/xstartup index cd435a8d1b9..ba1c8c814ae 100644 --- a/docker/tools/etc/xstartup +++ b/docker/tools/etc/xstartup @@ -12,4 +12,4 @@ echo "Starting Openbox window manager..." openbox-session & # Keep the session alive -sleep infinity \ No newline at end of file +sleep infinity From 8a7211d67f79c4533e988655bd26e08eaca27be0 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Thu, 16 Jan 2025 14:28:02 +0300 Subject: [PATCH 06/36] create seperate workflow for autoware-tools Signed-off-by: Oguz Ozturk --- .../docker-build-and-push-tools/action.yaml | 110 ++++++++++++++++++ .../actions/docker-build-and-push/action.yaml | 2 +- .../docker-build-and-push-arm64.yaml | 16 +++ .github/workflows/docker-build-and-push.yaml | 16 +++ docker/tools/Dockerfile | 8 +- 5 files changed, 147 insertions(+), 5 deletions(-) create mode 100644 .github/actions/docker-build-and-push-tools/action.yaml diff --git a/.github/actions/docker-build-and-push-tools/action.yaml b/.github/actions/docker-build-and-push-tools/action.yaml new file mode 100644 index 00000000000..1b2448b42f7 --- /dev/null +++ b/.github/actions/docker-build-and-push-tools/action.yaml @@ -0,0 +1,110 @@ +name: docker-build-and-push-tools +description: Composite action to build and push tools images to registry. + +inputs: + platform: + description: Target platform. + required: true + target-image: + description: Target docker image name in the registry. + required: true + build-args: + description: Additional build args. + required: false + +runs: + using: composite + steps: + - name: Install jq and vcstool + run: | + sudo apt-get -y update + sudo apt-get -y install jq python3-pip + pip install --no-cache-dir vcstool + shell: bash + + - name: Run vcs import + run: | + mkdir src + vcs import src < autoware.repos + shell: bash + + - name: Setup Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Restore ccache + uses: actions/cache/restore@v4 + with: + path: | + root-ccache + key: ccache-${{ inputs.platform }}-${{ hashFiles('src/**/*.cpp') }} + restore-keys: | + ccache-${{ inputs.platform }}- + + - name: Restore apt-get + uses: actions/cache/restore@v4 + with: + path: | + var-cache-apt + key: apt-get-${{ inputs.platform }}-${{ hashFiles('src/**/package.xml') }} + restore-keys: | + apt-get-${{ inputs.platform }}- + + - name: Inject cache into docker + uses: reproducible-containers/buildkit-cache-dance@v3.1.2 + with: + cache-map: | + { + "root-ccache": "/root/.ccache", + "var-cache-apt": "/var/cache/apt" + } + skip-extraction: true + + - name: Get current date + id: date + run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT + shell: bash + + - name: Docker meta for autoware:visualizer + id: meta-visualizer + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} + tags: | + type=raw,value=visualizer-${{ inputs.platform }} + type=raw,value=visualizer-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=visualizer-,suffix=-${{ inputs.platform }} + bake-target: docker-metadata-action-visualizer + flavor: | + latest=false + + - name: Docker meta for autoware:simulator + id: meta-simulator + uses: docker/metadata-action@v5 + with: + images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} + tags: | + type=raw,value=simulator-${{ inputs.platform }} + type=raw,value=simulator-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=simulator-,suffix=-${{ inputs.platform }} + bake-target: docker-metadata-action-simulator + flavor: | + latest=false + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ github.token }} + + - name: Build and Push to GitHub Container Registry + uses: docker/bake-action@v5 + with: + push: true + files: | + docker/docker-bake-tools.hcl + ${{ steps.meta-simulator.outputs.bake-file }} + ${{ steps.meta-visualizer.outputs.bake-file }} + provenance: false + set: | + ${{ inputs.build-args }} diff --git a/.github/actions/docker-build-and-push/action.yaml b/.github/actions/docker-build-and-push/action.yaml index 8be46a61f45..19c84611fa4 100644 --- a/.github/actions/docker-build-and-push/action.yaml +++ b/.github/actions/docker-build-and-push/action.yaml @@ -221,7 +221,7 @@ runs: latest=false - name: Docker meta for autoware:universe-devel - id: meta-devel + id: meta-universe-devel uses: docker/metadata-action@v5 with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} diff --git a/.github/workflows/docker-build-and-push-arm64.yaml b/.github/workflows/docker-build-and-push-arm64.yaml index 6659ebc337d..9eab4344a8a 100644 --- a/.github/workflows/docker-build-and-push-arm64.yaml +++ b/.github/workflows/docker-build-and-push-arm64.yaml @@ -71,6 +71,22 @@ jobs: *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }} *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-main *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }},mode=max + + - name: Build 'Tools' + uses: ./.github/actions/docker-build-and-push-tools + with: + platform: arm64 + target-image: autoware-tools + build-args: | + *.platform=linux/arm64 + *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} + *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + *.args.AUTOWARE_BASE_IMAGE=${{ needs.load-env.outputs.autoware_base_image }} + *.args.AUTOWARE_BASE_CUDA_IMAGE=${{ needs.load-env.outputs.autoware_base_cuda_image }} + *.args.LIB_DIR=aarch64 + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }} + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-main + *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }},mode=max - name: Show disk space if: always() diff --git a/.github/workflows/docker-build-and-push.yaml b/.github/workflows/docker-build-and-push.yaml index 567678bde3e..ad906b67955 100644 --- a/.github/workflows/docker-build-and-push.yaml +++ b/.github/workflows/docker-build-and-push.yaml @@ -61,6 +61,22 @@ jobs: *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-${{ github.ref_name }} *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-main *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-${{ github.ref_name }},mode=max + + - name: Build 'Tools' + uses: ./.github/actions/docker-build-and-push-tools + with: + platform: amd64 + target-image: autoware-tools + build-args: | + *.platform=linux/amd64 + *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} + *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + *.args.AUTOWARE_BASE_IMAGE=${{ needs.load-env.outputs.autoware_base_image }} + *.args.AUTOWARE_BASE_CUDA_IMAGE=${{ needs.load-env.outputs.autoware_base_cuda_image }} + *.args.LIB_DIR=x86_64 + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-${{ github.ref_name }} + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-main + *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-${{ github.ref_name }},mode=max - name: Show disk space if: always() diff --git a/docker/tools/Dockerfile b/docker/tools/Dockerfile index b6c3d94418c..14069938728 100644 --- a/docker/tools/Dockerfile +++ b/docker/tools/Dockerfile @@ -69,10 +69,10 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* -# Set up VNC password -RUN mkdir -p ~/.vnc && \ - echo "openadkit" | vncpasswd -f > ~/.vnc/passwd && \ - chmod 600 ~/.vnc/passwd +# # Set up VNC password +# RUN mkdir -p ~/.vnc && \ +# echo "openadkit" | vncpasswd -f > ~/.vnc/passwd && \ +# chmod 600 ~/.vnc/passwd # Create SSL certificate for NoVNC RUN openssl req -x509 -nodes -newkey rsa:2048 \ From b735c182aa731e7a174808bd56e27e2b0c3f732c Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 16 Jan 2025 11:28:32 +0000 Subject: [PATCH 07/36] style(pre-commit): autofix --- .github/workflows/docker-build-and-push-arm64.yaml | 2 +- .github/workflows/docker-build-and-push.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-build-and-push-arm64.yaml b/.github/workflows/docker-build-and-push-arm64.yaml index 9eab4344a8a..75f5b672f1d 100644 --- a/.github/workflows/docker-build-and-push-arm64.yaml +++ b/.github/workflows/docker-build-and-push-arm64.yaml @@ -71,7 +71,7 @@ jobs: *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }} *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-main *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }},mode=max - + - name: Build 'Tools' uses: ./.github/actions/docker-build-and-push-tools with: diff --git a/.github/workflows/docker-build-and-push.yaml b/.github/workflows/docker-build-and-push.yaml index ad906b67955..361279f5ec1 100644 --- a/.github/workflows/docker-build-and-push.yaml +++ b/.github/workflows/docker-build-and-push.yaml @@ -61,7 +61,7 @@ jobs: *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-${{ github.ref_name }} *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-main *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-${{ github.ref_name }},mode=max - + - name: Build 'Tools' uses: ./.github/actions/docker-build-and-push-tools with: From 68b433b43c16bd4fd656315a336a0b68b6ce8c9b Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Thu, 30 Jan 2025 14:42:34 +0300 Subject: [PATCH 08/36] . Signed-off-by: Oguz Ozturk --- docker/docker-bake-tools.hcl | 4 +- .../{Dockerfile => Dockerfile.simulator} | 57 ++---------- docker/tools/Dockerfile.visualizer | 88 +++++++++++++++++++ 3 files changed, 96 insertions(+), 53 deletions(-) rename docker/tools/{Dockerfile => Dockerfile.simulator} (56%) create mode 100644 docker/tools/Dockerfile.visualizer diff --git a/docker/docker-bake-tools.hcl b/docker/docker-bake-tools.hcl index 4a41a20adb4..cb6af086fe7 100644 --- a/docker/docker-bake-tools.hcl +++ b/docker/docker-bake-tools.hcl @@ -11,12 +11,12 @@ target "docker-metadata-action-visualizer" {} target "simulator" { inherits = ["docker-metadata-action-simulator"] - dockerfile = "docker/tools/Dockerfile" + dockerfile = "docker/tools/Dockerfile.simulator" target = "simulator" } target "visualizer" { inherits = ["docker-metadata-action-visualizer"] - dockerfile = "docker/tools/Dockerfile" + dockerfile = "docker/tools/Dockerfile.visualizer" target = "visualizer" } diff --git a/docker/tools/Dockerfile b/docker/tools/Dockerfile.simulator similarity index 56% rename from docker/tools/Dockerfile rename to docker/tools/Dockerfile.simulator index 14069938728..566d52907bd 100644 --- a/docker/tools/Dockerfile +++ b/docker/tools/Dockerfile.simulator @@ -1,8 +1,8 @@ -ARG ROS_DISTRO - ### Builder FROM ghcr.io/autowarefoundation/autoware:universe-devel AS builder SHELL ["/bin/bash", "-o", "pipefail", "-c"] +ARG ROS_DISTRO +ARG LIB_DIR ENV CCACHE_DIR="/root/.ccache" WORKDIR /autoware COPY src /autoware/src @@ -35,7 +35,9 @@ RUN /autoware/resolve_rosdep_keys.sh /autoware/src/simulator ${ROS_DISTRO} \ && cat /rosdep-simulator-depend-packages.txt ### Simulator -FROM ghcr.io/autowarefoundation/autoware:universe AS simulator +FROM ghcr.io/autowarefoundation/autoware:universe-visualization-amd64 AS simulator +ARG ROS_DISTRO +ARG LIB_DIR WORKDIR /autoware COPY --from=builder /opt/autoware /opt/autoware COPY --from=builder /rosdep-simulator-depend-packages.txt /tmp/rosdep-simulator-depend-packages.txt @@ -49,56 +51,9 @@ RUN --mount=type=ssh \ && sed -i '/\(xmlschema\|yamale\)/d' /tmp/rosdep-simulator-depend-packages.txt \ && pip install yamale xmlschema \ && cat /tmp/rosdep-simulator-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* "$HOME"/.cache && \ - echo "source /opt/autoware/setup.bash" > /etc/bash.bashrc + && /autoware/cleanup_system.sh $LIB_DIR $ROS_DISTRO COPY docker/tools/etc/entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] CMD ["/bin/bash"] - -### Visualizer -FROM simulator AS visualizer -WORKDIR /autoware - -# Install openbox and VNC requirements -RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - curl unzip openbox tigervnc-standalone-server tigervnc-common \ - novnc websockify python3-numpy python3-xdg \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* - -# # Set up VNC password -# RUN mkdir -p ~/.vnc && \ -# echo "openadkit" | vncpasswd -f > ~/.vnc/passwd && \ -# chmod 600 ~/.vnc/passwd - -# Create SSL certificate for NoVNC -RUN openssl req -x509 -nodes -newkey rsa:2048 \ - -keyout /etc/ssl/private/novnc.key \ - -out /etc/ssl/certs/novnc.crt \ - -days 365 \ - -subj "/O=Autoware-OpenADKit/CN=localhost" - -# Install ngrok for optional public access if no public ip available -RUN curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc \ - | tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null && \ - echo "deb https://ngrok-agent.s3.amazonaws.com buster main" \ - | tee /etc/apt/sources.list.d/ngrok.list && \ - apt update && \ - apt install ngrok - -# Need to expose VNC and NoVNC ports when running the container -EXPOSE 5900 6080 - -# Add source commands to bash startup -RUN echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> /root/.bashrc && \ - echo "source /opt/autoware/setup.bash" >> /root/.bashrc - -# Copy startup scripts -COPY docker/tools/etc/xstartup /root/.vnc/xstartup -COPY docker/tools/etc/entrypoint.sh /entrypoint.sh -RUN chmod +x /entrypoint.sh && chmod +x /root/.vnc/xstartup -ENTRYPOINT ["/entrypoint.sh"] -CMD ["/bin/bash"] diff --git a/docker/tools/Dockerfile.visualizer b/docker/tools/Dockerfile.visualizer new file mode 100644 index 00000000000..af2c894806e --- /dev/null +++ b/docker/tools/Dockerfile.visualizer @@ -0,0 +1,88 @@ +### Builder +FROM ghcr.io/autowarefoundation/autoware:universe-visualization-devel-amd64 AS builder +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +ENV CCACHE_DIR="/root/.ccache" +ARG ROS_DISTRO +WORKDIR /autoware +COPY simulator.repos /autoware/simulator.repos +COPY docker/scripts/resolve_rosdep_keys.sh /autoware/resolve_rosdep_keys.sh +RUN chmod +x /autoware/resolve_rosdep_keys.sh + +# Build simulator messages and rviz plugins ONLY +RUN --mount=type=ssh \ + --mount=type=cache,target=/var/cache/apt,sharing=locked \ + mkdir -p src \ + && vcs import src < simulator.repos \ + && apt-get update \ + && source /opt/ros/"$ROS_DISTRO"/setup.bash && source /opt/autoware/setup.bash \ + && rosdep update && rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO \ + && colcon build --cmake-args \ + "-Wno-dev" \ + "--no-warn-unused-cli" \ + --install-base /opt/autoware \ + --merge-install \ + --mixin release compile-commands ccache \ + --base-paths /autoware/src \ + --packages-up-to-regex ".*_msgs$" ".*rviz_plugin$" \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* "$HOME"/.cache + +# Extract rosdep dependencies for visualizer +RUN source /opt/ros/"$ROS_DISTRO"/setup.bash && source /opt/autoware/setup.bash \ + && /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ + | grep -v "yamale\|xmlschema" \ + > /rosdep-visualizer-depend-packages.txt \ + && cat /rosdep-visualizer-depend-packages.txt + +### Visualizer +FROM ghcr.io/autowarefoundation/autoware:universe-visualization-amd64 AS visualizer +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +ARG ROS_DISTRO +ARG LIB_DIR +ARG VNC_PASSWORD="*" +WORKDIR /autoware + +# Get simulator messages, rviz plugins and dependencies +COPY --from=builder /opt/autoware /opt/autoware +COPY --from=builder /rosdep-visualizer-depend-packages.txt /tmp/rosdep-visualizer-depend-packages.txt + +# Install openbox, VNC, ngrok, and simulator dependencies +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ + curl unzip openbox tigervnc-standalone-server tigervnc-common \ + novnc websockify python3-numpy python3-xdg \ + && curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc \ + | tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null && \ + echo "deb https://ngrok-agent.s3.amazonaws.com buster main" \ + | tee /etc/apt/sources.list.d/ngrok.list && \ + apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y ngrok \ + # Remove xmlschema and yamale from rosdep packages since we install via pip + && sed -i '/\(xmlschema\|yamale\)/d' /tmp/rosdep-visualizer-depend-packages.txt \ + && pip install yamale xmlschema \ + && cat /tmp/rosdep-visualizer-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ + && /autoware/cleanup_system.sh $LIB_DIR $ROS_DISTRO + +# Set up VNC password +RUN mkdir -p ~/.vnc && \ + echo "$VNC_PASSWORD" | vncpasswd -f > ~/.vnc/passwd && \ + chmod 600 ~/.vnc/passwd + +# Create SSL certificate for NoVNC +RUN openssl req -x509 -nodes -newkey rsa:2048 \ + -keyout /etc/ssl/private/novnc.key \ + -out /etc/ssl/certs/novnc.crt \ + -days 365 \ + -subj "/O=Autoware-OpenADKit/CN=localhost" + +# Need to expose VNC and NoVNC ports when running the container +EXPOSE 5900 6080 + +# Add source commands to bash startup +RUN echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> /root/.bashrc && \ + echo "source /opt/autoware/setup.bash" >> /root/.bashrc + +# Copy startup scripts +COPY docker/tools/etc/xstartup /root/.vnc/xstartup +COPY docker/tools/etc/entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh && chmod +x /root/.vnc/xstartup +ENTRYPOINT ["/entrypoint.sh"] +CMD ["/bin/bash"] From 851b631d9784ac9443935a931dc908eb7176dfd4 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Thu, 30 Jan 2025 15:03:19 +0300 Subject: [PATCH 09/36] Add seperate workflow for testing Signed-off-by: Oguz Ozturk --- .../docker-build-and-push-arm64.yaml | 31 +++++---- .../docker-build-and-push-tools.yaml | 69 +++++++++++++++++++ docker/tools/Dockerfile.simulator | 4 +- docker/tools/Dockerfile.visualizer | 2 + 4 files changed, 90 insertions(+), 16 deletions(-) create mode 100644 .github/workflows/docker-build-and-push-tools.yaml diff --git a/.github/workflows/docker-build-and-push-arm64.yaml b/.github/workflows/docker-build-and-push-arm64.yaml index 75f5b672f1d..14264c210c7 100644 --- a/.github/workflows/docker-build-and-push-arm64.yaml +++ b/.github/workflows/docker-build-and-push-arm64.yaml @@ -72,21 +72,22 @@ jobs: *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-main *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }},mode=max - - name: Build 'Tools' - uses: ./.github/actions/docker-build-and-push-tools - with: - platform: arm64 - target-image: autoware-tools - build-args: | - *.platform=linux/arm64 - *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} - *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} - *.args.AUTOWARE_BASE_IMAGE=${{ needs.load-env.outputs.autoware_base_image }} - *.args.AUTOWARE_BASE_CUDA_IMAGE=${{ needs.load-env.outputs.autoware_base_cuda_image }} - *.args.LIB_DIR=aarch64 - *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }} - *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-main - *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }},mode=max + # TODO: Uncomment once arm64 builds are FIXED + # - name: Build 'Tools' + # uses: ./.github/actions/docker-build-and-push-tools + # with: + # platform: arm64 + # target-image: autoware-tools + # build-args: | + # *.platform=linux/arm64 + # *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} + # *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + # *.args.AUTOWARE_BASE_IMAGE=${{ needs.load-env.outputs.autoware_base_image }} + # *.args.AUTOWARE_BASE_CUDA_IMAGE=${{ needs.load-env.outputs.autoware_base_cuda_image }} + # *.args.LIB_DIR=aarch64 + # *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }} + # *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-main + # *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }},mode=max - name: Show disk space if: always() diff --git a/.github/workflows/docker-build-and-push-tools.yaml b/.github/workflows/docker-build-and-push-tools.yaml new file mode 100644 index 00000000000..36cb8224b4a --- /dev/null +++ b/.github/workflows/docker-build-and-push-tools.yaml @@ -0,0 +1,69 @@ +name: docker-build-and-push-tools + +on: + # TODO: Remove after tests are completed + pull_request: + branches: + - main + push: + branches: + - main + tags: + - "*.*.*" + workflow_dispatch: + +jobs: + load-env: + uses: ./.github/workflows/load-env.yaml + + docker-build-and-push-tools: + needs: load-env + runs-on: ubuntu-22.04 + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Set git config + uses: autowarefoundation/autoware-github-actions/set-git-config@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Get changed files + id: changed-files + uses: tj-actions/changed-files@v45 + with: + files: | + *.env + *.repos + .github/actions/docker-build-and-push*/action.yaml + .github/workflows/docker-build-and-push*.yaml + ansible-galaxy-requirements.yaml + ansible/** + docker/** + + - name: Free disk space + if: ${{ steps.changed-files.outputs.any_changed == 'true' || + github.event_name == 'workflow_dispatch' || + (github.event_name == 'push' && github.ref_type == 'tag') }} + uses: ./.github/actions/free-disk-space + + - name: Build 'Tools' + uses: ./.github/actions/docker-build-and-push-tools + with: + platform: amd64 + target-image: autoware-tools + build-args: | + *.platform=linux/amd64 + *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} + *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + *.args.AUTOWARE_BASE_IMAGE=${{ needs.load-env.outputs.autoware_base_image }} + *.args.AUTOWARE_BASE_CUDA_IMAGE=${{ needs.load-env.outputs.autoware_base_cuda_image }} + *.args.LIB_DIR=x86_64 + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-${{ github.ref_name }} + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-main + *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-${{ github.ref_name }},mode=max + + - name: Show disk space + if: always() + run: | + df -h diff --git a/docker/tools/Dockerfile.simulator b/docker/tools/Dockerfile.simulator index 566d52907bd..3fef394ad9f 100644 --- a/docker/tools/Dockerfile.simulator +++ b/docker/tools/Dockerfile.simulator @@ -1,5 +1,6 @@ ### Builder -FROM ghcr.io/autowarefoundation/autoware:universe-devel AS builder +# TODO: Remove architecture specific image after arm64 builds are FIXED +FROM ghcr.io/autowarefoundation/autoware:universe-devel-amd64 AS builder SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR @@ -35,6 +36,7 @@ RUN /autoware/resolve_rosdep_keys.sh /autoware/src/simulator ${ROS_DISTRO} \ && cat /rosdep-simulator-depend-packages.txt ### Simulator +# TODO: Remove architecture specific image after arm64 builds are FIXED FROM ghcr.io/autowarefoundation/autoware:universe-visualization-amd64 AS simulator ARG ROS_DISTRO ARG LIB_DIR diff --git a/docker/tools/Dockerfile.visualizer b/docker/tools/Dockerfile.visualizer index af2c894806e..b73ac8ece04 100644 --- a/docker/tools/Dockerfile.visualizer +++ b/docker/tools/Dockerfile.visualizer @@ -1,4 +1,5 @@ ### Builder +# TODO: Remove architecture specific image after arm64 builds are working FROM ghcr.io/autowarefoundation/autoware:universe-visualization-devel-amd64 AS builder SHELL ["/bin/bash", "-o", "pipefail", "-c"] ENV CCACHE_DIR="/root/.ccache" @@ -35,6 +36,7 @@ RUN source /opt/ros/"$ROS_DISTRO"/setup.bash && source /opt/autoware/setup.bash && cat /rosdep-visualizer-depend-packages.txt ### Visualizer +# TODO: Remove architecture specific image after arm64 builds are working FROM ghcr.io/autowarefoundation/autoware:universe-visualization-amd64 AS visualizer SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO From 2f9d2318ec1fb6a655dfa5dc83386ec305cd7e6b Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Thu, 30 Jan 2025 15:10:00 +0300 Subject: [PATCH 10/36] . Signed-off-by: Oguz Ozturk --- .github/actions/docker-build-and-push-tools/action.yaml | 1 + docker/tools/Dockerfile.simulator | 2 -- docker/tools/Dockerfile.visualizer | 4 +--- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/actions/docker-build-and-push-tools/action.yaml b/.github/actions/docker-build-and-push-tools/action.yaml index 1b2448b42f7..9c7e505613c 100644 --- a/.github/actions/docker-build-and-push-tools/action.yaml +++ b/.github/actions/docker-build-and-push-tools/action.yaml @@ -26,6 +26,7 @@ runs: run: | mkdir src vcs import src < autoware.repos + vcs import src < simulator.repos shell: bash - name: Setup Docker Buildx diff --git a/docker/tools/Dockerfile.simulator b/docker/tools/Dockerfile.simulator index 3fef394ad9f..e62866da96a 100644 --- a/docker/tools/Dockerfile.simulator +++ b/docker/tools/Dockerfile.simulator @@ -7,14 +7,12 @@ ARG LIB_DIR ENV CCACHE_DIR="/root/.ccache" WORKDIR /autoware COPY src /autoware/src -COPY simulator.repos /autoware/simulator.repos COPY docker/scripts/resolve_rosdep_keys.sh /autoware/resolve_rosdep_keys.sh RUN chmod +x /autoware/resolve_rosdep_keys.sh # Install dependencies and build the simulator RUN --mount=type=ssh \ --mount=type=cache,target=/var/cache/apt,sharing=locked \ - vcs import src < simulator.repos \ && apt-get update \ && rosdep update && rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO \ && source /opt/ros/"$ROS_DISTRO"/setup.bash && source /opt/autoware/setup.bash \ diff --git a/docker/tools/Dockerfile.visualizer b/docker/tools/Dockerfile.visualizer index b73ac8ece04..21d6e163fde 100644 --- a/docker/tools/Dockerfile.visualizer +++ b/docker/tools/Dockerfile.visualizer @@ -5,15 +5,13 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"] ENV CCACHE_DIR="/root/.ccache" ARG ROS_DISTRO WORKDIR /autoware -COPY simulator.repos /autoware/simulator.repos +COPY src/simulator /autoware/src/simulator COPY docker/scripts/resolve_rosdep_keys.sh /autoware/resolve_rosdep_keys.sh RUN chmod +x /autoware/resolve_rosdep_keys.sh # Build simulator messages and rviz plugins ONLY RUN --mount=type=ssh \ --mount=type=cache,target=/var/cache/apt,sharing=locked \ - mkdir -p src \ - && vcs import src < simulator.repos \ && apt-get update \ && source /opt/ros/"$ROS_DISTRO"/setup.bash && source /opt/autoware/setup.bash \ && rosdep update && rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO \ From e278a88fdcfef4f5425528f69779813efa934f20 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Thu, 30 Jan 2025 15:24:48 +0300 Subject: [PATCH 11/36] . Signed-off-by: Oguz Ozturk --- .github/workflows/docker-build-and-push-arm64.yaml | 4 ++-- .github/workflows/docker-build-and-push-tools.yaml | 4 ++-- .github/workflows/docker-build-and-push.yaml | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docker-build-and-push-arm64.yaml b/.github/workflows/docker-build-and-push-arm64.yaml index 14264c210c7..4da1e6ad598 100644 --- a/.github/workflows/docker-build-and-push-arm64.yaml +++ b/.github/workflows/docker-build-and-push-arm64.yaml @@ -73,11 +73,11 @@ jobs: *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }},mode=max # TODO: Uncomment once arm64 builds are FIXED - # - name: Build 'Tools' + # - name: Build 'autoware-tools' # uses: ./.github/actions/docker-build-and-push-tools # with: # platform: arm64 - # target-image: autoware-tools + # target-image: autoware # build-args: | # *.platform=linux/arm64 # *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} diff --git a/.github/workflows/docker-build-and-push-tools.yaml b/.github/workflows/docker-build-and-push-tools.yaml index 36cb8224b4a..b69b344bac9 100644 --- a/.github/workflows/docker-build-and-push-tools.yaml +++ b/.github/workflows/docker-build-and-push-tools.yaml @@ -47,11 +47,11 @@ jobs: (github.event_name == 'push' && github.ref_type == 'tag') }} uses: ./.github/actions/free-disk-space - - name: Build 'Tools' + - name: Build 'autoware-tools' uses: ./.github/actions/docker-build-and-push-tools with: platform: amd64 - target-image: autoware-tools + target-image: autoware build-args: | *.platform=linux/amd64 *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} diff --git a/.github/workflows/docker-build-and-push.yaml b/.github/workflows/docker-build-and-push.yaml index 361279f5ec1..36c059704b6 100644 --- a/.github/workflows/docker-build-and-push.yaml +++ b/.github/workflows/docker-build-and-push.yaml @@ -62,11 +62,11 @@ jobs: *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-main *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-${{ github.ref_name }},mode=max - - name: Build 'Tools' + - name: Build 'autoware-tools' uses: ./.github/actions/docker-build-and-push-tools with: platform: amd64 - target-image: autoware-tools + target-image: autoware build-args: | *.platform=linux/amd64 *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} From bcaf69496e539c9d40e786e0140f041b89cd8e70 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Thu, 30 Jan 2025 15:32:31 +0300 Subject: [PATCH 12/36] . Signed-off-by: Oguz Ozturk --- .github/workflows/docker-build-and-push-tools.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/docker-build-and-push-tools.yaml b/.github/workflows/docker-build-and-push-tools.yaml index b69b344bac9..10f559c9e7b 100644 --- a/.github/workflows/docker-build-and-push-tools.yaml +++ b/.github/workflows/docker-build-and-push-tools.yaml @@ -59,9 +59,6 @@ jobs: *.args.AUTOWARE_BASE_IMAGE=${{ needs.load-env.outputs.autoware_base_image }} *.args.AUTOWARE_BASE_CUDA_IMAGE=${{ needs.load-env.outputs.autoware_base_cuda_image }} *.args.LIB_DIR=x86_64 - *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-${{ github.ref_name }} - *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-main - *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:amd64-${{ github.ref_name }},mode=max - name: Show disk space if: always() From 87598f35b1aef325e57c36d4941536c6e760fde5 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Thu, 30 Jan 2025 15:45:40 +0300 Subject: [PATCH 13/36] fix typo Signed-off-by: Oguz Ozturk --- .../docker-build-and-push-arm64.yaml | 2 +- .github/workflows/docker-build-and-push.yaml | 2 +- docker/tools/Dockerfile.simulator | 14 ++--- docker/tools/Dockerfile.visualizer | 52 +++++++++---------- 4 files changed, 35 insertions(+), 35 deletions(-) diff --git a/.github/workflows/docker-build-and-push-arm64.yaml b/.github/workflows/docker-build-and-push-arm64.yaml index 4da1e6ad598..75f1ec1998e 100644 --- a/.github/workflows/docker-build-and-push-arm64.yaml +++ b/.github/workflows/docker-build-and-push-arm64.yaml @@ -77,7 +77,7 @@ jobs: # uses: ./.github/actions/docker-build-and-push-tools # with: # platform: arm64 - # target-image: autoware + # target-image: autoware-tools # build-args: | # *.platform=linux/arm64 # *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} diff --git a/.github/workflows/docker-build-and-push.yaml b/.github/workflows/docker-build-and-push.yaml index 36c059704b6..478ba6a473a 100644 --- a/.github/workflows/docker-build-and-push.yaml +++ b/.github/workflows/docker-build-and-push.yaml @@ -66,7 +66,7 @@ jobs: uses: ./.github/actions/docker-build-and-push-tools with: platform: amd64 - target-image: autoware + target-image: autoware-tools build-args: | *.platform=linux/amd64 *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} diff --git a/docker/tools/Dockerfile.simulator b/docker/tools/Dockerfile.simulator index e62866da96a..135ff2836db 100644 --- a/docker/tools/Dockerfile.simulator +++ b/docker/tools/Dockerfile.simulator @@ -13,16 +13,16 @@ RUN chmod +x /autoware/resolve_rosdep_keys.sh # Install dependencies and build the simulator RUN --mount=type=ssh \ --mount=type=cache,target=/var/cache/apt,sharing=locked \ - && apt-get update \ + apt-get update \ && rosdep update && rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO \ && source /opt/ros/"$ROS_DISTRO"/setup.bash && source /opt/autoware/setup.bash \ && colcon build --cmake-args \ - "-Wno-dev" \ - "--no-warn-unused-cli" \ - --install-base /opt/autoware \ - --merge-install \ - --mixin release compile-commands ccache \ - --base-paths /autoware/src/simulator \ + "-Wno-dev" \ + "--no-warn-unused-cli" \ + --install-base /opt/autoware \ + --merge-install \ + --mixin release compile-commands ccache \ + --base-paths /autoware/src/simulator \ && find /opt/autoware/lib -type f -name "*.py" -exec chmod +x {} \; \ && find /opt/autoware/share -type f -name "*.py" -exec chmod +x {} \; \ && apt-get clean \ diff --git a/docker/tools/Dockerfile.visualizer b/docker/tools/Dockerfile.visualizer index 21d6e163fde..c051f85c1de 100644 --- a/docker/tools/Dockerfile.visualizer +++ b/docker/tools/Dockerfile.visualizer @@ -11,20 +11,20 @@ RUN chmod +x /autoware/resolve_rosdep_keys.sh # Build simulator messages and rviz plugins ONLY RUN --mount=type=ssh \ - --mount=type=cache,target=/var/cache/apt,sharing=locked \ - && apt-get update \ - && source /opt/ros/"$ROS_DISTRO"/setup.bash && source /opt/autoware/setup.bash \ - && rosdep update && rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO \ - && colcon build --cmake-args \ - "-Wno-dev" \ - "--no-warn-unused-cli" \ - --install-base /opt/autoware \ - --merge-install \ - --mixin release compile-commands ccache \ - --base-paths /autoware/src \ - --packages-up-to-regex ".*_msgs$" ".*rviz_plugin$" \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* "$HOME"/.cache + --mount=type=cache,target=/var/cache/apt,sharing=locked \ + apt-get update \ + && source /opt/ros/"$ROS_DISTRO"/setup.bash && source /opt/autoware/setup.bash \ + && rosdep update && rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO \ + && colcon build --cmake-args \ + "-Wno-dev" \ + "--no-warn-unused-cli" \ + --install-base /opt/autoware \ + --merge-install \ + --mixin release compile-commands ccache \ + --base-paths /autoware/src \ + --packages-up-to-regex ".*_msgs$" ".*rviz_plugin$" \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* "$HOME"/.cache # Extract rosdep dependencies for visualizer RUN source /opt/ros/"$ROS_DISTRO"/setup.bash && source /opt/autoware/setup.bash \ @@ -48,18 +48,18 @@ COPY --from=builder /rosdep-visualizer-depend-packages.txt /tmp/rosdep-visualize # Install openbox, VNC, ngrok, and simulator dependencies RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ - curl unzip openbox tigervnc-standalone-server tigervnc-common \ - novnc websockify python3-numpy python3-xdg \ - && curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc \ - | tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null && \ - echo "deb https://ngrok-agent.s3.amazonaws.com buster main" \ - | tee /etc/apt/sources.list.d/ngrok.list && \ - apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y ngrok \ - # Remove xmlschema and yamale from rosdep packages since we install via pip - && sed -i '/\(xmlschema\|yamale\)/d' /tmp/rosdep-visualizer-depend-packages.txt \ - && pip install yamale xmlschema \ - && cat /tmp/rosdep-visualizer-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ - && /autoware/cleanup_system.sh $LIB_DIR $ROS_DISTRO + curl unzip openbox tigervnc-standalone-server tigervnc-common \ + novnc websockify python3-numpy python3-xdg \ + && curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc \ + | tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null \ + && echo "deb https://ngrok-agent.s3.amazonaws.com buster main" \ + | tee /etc/apt/sources.list.d/ngrok.list \ + && apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y ngrok \ + # Remove xmlschema and yamale from rosdep packages since we install via pip + && sed -i '/\(xmlschema\|yamale\)/d' /tmp/rosdep-visualizer-depend-packages.txt \ + && pip install yamale xmlschema \ + && cat /tmp/rosdep-visualizer-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ + && /autoware/cleanup_system.sh $LIB_DIR $ROS_DISTRO # Set up VNC password RUN mkdir -p ~/.vnc && \ From 71baa41ae0dbad1fc4c684ec59b0eb05b372b659 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Thu, 30 Jan 2025 19:36:19 +0300 Subject: [PATCH 14/36] fix spellcheck Signed-off-by: Oguz Ozturk --- docker/tools/Dockerfile.visualizer | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/tools/Dockerfile.visualizer b/docker/tools/Dockerfile.visualizer index c051f85c1de..4b85a8cc90c 100644 --- a/docker/tools/Dockerfile.visualizer +++ b/docker/tools/Dockerfile.visualizer @@ -46,6 +46,7 @@ WORKDIR /autoware COPY --from=builder /opt/autoware /opt/autoware COPY --from=builder /rosdep-visualizer-depend-packages.txt /tmp/rosdep-visualizer-depend-packages.txt +# cspell:ignore openbox, VNC, ngrok # Install openbox, VNC, ngrok, and simulator dependencies RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ curl unzip openbox tigervnc-standalone-server tigervnc-common \ From 1276ddd22ceabe52e8be2af213f0a3bb81bddc63 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Thu, 30 Jan 2025 19:40:57 +0300 Subject: [PATCH 15/36] fix spellcheck Signed-off-by: Oguz Ozturk --- docker/tools/Dockerfile.visualizer | 2 +- docker/tools/etc/entrypoint.sh | 1 + docker/tools/etc/xstartup | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docker/tools/Dockerfile.visualizer b/docker/tools/Dockerfile.visualizer index 4b85a8cc90c..a1aec30ec64 100644 --- a/docker/tools/Dockerfile.visualizer +++ b/docker/tools/Dockerfile.visualizer @@ -46,7 +46,7 @@ WORKDIR /autoware COPY --from=builder /opt/autoware /opt/autoware COPY --from=builder /rosdep-visualizer-depend-packages.txt /tmp/rosdep-visualizer-depend-packages.txt -# cspell:ignore openbox, VNC, ngrok +# cspell:ignore openbox, VNC, ngrok, tigervnc, novnc, websockify, newkey, xstartup # Install openbox, VNC, ngrok, and simulator dependencies RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ curl unzip openbox tigervnc-standalone-server tigervnc-common \ diff --git a/docker/tools/etc/entrypoint.sh b/docker/tools/etc/entrypoint.sh index ba6f69f2ef5..678e29916da 100644 --- a/docker/tools/etc/entrypoint.sh +++ b/docker/tools/etc/entrypoint.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +# cspell:ignore openbox, VNC, ngrok, tigervnc, novnc, websockify, newkey, xstartup configure_vnc() { # Create Openbox application configuration diff --git a/docker/tools/etc/xstartup b/docker/tools/etc/xstartup index ba1c8c814ae..4788b3331e4 100644 --- a/docker/tools/etc/xstartup +++ b/docker/tools/etc/xstartup @@ -1,4 +1,5 @@ #!/bin/sh +# cspell:ignore openbox, VNC, ngrok, tigervnc, novnc, websockify, newkey, xstartup unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS From 18ea4d242f27a93a8f163723ee4781d45fd27f55 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Thu, 30 Jan 2025 19:46:59 +0300 Subject: [PATCH 16/36] . Signed-off-by: Oguz Ozturk --- docker/tools/Dockerfile.visualizer | 2 +- docker/tools/etc/entrypoint.sh | 2 +- docker/tools/etc/xstartup | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/tools/Dockerfile.visualizer b/docker/tools/Dockerfile.visualizer index a1aec30ec64..736edc16295 100644 --- a/docker/tools/Dockerfile.visualizer +++ b/docker/tools/Dockerfile.visualizer @@ -46,7 +46,7 @@ WORKDIR /autoware COPY --from=builder /opt/autoware /opt/autoware COPY --from=builder /rosdep-visualizer-depend-packages.txt /tmp/rosdep-visualizer-depend-packages.txt -# cspell:ignore openbox, VNC, ngrok, tigervnc, novnc, websockify, newkey, xstartup +# cspell:ignore openbox, VNC, ngrok, tigervnc, novnc, websockify, newkey, xstartup, vncpassword, keyout # Install openbox, VNC, ngrok, and simulator dependencies RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ curl unzip openbox tigervnc-standalone-server tigervnc-common \ diff --git a/docker/tools/etc/entrypoint.sh b/docker/tools/etc/entrypoint.sh index 678e29916da..ea1fc51c167 100644 --- a/docker/tools/etc/entrypoint.sh +++ b/docker/tools/etc/entrypoint.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# cspell:ignore openbox, VNC, ngrok, tigervnc, novnc, websockify, newkey, xstartup +# cspell:ignore openbox, VNC, ngrok, tigervnc, novnc, websockify, newkey, xstartup, pixelformat, AUTHTOKEN, authtoken configure_vnc() { # Create Openbox application configuration diff --git a/docker/tools/etc/xstartup b/docker/tools/etc/xstartup index 4788b3331e4..d3633837812 100644 --- a/docker/tools/etc/xstartup +++ b/docker/tools/etc/xstartup @@ -1,5 +1,5 @@ #!/bin/sh -# cspell:ignore openbox, VNC, ngrok, tigervnc, novnc, websockify, newkey, xstartup +# cspell:ignore openbox, VNC, ngrok, tigervnc, novnc, websockify, newkey, xstartup, DBUS, Xresources, xrdb unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS From 79b07e84796d3b37ab9c92dd91490b5584e65aa4 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Thu, 30 Jan 2025 19:49:55 +0300 Subject: [PATCH 17/36] . Signed-off-by: Oguz Ozturk --- docker/tools/Dockerfile.visualizer | 3 ++- docker/tools/etc/entrypoint.sh | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docker/tools/Dockerfile.visualizer b/docker/tools/Dockerfile.visualizer index 736edc16295..015297278d6 100644 --- a/docker/tools/Dockerfile.visualizer +++ b/docker/tools/Dockerfile.visualizer @@ -1,3 +1,5 @@ +# cspell:ignore openbox, VNC, ngrok, tigervnc, novnc, websockify, newkey, xstartup, vncpasswd, keyout + ### Builder # TODO: Remove architecture specific image after arm64 builds are working FROM ghcr.io/autowarefoundation/autoware:universe-visualization-devel-amd64 AS builder @@ -46,7 +48,6 @@ WORKDIR /autoware COPY --from=builder /opt/autoware /opt/autoware COPY --from=builder /rosdep-visualizer-depend-packages.txt /tmp/rosdep-visualizer-depend-packages.txt -# cspell:ignore openbox, VNC, ngrok, tigervnc, novnc, websockify, newkey, xstartup, vncpassword, keyout # Install openbox, VNC, ngrok, and simulator dependencies RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ curl unzip openbox tigervnc-standalone-server tigervnc-common \ diff --git a/docker/tools/etc/entrypoint.sh b/docker/tools/etc/entrypoint.sh index ea1fc51c167..0cb2bd7b529 100644 --- a/docker/tools/etc/entrypoint.sh +++ b/docker/tools/etc/entrypoint.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# cspell:ignore openbox, VNC, ngrok, tigervnc, novnc, websockify, newkey, xstartup, pixelformat, AUTHTOKEN, authtoken +# cspell:ignore openbox, VNC, ngrok, tigervnc, novnc, websockify, newkey, xstartup, pixelformat, AUTHTOKEN, authtoken, vncserver, autoconnect configure_vnc() { # Create Openbox application configuration From 985ed76304eca0751e8b7c29fe1d8f9adadfb2fd Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Thu, 30 Jan 2025 19:53:33 +0300 Subject: [PATCH 18/36] fix hadolint errors Signed-off-by: Oguz Ozturk --- docker/tools/Dockerfile.simulator | 3 ++- docker/tools/Dockerfile.visualizer | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/tools/Dockerfile.simulator b/docker/tools/Dockerfile.simulator index 135ff2836db..abeca64386b 100644 --- a/docker/tools/Dockerfile.simulator +++ b/docker/tools/Dockerfile.simulator @@ -36,6 +36,7 @@ RUN /autoware/resolve_rosdep_keys.sh /autoware/src/simulator ${ROS_DISTRO} \ ### Simulator # TODO: Remove architecture specific image after arm64 builds are FIXED FROM ghcr.io/autowarefoundation/autoware:universe-visualization-amd64 AS simulator +SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR WORKDIR /autoware @@ -49,7 +50,7 @@ RUN --mount=type=ssh \ && rosdep update \ # Remove xmlschema and yamale from rosdep packages since we install via pip && sed -i '/\(xmlschema\|yamale\)/d' /tmp/rosdep-simulator-depend-packages.txt \ - && pip install yamale xmlschema \ + && pip install --no-cache-dir yamale xmlschema \ && cat /tmp/rosdep-simulator-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ && /autoware/cleanup_system.sh $LIB_DIR $ROS_DISTRO diff --git a/docker/tools/Dockerfile.visualizer b/docker/tools/Dockerfile.visualizer index 015297278d6..b312a22d6ea 100644 --- a/docker/tools/Dockerfile.visualizer +++ b/docker/tools/Dockerfile.visualizer @@ -31,7 +31,6 @@ RUN --mount=type=ssh \ # Extract rosdep dependencies for visualizer RUN source /opt/ros/"$ROS_DISTRO"/setup.bash && source /opt/autoware/setup.bash \ && /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ - | grep -v "yamale\|xmlschema" \ > /rosdep-visualizer-depend-packages.txt \ && cat /rosdep-visualizer-depend-packages.txt @@ -59,7 +58,7 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ && apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y ngrok \ # Remove xmlschema and yamale from rosdep packages since we install via pip && sed -i '/\(xmlschema\|yamale\)/d' /tmp/rosdep-visualizer-depend-packages.txt \ - && pip install yamale xmlschema \ + && pip install --no-cache-dir yamale xmlschema \ && cat /tmp/rosdep-visualizer-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ && /autoware/cleanup_system.sh $LIB_DIR $ROS_DISTRO From b71834668660d7d4729ea783211ad6960d51ecd7 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Thu, 30 Jan 2025 20:00:32 +0300 Subject: [PATCH 19/36] fix hadolint errors Signed-off-by: Oguz Ozturk --- docker/tools/Dockerfile.simulator | 2 ++ docker/tools/Dockerfile.visualizer | 3 +++ 2 files changed, 5 insertions(+) diff --git a/docker/tools/Dockerfile.simulator b/docker/tools/Dockerfile.simulator index abeca64386b..128accd7a80 100644 --- a/docker/tools/Dockerfile.simulator +++ b/docker/tools/Dockerfile.simulator @@ -11,6 +11,7 @@ COPY docker/scripts/resolve_rosdep_keys.sh /autoware/resolve_rosdep_keys.sh RUN chmod +x /autoware/resolve_rosdep_keys.sh # Install dependencies and build the simulator +# hadolint ignore=SC1091 RUN --mount=type=ssh \ --mount=type=cache,target=/var/cache/apt,sharing=locked \ apt-get update \ @@ -43,6 +44,7 @@ WORKDIR /autoware COPY --from=builder /opt/autoware /opt/autoware COPY --from=builder /rosdep-simulator-depend-packages.txt /tmp/rosdep-simulator-depend-packages.txt +# hadolint ignore=SC2002 RUN --mount=type=ssh \ --mount=type=cache,target=/var/cache/apt,sharing=locked \ apt-get update && apt-get install -y curl unzip \ diff --git a/docker/tools/Dockerfile.visualizer b/docker/tools/Dockerfile.visualizer index b312a22d6ea..c9f4a1fbd46 100644 --- a/docker/tools/Dockerfile.visualizer +++ b/docker/tools/Dockerfile.visualizer @@ -12,6 +12,7 @@ COPY docker/scripts/resolve_rosdep_keys.sh /autoware/resolve_rosdep_keys.sh RUN chmod +x /autoware/resolve_rosdep_keys.sh # Build simulator messages and rviz plugins ONLY +# hadolint ignore=SC1091 RUN --mount=type=ssh \ --mount=type=cache,target=/var/cache/apt,sharing=locked \ apt-get update \ @@ -29,6 +30,7 @@ RUN --mount=type=ssh \ && rm -rf /var/lib/apt/lists/* "$HOME"/.cache # Extract rosdep dependencies for visualizer +# hadolint ignore=SC1091 RUN source /opt/ros/"$ROS_DISTRO"/setup.bash && source /opt/autoware/setup.bash \ && /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ > /rosdep-visualizer-depend-packages.txt \ @@ -48,6 +50,7 @@ COPY --from=builder /opt/autoware /opt/autoware COPY --from=builder /rosdep-visualizer-depend-packages.txt /tmp/rosdep-visualizer-depend-packages.txt # Install openbox, VNC, ngrok, and simulator dependencies +# hadolint ignore=SC2002 RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ curl unzip openbox tigervnc-standalone-server tigervnc-common \ novnc websockify python3-numpy python3-xdg \ From 2bf66df0b5e66e60948aa5e874dad15c004a7eac Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Thu, 30 Jan 2025 20:05:27 +0300 Subject: [PATCH 20/36] . Signed-off-by: Oguz Ozturk --- docker/tools/etc/entrypoint.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/tools/etc/entrypoint.sh b/docker/tools/etc/entrypoint.sh index 0cb2bd7b529..0229c02a5c1 100644 --- a/docker/tools/etc/entrypoint.sh +++ b/docker/tools/etc/entrypoint.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash # cspell:ignore openbox, VNC, ngrok, tigervnc, novnc, websockify, newkey, xstartup, pixelformat, AUTHTOKEN, authtoken, vncserver, autoconnect +# shellcheck disable=SC1090 configure_vnc() { # Create Openbox application configuration From aab257c2c43aca02e5d9bb182ddaaab715272191 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Thu, 30 Jan 2025 20:07:45 +0300 Subject: [PATCH 21/36] . Signed-off-by: Oguz Ozturk --- docker/tools/etc/entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/tools/etc/entrypoint.sh b/docker/tools/etc/entrypoint.sh index 0229c02a5c1..2833e0d0bb0 100644 --- a/docker/tools/etc/entrypoint.sh +++ b/docker/tools/etc/entrypoint.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash # cspell:ignore openbox, VNC, ngrok, tigervnc, novnc, websockify, newkey, xstartup, pixelformat, AUTHTOKEN, authtoken, vncserver, autoconnect -# shellcheck disable=SC1090 +# shellcheck disable=SC1090,SC1091 configure_vnc() { # Create Openbox application configuration From 38779bd4c2613d345e9b9c1f25e4f4a67e645f3c Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Fri, 31 Jan 2025 20:21:11 +0300 Subject: [PATCH 22/36] remove ngrok, remove VNC_PASSWORD ARG Signed-off-by: Oguz Ozturk --- .../docker-build-and-push-tools/action.yaml | 14 ++++----- docker/docker-bake-tools.hcl | 12 +++---- ...e.visualizer => Dockerfile.web-visualizer} | 31 ++++++------------- docker/tools/etc/entrypoint.sh | 28 +++++++---------- docker/tools/etc/xstartup | 2 +- docker/tools/run.sh | 9 ++++++ 6 files changed, 44 insertions(+), 52 deletions(-) rename docker/tools/{Dockerfile.visualizer => Dockerfile.web-visualizer} (71%) create mode 100755 docker/tools/run.sh diff --git a/.github/actions/docker-build-and-push-tools/action.yaml b/.github/actions/docker-build-and-push-tools/action.yaml index 9c7e505613c..98e8ece1c18 100644 --- a/.github/actions/docker-build-and-push-tools/action.yaml +++ b/.github/actions/docker-build-and-push-tools/action.yaml @@ -65,16 +65,16 @@ runs: run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT shell: bash - - name: Docker meta for autoware:visualizer - id: meta-visualizer + - name: Docker meta for autoware:web-visualizer + id: meta-web-visualizer uses: docker/metadata-action@v5 with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | - type=raw,value=visualizer-${{ inputs.platform }} - type=raw,value=visualizer-${{ steps.date.outputs.date }}-${{ inputs.platform }} - type=ref,event=tag,prefix=visualizer-,suffix=-${{ inputs.platform }} - bake-target: docker-metadata-action-visualizer + type=raw,value=web-visualizer-${{ inputs.platform }} + type=raw,value=web-visualizer-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=web-visualizer-,suffix=-${{ inputs.platform }} + bake-target: docker-metadata-action-web-visualizer flavor: | latest=false @@ -105,7 +105,7 @@ runs: files: | docker/docker-bake-tools.hcl ${{ steps.meta-simulator.outputs.bake-file }} - ${{ steps.meta-visualizer.outputs.bake-file }} + ${{ steps.meta-web-visualizer.outputs.bake-file }} provenance: false set: | ${{ inputs.build-args }} diff --git a/docker/docker-bake-tools.hcl b/docker/docker-bake-tools.hcl index cb6af086fe7..6bf3c3107c9 100644 --- a/docker/docker-bake-tools.hcl +++ b/docker/docker-bake-tools.hcl @@ -1,13 +1,13 @@ group "default" { targets = [ "simulator", - "visualizer" + "web-visualizer" ] } // For docker/metadata-action target "docker-metadata-action-simulator" {} -target "docker-metadata-action-visualizer" {} +target "docker-metadata-action-web-visualizer" {} target "simulator" { inherits = ["docker-metadata-action-simulator"] @@ -15,8 +15,8 @@ target "simulator" { target = "simulator" } -target "visualizer" { - inherits = ["docker-metadata-action-visualizer"] - dockerfile = "docker/tools/Dockerfile.visualizer" - target = "visualizer" +target "web-visualizer" { + inherits = ["docker-metadata-action-web-visualizer"] + dockerfile = "docker/tools/Dockerfile.web-visualizer" + target = "web-visualizer" } diff --git a/docker/tools/Dockerfile.visualizer b/docker/tools/Dockerfile.web-visualizer similarity index 71% rename from docker/tools/Dockerfile.visualizer rename to docker/tools/Dockerfile.web-visualizer index c9f4a1fbd46..a0287b81a79 100644 --- a/docker/tools/Dockerfile.visualizer +++ b/docker/tools/Dockerfile.web-visualizer @@ -1,4 +1,4 @@ -# cspell:ignore openbox, VNC, ngrok, tigervnc, novnc, websockify, newkey, xstartup, vncpasswd, keyout +# cspell:ignore openbox, VNC, tigervnc, novnc, websockify, newkey, xstartup, vncpasswd, keyout ### Builder # TODO: Remove architecture specific image after arm64 builds are working @@ -29,47 +29,36 @@ RUN --mount=type=ssh \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* "$HOME"/.cache -# Extract rosdep dependencies for visualizer +# Extract rosdep dependencies for web-visualizer # hadolint ignore=SC1091 RUN source /opt/ros/"$ROS_DISTRO"/setup.bash && source /opt/autoware/setup.bash \ && /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ - > /rosdep-visualizer-depend-packages.txt \ - && cat /rosdep-visualizer-depend-packages.txt + > /rosdep-web-visualizer-depend-packages.txt \ + && cat /rosdep-web-visualizer-depend-packages.txt -### Visualizer +### web-visualizer # TODO: Remove architecture specific image after arm64 builds are working -FROM ghcr.io/autowarefoundation/autoware:universe-visualization-amd64 AS visualizer +FROM ghcr.io/autowarefoundation/autoware:universe-visualization-amd64 AS web-visualizer SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR -ARG VNC_PASSWORD="*" WORKDIR /autoware # Get simulator messages, rviz plugins and dependencies COPY --from=builder /opt/autoware /opt/autoware -COPY --from=builder /rosdep-visualizer-depend-packages.txt /tmp/rosdep-visualizer-depend-packages.txt +COPY --from=builder /rosdep-web-visualizer-depend-packages.txt /tmp/rosdep-web-visualizer-depend-packages.txt -# Install openbox, VNC, ngrok, and simulator dependencies +# Install openbox, VNC, and simulator dependencies # hadolint ignore=SC2002 RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ curl unzip openbox tigervnc-standalone-server tigervnc-common \ novnc websockify python3-numpy python3-xdg \ - && curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc \ - | tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null \ - && echo "deb https://ngrok-agent.s3.amazonaws.com buster main" \ - | tee /etc/apt/sources.list.d/ngrok.list \ - && apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y ngrok \ # Remove xmlschema and yamale from rosdep packages since we install via pip - && sed -i '/\(xmlschema\|yamale\)/d' /tmp/rosdep-visualizer-depend-packages.txt \ + && sed -i '/\(xmlschema\|yamale\)/d' /tmp/rosdep-web-visualizer-depend-packages.txt \ && pip install --no-cache-dir yamale xmlschema \ - && cat /tmp/rosdep-visualizer-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ + && cat /tmp/rosdep-web-visualizer-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ && /autoware/cleanup_system.sh $LIB_DIR $ROS_DISTRO -# Set up VNC password -RUN mkdir -p ~/.vnc && \ - echo "$VNC_PASSWORD" | vncpasswd -f > ~/.vnc/passwd && \ - chmod 600 ~/.vnc/passwd - # Create SSL certificate for NoVNC RUN openssl req -x509 -nodes -newkey rsa:2048 \ -keyout /etc/ssl/private/novnc.key \ diff --git a/docker/tools/etc/entrypoint.sh b/docker/tools/etc/entrypoint.sh index 2833e0d0bb0..24cd70b0dd3 100644 --- a/docker/tools/etc/entrypoint.sh +++ b/docker/tools/etc/entrypoint.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# cspell:ignore openbox, VNC, ngrok, tigervnc, novnc, websockify, newkey, xstartup, pixelformat, AUTHTOKEN, authtoken, vncserver, autoconnect +# cspell:ignore openbox, VNC, tigervnc, novnc, websockify, newkey, xstartup, pixelformat, AUTHTOKEN, authtoken, vncserver, autoconnect # shellcheck disable=SC1090,SC1091 configure_vnc() { @@ -37,6 +37,10 @@ EOF echo "echo 'Autostart executed at $(date)' >> /tmp/autostart.log" >>/etc/xdg/openbox/autostart echo "/usr/local/bin/start-rviz2.sh" >>/etc/xdg/openbox/autostart + # Configure VNC password + mkdir -p ~/.vnc + echo "$VNC_PASSWORD" | vncpasswd -f >~/.vnc/passwd && chmod 600 ~/.vnc/passwd + # Start VNC server with Openbox echo "Starting VNC server with Openbox..." vncserver :99 -geometry 1024x768 -depth 16 -pixelformat rgb565 @@ -56,24 +60,14 @@ EOF echo "Starting NoVNC..." websockify --daemon --web=/usr/share/novnc/ --cert=/etc/ssl/certs/novnc.crt --key=/etc/ssl/private/novnc.key 6080 localhost:5999 - # Configure ngrok if set - if [ -n "$NGROK_AUTHTOKEN" ]; then - ngrok config add-authtoken "$NGROK_AUTHTOKEN" - - if [ -n "$NGROK_URL" ]; then - ngrok http --url="$NGROK_URL" 6080 --log=stdout >ngrok.log & - else - ngrok http 6080 --log=stdout >ngrok.log & - sleep 2 - NGROK_URL=$(grep -oP 'url=\K[^\s]+' ngrok.log) - fi - fi - # Print info echo -e "\033[32m-------------------------------------------------------------------------\033[0m" - echo -e "\033[32mBrowser interface available at local address http://$(hostname -I | cut -d' ' -f1):6080/vnc.html?resize=scale&password=openadkit&autoconnect=true\033[0m" - [ -z "$NGROK_AUTHTOKEN" ] && echo -e "\033[32mIf you have a static public ip you can access it on WEB at http://$(curl -s ifconfig.me):6080/vnc.html?resize=scale&password=openadkit&autoconnect=true\033[0m" - [ -n "$NGROK_AUTHTOKEN" ] && echo -e "\033[32mBrowser interface available at WEB address $NGROK_URL/vnc.html?resize=scale&password=openadkit&autoconnect=true\033[0m" + echo -e "\033[32mBrowser interface available at local address http://$(hostname -I | cut -d' ' -f1):6080/vnc.html?resize=scale&password=${VNC_PASSWORD}&autoconnect=true\033[0m" + if ping -c 1 8.8.8.8 >/dev/null 2>&1; then + echo -e "\033[32mIf you have a static public ip you can access it on WEB at http://$(curl -s ifconfig.me):6080/vnc.html?resize=scale&password=${VNC_PASSWORD}&autoconnect=true\033[0m" + else + echo -e "\033[31mNo internet connection available\033[0m" + fi echo -e "\033[32m-------------------------------------------------------------------------\033[0m" } diff --git a/docker/tools/etc/xstartup b/docker/tools/etc/xstartup index d3633837812..44a8991a99a 100644 --- a/docker/tools/etc/xstartup +++ b/docker/tools/etc/xstartup @@ -1,5 +1,5 @@ #!/bin/sh -# cspell:ignore openbox, VNC, ngrok, tigervnc, novnc, websockify, newkey, xstartup, DBUS, Xresources, xrdb +# cspell:ignore openbox, VNC, tigervnc, novnc, websockify, newkey, xstartup, DBUS, Xresources, xrdb unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS diff --git a/docker/tools/run.sh b/docker/tools/run.sh new file mode 100755 index 00000000000..fd210db2830 --- /dev/null +++ b/docker/tools/run.sh @@ -0,0 +1,9 @@ +#! /bin/bash + +docker run -it --rm \ + --net=host \ + --platform linux/amd64 \ + --name web-visualizer \ + --env VNC_ENABLED=true \ + --env VNC_PASSWORD=openadkit \ + ghcr.io/autowarefoundation/autoware:web-visualizer-20250130-amd64 From 2dc2eb859760aa83804ee4cd11e51b4494c481ba Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Fri, 31 Jan 2025 21:45:47 +0300 Subject: [PATCH 23/36] . Signed-off-by: Oguz Ozturk --- .../docker-build-and-push-tools/action.yaml | 14 ++--- docker/docker-bake-tools.hcl | 13 ++--- docker/tools/run.sh | 15 ++++-- .../Dockerfile.simulator | 0 docker/tools/scenario-simulator/entrypoint.sh | 54 +++++++++++++++++++ .../Dockerfile.visualizer} | 18 +++---- .../tools/{etc => visualizer}/entrypoint.sh | 16 ++++-- docker/tools/{etc => visualizer}/xstartup | 0 8 files changed, 99 insertions(+), 31 deletions(-) rename docker/tools/{ => scenario-simulator}/Dockerfile.simulator (100%) create mode 100644 docker/tools/scenario-simulator/entrypoint.sh rename docker/tools/{Dockerfile.web-visualizer => visualizer/Dockerfile.visualizer} (84%) rename docker/tools/{etc => visualizer}/entrypoint.sh (79%) rename docker/tools/{etc => visualizer}/xstartup (100%) diff --git a/.github/actions/docker-build-and-push-tools/action.yaml b/.github/actions/docker-build-and-push-tools/action.yaml index 98e8ece1c18..9c7e505613c 100644 --- a/.github/actions/docker-build-and-push-tools/action.yaml +++ b/.github/actions/docker-build-and-push-tools/action.yaml @@ -65,16 +65,16 @@ runs: run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT shell: bash - - name: Docker meta for autoware:web-visualizer - id: meta-web-visualizer + - name: Docker meta for autoware:visualizer + id: meta-visualizer uses: docker/metadata-action@v5 with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | - type=raw,value=web-visualizer-${{ inputs.platform }} - type=raw,value=web-visualizer-${{ steps.date.outputs.date }}-${{ inputs.platform }} - type=ref,event=tag,prefix=web-visualizer-,suffix=-${{ inputs.platform }} - bake-target: docker-metadata-action-web-visualizer + type=raw,value=visualizer-${{ inputs.platform }} + type=raw,value=visualizer-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=visualizer-,suffix=-${{ inputs.platform }} + bake-target: docker-metadata-action-visualizer flavor: | latest=false @@ -105,7 +105,7 @@ runs: files: | docker/docker-bake-tools.hcl ${{ steps.meta-simulator.outputs.bake-file }} - ${{ steps.meta-web-visualizer.outputs.bake-file }} + ${{ steps.meta-visualizer.outputs.bake-file }} provenance: false set: | ${{ inputs.build-args }} diff --git a/docker/docker-bake-tools.hcl b/docker/docker-bake-tools.hcl index 6bf3c3107c9..d0b0039307d 100644 --- a/docker/docker-bake-tools.hcl +++ b/docker/docker-bake-tools.hcl @@ -1,13 +1,13 @@ group "default" { targets = [ "simulator", - "web-visualizer" + "visualizer" ] } // For docker/metadata-action target "docker-metadata-action-simulator" {} -target "docker-metadata-action-web-visualizer" {} +target "docker-metadata-action-visualizer" {} target "simulator" { inherits = ["docker-metadata-action-simulator"] @@ -15,8 +15,9 @@ target "simulator" { target = "simulator" } -target "web-visualizer" { - inherits = ["docker-metadata-action-web-visualizer"] - dockerfile = "docker/tools/Dockerfile.web-visualizer" - target = "web-visualizer" +target "visualizer" { + inherits = ["docker-metadata-action-visualizer"] + dockerfile = "docker/tools/Dockerfile.visualizer" + target = "visualizer" } + diff --git a/docker/tools/run.sh b/docker/tools/run.sh index fd210db2830..8355c8279ad 100755 --- a/docker/tools/run.sh +++ b/docker/tools/run.sh @@ -1,9 +1,16 @@ #! /bin/bash +# docker run -it --rm \ +# --net=host \ +# --platform linux/amd64 \ +# --name visualizer \ +# --env WEB_ENABLED=true \ +# --env WEB_PASSWORD=openadkit \ +# ghcr.io/autowarefoundation/autoware:visualizer-20250130-amd64 + + docker run -it --rm \ --net=host \ --platform linux/amd64 \ - --name web-visualizer \ - --env VNC_ENABLED=true \ - --env VNC_PASSWORD=openadkit \ - ghcr.io/autowarefoundation/autoware:web-visualizer-20250130-amd64 + --name simulator \ + ghcr.io/autowarefoundation/autoware:simulator-20250130-amd64 diff --git a/docker/tools/Dockerfile.simulator b/docker/tools/scenario-simulator/Dockerfile.simulator similarity index 100% rename from docker/tools/Dockerfile.simulator rename to docker/tools/scenario-simulator/Dockerfile.simulator diff --git a/docker/tools/scenario-simulator/entrypoint.sh b/docker/tools/scenario-simulator/entrypoint.sh new file mode 100644 index 00000000000..229e9f7f5c0 --- /dev/null +++ b/docker/tools/scenario-simulator/entrypoint.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash +# cspell:ignore +# shellcheck disable=SC1090,SC1091 + +run_scenario_simulator() { + echo -e "\e[32mRunning scenario simulator...\e[0m" + + # Default values + ARCHITECTURE_TYPE=${ARCHITECTURE_TYPE:-awf/universe/20240605} + SENSOR_MODEL=${SENSOR_MODEL:-sample_sensor_kit} + VEHICLE_MODEL=${VEHICLE_MODEL:-sample_vehicle} + INITIALIZE_DURATION=${INITIALIZE_DURATION:-90} + GLOBAL_FRAME_RATE=${GLOBAL_FRAME_RATE:-20} + OUTPUT_DIRECTORY=${OUTPUT_DIRECTORY:-/autoware/scenario-sim/output} + SCENARIO=${SCENARIO:-$(find-pkg-share scenario_test_runner)/scenario/sample.yaml} + GLOBAL_TIMEOUT=${GLOBAL_TIMEOUT:-120} + RECORD=${RECORD:-false} + + # Print all variables + echo "ARCHITECTURE_TYPE: $ARCHITECTURE_TYPE" + echo "SENSOR_MODEL: $SENSOR_MODEL" + echo "VEHICLE_MODEL: $VEHICLE_MODEL" + echo "INITIALIZE_DURATION: $INITIALIZE_DURATION" + echo "GLOBAL_FRAME_RATE: $GLOBAL_FRAME_RATE" + echo "OUTPUT_DIRECTORY: $OUTPUT_DIRECTORY" + echo "SCENARIO: $SCENARIO" + echo "GLOBAL_TIMEOUT: $GLOBAL_TIMEOUT" + echo "RECORD: $RECORD" + + # Launch scenario test runner + ros2 launch scenario_test_runner scenario_test_runner.launch.py \ + launch_autoware:=false \ + launch_rviz:=false \ + architecture_type:="$ARCHITECTURE_TYPE" \ + sensor_model:="$SENSOR_MODEL" \ + vehicle_model:="$VEHICLE_MODEL" \ + initialize_duration:="$INITIALIZE_DURATION" \ + global_frame_rate:="$GLOBAL_FRAME_RATE" \ + output_directory:="$OUTPUT_DIRECTORY" \ + scenario:="$SCENARIO" \ + global_timeout:="$GLOBAL_TIMEOUT" \ + record:="$RECORD" +} + +# Source ROS and Autoware setup files +source "/opt/ros/$ROS_DISTRO/setup.bash" +source "/opt/autoware/setup.bash" + +# Execute passed command if provided, otherwise run simulator +if [ $# -eq 0 ]; then + run_scenario_simulator +else + exec "$@" +fi diff --git a/docker/tools/Dockerfile.web-visualizer b/docker/tools/visualizer/Dockerfile.visualizer similarity index 84% rename from docker/tools/Dockerfile.web-visualizer rename to docker/tools/visualizer/Dockerfile.visualizer index a0287b81a79..f6e1c38ba31 100644 --- a/docker/tools/Dockerfile.web-visualizer +++ b/docker/tools/visualizer/Dockerfile.visualizer @@ -1,4 +1,4 @@ -# cspell:ignore openbox, VNC, tigervnc, novnc, websockify, newkey, xstartup, vncpasswd, keyout +# cspell:ignore openbox, VNC, tigervnc, novnc, websockify, newkey, xstartup, keyout ### Builder # TODO: Remove architecture specific image after arm64 builds are working @@ -29,16 +29,16 @@ RUN --mount=type=ssh \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* "$HOME"/.cache -# Extract rosdep dependencies for web-visualizer +# Extract rosdep dependencies for visualizer # hadolint ignore=SC1091 RUN source /opt/ros/"$ROS_DISTRO"/setup.bash && source /opt/autoware/setup.bash \ && /autoware/resolve_rosdep_keys.sh /autoware/src ${ROS_DISTRO} \ - > /rosdep-web-visualizer-depend-packages.txt \ - && cat /rosdep-web-visualizer-depend-packages.txt + > /rosdep-visualizer-depend-packages.txt \ + && cat /rosdep-visualizer-depend-packages.txt -### web-visualizer +### visualizer # TODO: Remove architecture specific image after arm64 builds are working -FROM ghcr.io/autowarefoundation/autoware:universe-visualization-amd64 AS web-visualizer +FROM ghcr.io/autowarefoundation/autoware:universe-visualization-amd64 AS visualizer SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR @@ -46,7 +46,7 @@ WORKDIR /autoware # Get simulator messages, rviz plugins and dependencies COPY --from=builder /opt/autoware /opt/autoware -COPY --from=builder /rosdep-web-visualizer-depend-packages.txt /tmp/rosdep-web-visualizer-depend-packages.txt +COPY --from=builder /rosdep-visualizer-depend-packages.txt /tmp/rosdep-visualizer-depend-packages.txt # Install openbox, VNC, and simulator dependencies # hadolint ignore=SC2002 @@ -54,9 +54,9 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \ curl unzip openbox tigervnc-standalone-server tigervnc-common \ novnc websockify python3-numpy python3-xdg \ # Remove xmlschema and yamale from rosdep packages since we install via pip - && sed -i '/\(xmlschema\|yamale\)/d' /tmp/rosdep-web-visualizer-depend-packages.txt \ + && sed -i '/\(xmlschema\|yamale\)/d' /tmp/rosdep-visualizer-depend-packages.txt \ && pip install --no-cache-dir yamale xmlschema \ - && cat /tmp/rosdep-web-visualizer-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ + && cat /tmp/rosdep-visualizer-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ && /autoware/cleanup_system.sh $LIB_DIR $ROS_DISTRO # Create SSL certificate for NoVNC diff --git a/docker/tools/etc/entrypoint.sh b/docker/tools/visualizer/entrypoint.sh similarity index 79% rename from docker/tools/etc/entrypoint.sh rename to docker/tools/visualizer/entrypoint.sh index 24cd70b0dd3..964acba9d46 100644 --- a/docker/tools/etc/entrypoint.sh +++ b/docker/tools/visualizer/entrypoint.sh @@ -3,6 +3,12 @@ # shellcheck disable=SC1090,SC1091 configure_vnc() { + # Check if WEB_PASSWORD is provided + [ -z "$WEB_PASSWORD" ] && echo -e "\e[31mPassword is needed. Set WEB_PASSWORD environment variable\e[0m" && exit 1 + + # Check if RVIZ_CONFIG is provided + [ -z "$RVIZ_CONFIG" ] && RVIZ_CONFIG="$(find-pkg-share rviz2)/share/rviz2/launch/default.rviz" || echo -e "\e[31mRVIZ_CONFIG is not set defaulting to default.rviz\e[0m" + # Create Openbox application configuration mkdir -p /etc/xdg/openbox cat >/etc/xdg/openbox/rc.xml <<'EOF' @@ -30,7 +36,7 @@ source /opt/autoware/setup.bash if [ -n "$RVIZ_CONFIG" ]; then exec rviz2 -d "$RVIZ_CONFIG" else - exec rviz2 + exec rviz2 -d "$(find-pkg-share rviz2)/share/rviz2/launch/default.rviz" fi EOF chmod +x /usr/local/bin/start-rviz2.sh @@ -39,7 +45,7 @@ EOF # Configure VNC password mkdir -p ~/.vnc - echo "$VNC_PASSWORD" | vncpasswd -f >~/.vnc/passwd && chmod 600 ~/.vnc/passwd + echo "$WEB_PASSWORD" | vncpasswd -f >~/.vnc/passwd && chmod 600 ~/.vnc/passwd # Start VNC server with Openbox echo "Starting VNC server with Openbox..." @@ -62,9 +68,9 @@ EOF # Print info echo -e "\033[32m-------------------------------------------------------------------------\033[0m" - echo -e "\033[32mBrowser interface available at local address http://$(hostname -I | cut -d' ' -f1):6080/vnc.html?resize=scale&password=${VNC_PASSWORD}&autoconnect=true\033[0m" + echo -e "\033[32mBrowser interface available at local address http://$(hostname -I | cut -d' ' -f1):6080/vnc.html?resize=scale&password=${WEB_PASSWORD}&autoconnect=true\033[0m" if ping -c 1 8.8.8.8 >/dev/null 2>&1; then - echo -e "\033[32mIf you have a static public ip you can access it on WEB at http://$(curl -s ifconfig.me):6080/vnc.html?resize=scale&password=${VNC_PASSWORD}&autoconnect=true\033[0m" + echo -e "\033[32mIf you have a static public ip you can access it on WEB at http://$(curl -s ifconfig.me):6080/vnc.html?resize=scale&password=${WEB_PASSWORD}&autoconnect=true\033[0m" else echo -e "\033[31mNo internet connection available\033[0m" fi @@ -72,7 +78,7 @@ EOF } # shellcheck disable=SC1090 -[ "$VNC_ENABLED" == "true" ] && configure_vnc +[ "$WEB_ENABLED" == "true" ] && configure_vnc source "/opt/ros/$ROS_DISTRO/setup.bash" source "/opt/autoware/setup.bash" exec "$@" diff --git a/docker/tools/etc/xstartup b/docker/tools/visualizer/xstartup similarity index 100% rename from docker/tools/etc/xstartup rename to docker/tools/visualizer/xstartup From d25f16c44aa6209d0f429c95a816d0d09c86666f Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 31 Jan 2025 18:46:05 +0000 Subject: [PATCH 24/36] style(pre-commit): autofix --- docker/docker-bake-tools.hcl | 1 - docker/tools/run.sh | 1 - docker/tools/scenario-simulator/entrypoint.sh | 2 +- 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/docker/docker-bake-tools.hcl b/docker/docker-bake-tools.hcl index d0b0039307d..cb6af086fe7 100644 --- a/docker/docker-bake-tools.hcl +++ b/docker/docker-bake-tools.hcl @@ -20,4 +20,3 @@ target "visualizer" { dockerfile = "docker/tools/Dockerfile.visualizer" target = "visualizer" } - diff --git a/docker/tools/run.sh b/docker/tools/run.sh index 8355c8279ad..555cb5815a3 100755 --- a/docker/tools/run.sh +++ b/docker/tools/run.sh @@ -8,7 +8,6 @@ # --env WEB_PASSWORD=openadkit \ # ghcr.io/autowarefoundation/autoware:visualizer-20250130-amd64 - docker run -it --rm \ --net=host \ --platform linux/amd64 \ diff --git a/docker/tools/scenario-simulator/entrypoint.sh b/docker/tools/scenario-simulator/entrypoint.sh index 229e9f7f5c0..c5d780a2b03 100644 --- a/docker/tools/scenario-simulator/entrypoint.sh +++ b/docker/tools/scenario-simulator/entrypoint.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# cspell:ignore +# cspell:ignore # shellcheck disable=SC1090,SC1091 run_scenario_simulator() { From 3be03926f6f0b67eaa4b4f3cce61a0372c94ce03 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Mon, 3 Feb 2025 12:06:26 +0300 Subject: [PATCH 25/36] . Signed-off-by: Oguz Ozturk --- docker/tools/scenario-simulator/entrypoint.sh | 8 +++++++- docker/tools/visualizer/entrypoint.sh | 15 ++++++++++++--- docker/tools/visualizer/xstartup | 2 +- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/docker/tools/scenario-simulator/entrypoint.sh b/docker/tools/scenario-simulator/entrypoint.sh index c5d780a2b03..cf2fb9c2890 100644 --- a/docker/tools/scenario-simulator/entrypoint.sh +++ b/docker/tools/scenario-simulator/entrypoint.sh @@ -15,6 +15,8 @@ run_scenario_simulator() { SCENARIO=${SCENARIO:-$(find-pkg-share scenario_test_runner)/scenario/sample.yaml} GLOBAL_TIMEOUT=${GLOBAL_TIMEOUT:-120} RECORD=${RECORD:-false} + RVIZ_CONFIG=${RVIZ_CONFIG:-$(find-pkg-share rviz2)/share/rviz2/launch/default.rviz} + USE_SIM_TIME=${USE_SIM_TIME:-false} # Print all variables echo "ARCHITECTURE_TYPE: $ARCHITECTURE_TYPE" @@ -26,6 +28,8 @@ run_scenario_simulator() { echo "SCENARIO: $SCENARIO" echo "GLOBAL_TIMEOUT: $GLOBAL_TIMEOUT" echo "RECORD: $RECORD" + echo "RVIZ_CONFIG: $RVIZ_CONFIG" + echo "USE_SIM_TIME: $USE_SIM_TIME" # Launch scenario test runner ros2 launch scenario_test_runner scenario_test_runner.launch.py \ @@ -39,7 +43,9 @@ run_scenario_simulator() { output_directory:="$OUTPUT_DIRECTORY" \ scenario:="$SCENARIO" \ global_timeout:="$GLOBAL_TIMEOUT" \ - record:="$RECORD" + record:="$RECORD" \ + rviz_config:="$RVIZ_CONFIG" \ + use_sim_time:="$USE_SIM_TIME" } # Source ROS and Autoware setup files diff --git a/docker/tools/visualizer/entrypoint.sh b/docker/tools/visualizer/entrypoint.sh index 964acba9d46..7ebbf62c139 100644 --- a/docker/tools/visualizer/entrypoint.sh +++ b/docker/tools/visualizer/entrypoint.sh @@ -77,8 +77,17 @@ EOF echo -e "\033[32m-------------------------------------------------------------------------\033[0m" } -# shellcheck disable=SC1090 -[ "$WEB_ENABLED" == "true" ] && configure_vnc +# Source ROS and Autoware setup files source "/opt/ros/$ROS_DISTRO/setup.bash" source "/opt/autoware/setup.bash" -exec "$@" + +# Execute passed command if provided +if [ "$WEB_ENABLED" == "true" ]; then + configure_vnc + [ $# -eq 0 ] && sleep infinity + exec "$@" +else + [ -z "$RVIZ_CONFIG" ] && RVIZ_CONFIG="$(find-pkg-share autoware_launch)/rviz/$(var rviz_config_name)" + [ $# -eq 0 ] && rviz2 -d "$RVIZ_CONFIG" + exec "$@" +fi diff --git a/docker/tools/visualizer/xstartup b/docker/tools/visualizer/xstartup index 44a8991a99a..d9b290c3d3a 100644 --- a/docker/tools/visualizer/xstartup +++ b/docker/tools/visualizer/xstartup @@ -1,5 +1,5 @@ #!/bin/sh -# cspell:ignore openbox, VNC, tigervnc, novnc, websockify, newkey, xstartup, DBUS, Xresources, xrdb +# cspell:ignore openbox, VNC, xstartup, DBUS, Xresources, xrdb unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS From 3825f2d46e3eb756d07e715573e6d3f360c9e165 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 3 Feb 2025 09:14:17 +0000 Subject: [PATCH 26/36] style(pre-commit): autofix --- .github/actions/docker-build-and-push/action.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/docker-build-and-push/action.yaml b/.github/actions/docker-build-and-push/action.yaml index 19c84611fa4..d81e73f5042 100644 --- a/.github/actions/docker-build-and-push/action.yaml +++ b/.github/actions/docker-build-and-push/action.yaml @@ -275,4 +275,4 @@ runs: ${{ steps.meta-universe.outputs.bake-file }} provenance: false set: | - ${{ inputs.build-args }} \ No newline at end of file + ${{ inputs.build-args }} From 50e9f6aa1acc19819463b77907b680ec0ec4030a Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Mon, 3 Feb 2025 12:54:27 +0300 Subject: [PATCH 27/36] . Signed-off-by: Oguz Ozturk --- .../docker-build-and-push-tools/action.yaml | 14 +++++++------- docker/docker-bake-tools.hcl | 12 ++++++------ docker/tools/run.sh | 4 ++-- .../tools/scenario-simulator/Dockerfile.simulator | 4 ++-- docker/tools/scenario-simulator/entrypoint.sh | 2 +- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/actions/docker-build-and-push-tools/action.yaml b/.github/actions/docker-build-and-push-tools/action.yaml index 9c7e505613c..134e0174967 100644 --- a/.github/actions/docker-build-and-push-tools/action.yaml +++ b/.github/actions/docker-build-and-push-tools/action.yaml @@ -78,16 +78,16 @@ runs: flavor: | latest=false - - name: Docker meta for autoware:simulator - id: meta-simulator + - name: Docker meta for autoware:scenario-simulator + id: meta-scenario-simulator uses: docker/metadata-action@v5 with: images: ghcr.io/${{ github.repository_owner }}/${{ inputs.target-image }} tags: | - type=raw,value=simulator-${{ inputs.platform }} - type=raw,value=simulator-${{ steps.date.outputs.date }}-${{ inputs.platform }} - type=ref,event=tag,prefix=simulator-,suffix=-${{ inputs.platform }} - bake-target: docker-metadata-action-simulator + type=raw,value=scenario-simulator-${{ inputs.platform }} + type=raw,value=scenario-simulator-${{ steps.date.outputs.date }}-${{ inputs.platform }} + type=ref,event=tag,prefix=scenario-simulator-,suffix=-${{ inputs.platform }} + bake-target: docker-metadata-action-scenario-simulator flavor: | latest=false @@ -104,7 +104,7 @@ runs: push: true files: | docker/docker-bake-tools.hcl - ${{ steps.meta-simulator.outputs.bake-file }} + ${{ steps.meta-scenario-simulator.outputs.bake-file }} ${{ steps.meta-visualizer.outputs.bake-file }} provenance: false set: | diff --git a/docker/docker-bake-tools.hcl b/docker/docker-bake-tools.hcl index cb6af086fe7..e0d086c1e2f 100644 --- a/docker/docker-bake-tools.hcl +++ b/docker/docker-bake-tools.hcl @@ -1,18 +1,18 @@ group "default" { targets = [ - "simulator", + "scenario-simulator", "visualizer" ] } // For docker/metadata-action -target "docker-metadata-action-simulator" {} +target "docker-metadata-action-scenario-simulator" {} target "docker-metadata-action-visualizer" {} -target "simulator" { - inherits = ["docker-metadata-action-simulator"] - dockerfile = "docker/tools/Dockerfile.simulator" - target = "simulator" +target "scenario-simulator" { + inherits = ["docker-metadata-action-scenario-simulator"] + dockerfile = "docker/tools/Dockerfile.scenario-simulator" + target = "scenario-simulator" } target "visualizer" { diff --git a/docker/tools/run.sh b/docker/tools/run.sh index 555cb5815a3..f8aff78db70 100755 --- a/docker/tools/run.sh +++ b/docker/tools/run.sh @@ -11,5 +11,5 @@ docker run -it --rm \ --net=host \ --platform linux/amd64 \ - --name simulator \ - ghcr.io/autowarefoundation/autoware:simulator-20250130-amd64 + --name scenario-simulator \ + ghcr.io/autowarefoundation/autoware:scenario-simulator-20250130-amd64 diff --git a/docker/tools/scenario-simulator/Dockerfile.simulator b/docker/tools/scenario-simulator/Dockerfile.simulator index 128accd7a80..933ec206dd8 100644 --- a/docker/tools/scenario-simulator/Dockerfile.simulator +++ b/docker/tools/scenario-simulator/Dockerfile.simulator @@ -10,7 +10,7 @@ COPY src /autoware/src COPY docker/scripts/resolve_rosdep_keys.sh /autoware/resolve_rosdep_keys.sh RUN chmod +x /autoware/resolve_rosdep_keys.sh -# Install dependencies and build the simulator +# Install dependencies and build the scenario simulator # hadolint ignore=SC1091 RUN --mount=type=ssh \ --mount=type=cache,target=/var/cache/apt,sharing=locked \ @@ -36,7 +36,7 @@ RUN /autoware/resolve_rosdep_keys.sh /autoware/src/simulator ${ROS_DISTRO} \ ### Simulator # TODO: Remove architecture specific image after arm64 builds are FIXED -FROM ghcr.io/autowarefoundation/autoware:universe-visualization-amd64 AS simulator +FROM ghcr.io/autowarefoundation/autoware:universe-visualization-amd64 AS scenario-simulator SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR diff --git a/docker/tools/scenario-simulator/entrypoint.sh b/docker/tools/scenario-simulator/entrypoint.sh index cf2fb9c2890..55cde243f69 100644 --- a/docker/tools/scenario-simulator/entrypoint.sh +++ b/docker/tools/scenario-simulator/entrypoint.sh @@ -52,7 +52,7 @@ run_scenario_simulator() { source "/opt/ros/$ROS_DISTRO/setup.bash" source "/opt/autoware/setup.bash" -# Execute passed command if provided, otherwise run simulator +# Execute passed command if provided, otherwise run scenario simulator if [ $# -eq 0 ]; then run_scenario_simulator else From 3bdc03c97de218d9c558e7a238be36ade9f3cd3b Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Mon, 3 Feb 2025 12:55:47 +0300 Subject: [PATCH 28/36] . Signed-off-by: Oguz Ozturk --- docker/docker-bake-tools.hcl | 4 ++-- .../{Dockerfile.simulator => Dockerfile.scenario-simulator} | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename docker/tools/scenario-simulator/{Dockerfile.simulator => Dockerfile.scenario-simulator} (99%) diff --git a/docker/docker-bake-tools.hcl b/docker/docker-bake-tools.hcl index e0d086c1e2f..2c34b87865d 100644 --- a/docker/docker-bake-tools.hcl +++ b/docker/docker-bake-tools.hcl @@ -11,12 +11,12 @@ target "docker-metadata-action-visualizer" {} target "scenario-simulator" { inherits = ["docker-metadata-action-scenario-simulator"] - dockerfile = "docker/tools/Dockerfile.scenario-simulator" + dockerfile = "docker/tools/scenario-simulator/Dockerfile.scenario-simulator" target = "scenario-simulator" } target "visualizer" { inherits = ["docker-metadata-action-visualizer"] - dockerfile = "docker/tools/Dockerfile.visualizer" + dockerfile = "docker/tools/visualizer/Dockerfile.visualizer" target = "visualizer" } diff --git a/docker/tools/scenario-simulator/Dockerfile.simulator b/docker/tools/scenario-simulator/Dockerfile.scenario-simulator similarity index 99% rename from docker/tools/scenario-simulator/Dockerfile.simulator rename to docker/tools/scenario-simulator/Dockerfile.scenario-simulator index 933ec206dd8..f984aeb40ae 100644 --- a/docker/tools/scenario-simulator/Dockerfile.simulator +++ b/docker/tools/scenario-simulator/Dockerfile.scenario-simulator @@ -34,7 +34,7 @@ RUN /autoware/resolve_rosdep_keys.sh /autoware/src/simulator ${ROS_DISTRO} \ > /rosdep-simulator-depend-packages.txt \ && cat /rosdep-simulator-depend-packages.txt -### Simulator +### Scenario Simulator # TODO: Remove architecture specific image after arm64 builds are FIXED FROM ghcr.io/autowarefoundation/autoware:universe-visualization-amd64 AS scenario-simulator SHELL ["/bin/bash", "-o", "pipefail", "-c"] From c079d73e02640161d3965ddce81697d6e6bc2ad5 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Mon, 3 Feb 2025 13:08:52 +0300 Subject: [PATCH 29/36] fix rviz config Signed-off-by: Oguz Ozturk --- docker/tools/scenario-simulator/entrypoint.sh | 3 --- docker/tools/visualizer/entrypoint.sh | 15 ++++++--------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/docker/tools/scenario-simulator/entrypoint.sh b/docker/tools/scenario-simulator/entrypoint.sh index 55cde243f69..f48d7f4a441 100644 --- a/docker/tools/scenario-simulator/entrypoint.sh +++ b/docker/tools/scenario-simulator/entrypoint.sh @@ -15,7 +15,6 @@ run_scenario_simulator() { SCENARIO=${SCENARIO:-$(find-pkg-share scenario_test_runner)/scenario/sample.yaml} GLOBAL_TIMEOUT=${GLOBAL_TIMEOUT:-120} RECORD=${RECORD:-false} - RVIZ_CONFIG=${RVIZ_CONFIG:-$(find-pkg-share rviz2)/share/rviz2/launch/default.rviz} USE_SIM_TIME=${USE_SIM_TIME:-false} # Print all variables @@ -28,7 +27,6 @@ run_scenario_simulator() { echo "SCENARIO: $SCENARIO" echo "GLOBAL_TIMEOUT: $GLOBAL_TIMEOUT" echo "RECORD: $RECORD" - echo "RVIZ_CONFIG: $RVIZ_CONFIG" echo "USE_SIM_TIME: $USE_SIM_TIME" # Launch scenario test runner @@ -44,7 +42,6 @@ run_scenario_simulator() { scenario:="$SCENARIO" \ global_timeout:="$GLOBAL_TIMEOUT" \ record:="$RECORD" \ - rviz_config:="$RVIZ_CONFIG" \ use_sim_time:="$USE_SIM_TIME" } diff --git a/docker/tools/visualizer/entrypoint.sh b/docker/tools/visualizer/entrypoint.sh index 7ebbf62c139..036638987f4 100644 --- a/docker/tools/visualizer/entrypoint.sh +++ b/docker/tools/visualizer/entrypoint.sh @@ -1,13 +1,15 @@ #!/usr/bin/env bash -# cspell:ignore openbox, VNC, tigervnc, novnc, websockify, newkey, xstartup, pixelformat, AUTHTOKEN, authtoken, vncserver, autoconnect +# cspell:ignore openbox, VNC, tigervnc, novnc, websockify, newkey, xstartup, pixelformat, AUTHTOKEN, authtoken, vncserver, autoconnect, vncpasswd # shellcheck disable=SC1090,SC1091 +# Check if RVIZ_CONFIG is provided +[ -z "$RVIZ_CONFIG" ] && RVIZ_CONFIG="$(find-pkg-share autoware_launch)/rviz/autoware.rviz" || echo -e "\e[31mRVIZ_CONFIG is not set defaulting to autoware.rviz\e[0m" +export RVIZ_CONFIG + configure_vnc() { # Check if WEB_PASSWORD is provided [ -z "$WEB_PASSWORD" ] && echo -e "\e[31mPassword is needed. Set WEB_PASSWORD environment variable\e[0m" && exit 1 - # Check if RVIZ_CONFIG is provided - [ -z "$RVIZ_CONFIG" ] && RVIZ_CONFIG="$(find-pkg-share rviz2)/share/rviz2/launch/default.rviz" || echo -e "\e[31mRVIZ_CONFIG is not set defaulting to default.rviz\e[0m" # Create Openbox application configuration mkdir -p /etc/xdg/openbox @@ -33,11 +35,7 @@ EOF #!/bin/bash source /opt/ros/humble/setup.bash source /opt/autoware/setup.bash -if [ -n "$RVIZ_CONFIG" ]; then - exec rviz2 -d "$RVIZ_CONFIG" -else - exec rviz2 -d "$(find-pkg-share rviz2)/share/rviz2/launch/default.rviz" -fi +exec rviz2 -d "$RVIZ_CONFIG" EOF chmod +x /usr/local/bin/start-rviz2.sh echo "echo 'Autostart executed at $(date)' >> /tmp/autostart.log" >>/etc/xdg/openbox/autostart @@ -87,7 +85,6 @@ if [ "$WEB_ENABLED" == "true" ]; then [ $# -eq 0 ] && sleep infinity exec "$@" else - [ -z "$RVIZ_CONFIG" ] && RVIZ_CONFIG="$(find-pkg-share autoware_launch)/rviz/$(var rviz_config_name)" [ $# -eq 0 ] && rviz2 -d "$RVIZ_CONFIG" exec "$@" fi From 026d74818f5f3a35a49442a05f85b738d09cabee Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 3 Feb 2025 10:09:41 +0000 Subject: [PATCH 30/36] style(pre-commit): autofix --- docker/tools/visualizer/entrypoint.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/docker/tools/visualizer/entrypoint.sh b/docker/tools/visualizer/entrypoint.sh index 036638987f4..8084299f36e 100644 --- a/docker/tools/visualizer/entrypoint.sh +++ b/docker/tools/visualizer/entrypoint.sh @@ -10,7 +10,6 @@ configure_vnc() { # Check if WEB_PASSWORD is provided [ -z "$WEB_PASSWORD" ] && echo -e "\e[31mPassword is needed. Set WEB_PASSWORD environment variable\e[0m" && exit 1 - # Create Openbox application configuration mkdir -p /etc/xdg/openbox cat >/etc/xdg/openbox/rc.xml <<'EOF' From dc7d645fd0a77701cf12f5a20d39dff2cfbc4718 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Mon, 3 Feb 2025 13:20:23 +0300 Subject: [PATCH 31/36] fix paths Signed-off-by: Oguz Ozturk --- docker/tools/scenario-simulator/Dockerfile.scenario-simulator | 2 +- docker/tools/visualizer/Dockerfile.visualizer | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/tools/scenario-simulator/Dockerfile.scenario-simulator b/docker/tools/scenario-simulator/Dockerfile.scenario-simulator index f984aeb40ae..c1a2e357db9 100644 --- a/docker/tools/scenario-simulator/Dockerfile.scenario-simulator +++ b/docker/tools/scenario-simulator/Dockerfile.scenario-simulator @@ -56,7 +56,7 @@ RUN --mount=type=ssh \ && cat /tmp/rosdep-simulator-depend-packages.txt | xargs apt-get install -y --no-install-recommends \ && /autoware/cleanup_system.sh $LIB_DIR $ROS_DISTRO -COPY docker/tools/etc/entrypoint.sh /entrypoint.sh +COPY docker/tools/scenario-simulator/entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] CMD ["/bin/bash"] diff --git a/docker/tools/visualizer/Dockerfile.visualizer b/docker/tools/visualizer/Dockerfile.visualizer index f6e1c38ba31..779a5b80879 100644 --- a/docker/tools/visualizer/Dockerfile.visualizer +++ b/docker/tools/visualizer/Dockerfile.visualizer @@ -74,8 +74,8 @@ RUN echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> /root/.bashrc && \ echo "source /opt/autoware/setup.bash" >> /root/.bashrc # Copy startup scripts -COPY docker/tools/etc/xstartup /root/.vnc/xstartup -COPY docker/tools/etc/entrypoint.sh /entrypoint.sh +COPY docker/tools/visualizer/xstartup /root/.vnc/xstartup +COPY docker/tools/visualizer/entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh && chmod +x /root/.vnc/xstartup ENTRYPOINT ["/entrypoint.sh"] CMD ["/bin/bash"] From 5dce48b148329709c7fc91a4f4cfbd9ad41d6f7d Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Tue, 4 Feb 2025 15:04:13 +0300 Subject: [PATCH 32/36] remove .pcd from dockerignore Signed-off-by: Oguz Ozturk --- .dockerignore | 1 - docker/tools/run.sh | 15 - .../Dockerfile.scenario-simulator | 1 - docker/tools/scenario-simulator/entrypoint.sh | 10 +- docker/tools/visualizer/Dockerfile.visualizer | 4 +- docker/tools/visualizer/entrypoint.sh | 4 +- docker/tools/visualizer/etc/autoware.rviz | 3945 +++++++++++++++++ docker/tools/visualizer/{ => etc}/xstartup | 0 8 files changed, 3955 insertions(+), 25 deletions(-) delete mode 100755 docker/tools/run.sh create mode 100644 docker/tools/visualizer/etc/autoware.rviz rename docker/tools/visualizer/{ => etc}/xstartup (100%) diff --git a/.dockerignore b/.dockerignore index 53eaf71ad03..0255e920e4f 100644 --- a/.dockerignore +++ b/.dockerignore @@ -17,7 +17,6 @@ src/**/.* src/**/*.asc src/**/*.gif src/**/*.md -src/**/*.pcd src/**/*.svg # Ignore generated files by colcon diff --git a/docker/tools/run.sh b/docker/tools/run.sh deleted file mode 100755 index f8aff78db70..00000000000 --- a/docker/tools/run.sh +++ /dev/null @@ -1,15 +0,0 @@ -#! /bin/bash - -# docker run -it --rm \ -# --net=host \ -# --platform linux/amd64 \ -# --name visualizer \ -# --env WEB_ENABLED=true \ -# --env WEB_PASSWORD=openadkit \ -# ghcr.io/autowarefoundation/autoware:visualizer-20250130-amd64 - -docker run -it --rm \ - --net=host \ - --platform linux/amd64 \ - --name scenario-simulator \ - ghcr.io/autowarefoundation/autoware:scenario-simulator-20250130-amd64 diff --git a/docker/tools/scenario-simulator/Dockerfile.scenario-simulator b/docker/tools/scenario-simulator/Dockerfile.scenario-simulator index c1a2e357db9..e17c3f08053 100644 --- a/docker/tools/scenario-simulator/Dockerfile.scenario-simulator +++ b/docker/tools/scenario-simulator/Dockerfile.scenario-simulator @@ -59,4 +59,3 @@ RUN --mount=type=ssh \ COPY docker/tools/scenario-simulator/entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] -CMD ["/bin/bash"] diff --git a/docker/tools/scenario-simulator/entrypoint.sh b/docker/tools/scenario-simulator/entrypoint.sh index f48d7f4a441..9db590fa00e 100644 --- a/docker/tools/scenario-simulator/entrypoint.sh +++ b/docker/tools/scenario-simulator/entrypoint.sh @@ -5,14 +5,14 @@ run_scenario_simulator() { echo -e "\e[32mRunning scenario simulator...\e[0m" - # Default values + # Set default values if not provided ARCHITECTURE_TYPE=${ARCHITECTURE_TYPE:-awf/universe/20240605} SENSOR_MODEL=${SENSOR_MODEL:-sample_sensor_kit} VEHICLE_MODEL=${VEHICLE_MODEL:-sample_vehicle} INITIALIZE_DURATION=${INITIALIZE_DURATION:-90} GLOBAL_FRAME_RATE=${GLOBAL_FRAME_RATE:-20} OUTPUT_DIRECTORY=${OUTPUT_DIRECTORY:-/autoware/scenario-sim/output} - SCENARIO=${SCENARIO:-$(find-pkg-share scenario_test_runner)/scenario/sample.yaml} + SCENARIO=${SCENARIO:-$(ros2 pkg prefix --share scenario_test_runner)/scenario/sample.yaml} GLOBAL_TIMEOUT=${GLOBAL_TIMEOUT:-120} RECORD=${RECORD:-false} USE_SIM_TIME=${USE_SIM_TIME:-false} @@ -50,8 +50,8 @@ source "/opt/ros/$ROS_DISTRO/setup.bash" source "/opt/autoware/setup.bash" # Execute passed command if provided, otherwise run scenario simulator -if [ $# -eq 0 ]; then - run_scenario_simulator -else +if [ $# -gt 0 ]; then exec "$@" +else + run_scenario_simulator fi diff --git a/docker/tools/visualizer/Dockerfile.visualizer b/docker/tools/visualizer/Dockerfile.visualizer index 779a5b80879..a0db5fc1c8e 100644 --- a/docker/tools/visualizer/Dockerfile.visualizer +++ b/docker/tools/visualizer/Dockerfile.visualizer @@ -73,9 +73,11 @@ EXPOSE 5900 6080 RUN echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> /root/.bashrc && \ echo "source /opt/autoware/setup.bash" >> /root/.bashrc +# Copy default rviz config +COPY docker/tools/visualizer/etc/autoware.rviz /autoware/autoware.rviz + # Copy startup scripts COPY docker/tools/visualizer/xstartup /root/.vnc/xstartup COPY docker/tools/visualizer/entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh && chmod +x /root/.vnc/xstartup ENTRYPOINT ["/entrypoint.sh"] -CMD ["/bin/bash"] diff --git a/docker/tools/visualizer/entrypoint.sh b/docker/tools/visualizer/entrypoint.sh index 8084299f36e..477e691c9a1 100644 --- a/docker/tools/visualizer/entrypoint.sh +++ b/docker/tools/visualizer/entrypoint.sh @@ -3,7 +3,7 @@ # shellcheck disable=SC1090,SC1091 # Check if RVIZ_CONFIG is provided -[ -z "$RVIZ_CONFIG" ] && RVIZ_CONFIG="$(find-pkg-share autoware_launch)/rviz/autoware.rviz" || echo -e "\e[31mRVIZ_CONFIG is not set defaulting to autoware.rviz\e[0m" +[ -z "$RVIZ_CONFIG" ] && RVIZ_CONFIG="/autoware/autoware.rviz" || echo -e "\e[31mRVIZ_CONFIG is not set defaulting to autoware.rviz\e[0m" export RVIZ_CONFIG configure_vnc() { @@ -78,7 +78,7 @@ EOF source "/opt/ros/$ROS_DISTRO/setup.bash" source "/opt/autoware/setup.bash" -# Execute passed command if provided +# Execute passed command if provided, otherwise launch rviz2 if [ "$WEB_ENABLED" == "true" ]; then configure_vnc [ $# -eq 0 ] && sleep infinity diff --git a/docker/tools/visualizer/etc/autoware.rviz b/docker/tools/visualizer/etc/autoware.rviz new file mode 100644 index 00000000000..5a2d8c91409 --- /dev/null +++ b/docker/tools/visualizer/etc/autoware.rviz @@ -0,0 +1,3945 @@ +Panels: + - Class: rviz_common/Displays + Help Height: 0 + Name: Displays + Property Tree Widget: + Expanded: ~ + Splitter Ratio: 0.557669460773468 + Tree Height: 185 + - Class: rviz_common/Selection + Name: Selection + - Class: rviz_common/Tool Properties + Expanded: ~ + Name: Tool Properties + Splitter Ratio: 0.5886790156364441 + - Class: rviz_common/Views + Expanded: ~ + Name: Views + Splitter Ratio: 0.5 + - Class: AutowareDateTimePanel + Name: AutowareDateTimePanel + - Class: rviz_plugins::AutowareStatePanel + Name: AutowareStatePanel +Visualization Manager: + Class: "" + Displays: + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/TF + Enabled: false + Frame Timeout: 15 + Frames: + All Enabled: true + Marker Scale: 1 + Name: TF + Show Arrows: true + Show Axes: true + Show Names: true + Tree: {} + Update Interval: 0 + Value: false + - Alpha: 0.5 + Cell Size: 1 + Class: rviz_default_plugins/Grid + Color: 160; 160; 164 + Enabled: false + Line Style: + Line Width: 0.029999999329447746 + Value: Lines + Name: Grid + Normal Cell Count: 0 + Offset: + X: 0 + Y: 0 + Z: 0 + Plane: XY + Plane Cell Count: 10 + Reference Frame: + Value: false + - Class: rviz_common/Group + Displays: + - Alpha: 0.30000001192092896 + Class: rviz_default_plugins/RobotModel + Collision Enabled: false + Description File: "" + Description Source: Topic + Description Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /robot_description + Enabled: true + Links: + All Links Enabled: true + Expand Joint Details: false + Expand Link Details: false + Expand Tree: false + Link Tree Style: Links in Alphabetic Order + base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera0/camera_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera0/camera_optical_link: + Alpha: 1 + Show Axes: false + Show Trail: false + camera1/camera_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera1/camera_optical_link: + Alpha: 1 + Show Axes: false + Show Trail: false + camera2/camera_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera2/camera_optical_link: + Alpha: 1 + Show Axes: false + Show Trail: false + camera3/camera_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera3/camera_optical_link: + Alpha: 1 + Show Axes: false + Show Trail: false + camera4/camera_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera4/camera_optical_link: + Alpha: 1 + Show Axes: false + Show Trail: false + camera5/camera_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera5/camera_optical_link: + Alpha: 1 + Show Axes: false + Show Trail: false + gnss_link: + Alpha: 0.999 + Show Axes: false + Show Trail: false + Value: true + livox_front_left: + Alpha: 0.999 + Show Axes: false + Show Trail: false + livox_front_left_base_link: + Alpha: 0.999 + Show Axes: false + Show Trail: false + Value: true + livox_front_right: + Alpha: 0.999 + Show Axes: false + Show Trail: false + livox_front_right_base_link: + Alpha: 0.999 + Show Axes: false + Show Trail: false + Value: true + sensor_kit_base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + tamagawa/imu_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + traffic_light_left_camera/camera_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + traffic_light_left_camera/camera_optical_link: + Alpha: 1 + Show Axes: false + Show Trail: false + traffic_light_right_camera/camera_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + traffic_light_right_camera/camera_optical_link: + Alpha: 1 + Show Axes: false + Show Trail: false + velodyne_left: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + velodyne_left_base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + velodyne_rear: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + velodyne_rear_base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + velodyne_right: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + velodyne_right_base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + velodyne_top: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + velodyne_top_base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + Name: VehicleModel + TF Prefix: "" + Update Interval: 0 + Value: true + Visual Enabled: true + - Class: rviz_plugins/PolarGridDisplay + Color: 255; 255; 255 + Delta Range: 10 + Enabled: true + Max Alpha: 0.5 + Max Range: 100 + Max Wave Alpha: 0.5 + Min Alpha: 0.01 + Min Wave Alpha: 0.01 + Name: PolarGridDisplay + Reference Frame: base_link + Value: true + Wave Color: 255; 255; 255 + Wave Velocity: 40 + - Class: autoware_overlay_rviz_plugin/SignalDisplay + Enabled: true + Gear Topic Test: /vehicle/status/gear_status + Hazard Lights Topic: /vehicle/status/hazard_lights_status + Height: 100 + Left: 0 + Name: SignalDisplay + Signal Color: 0; 230; 120 + Speed Limit Topic: /planning/scenario_planning/current_max_velocity + Speed Topic: /vehicle/status/velocity_status + Steering Topic: /vehicle/status/steering_status + Top: 10 + Traffic Topic: /planning/scenario_planning/lane_driving/behavior_planning/debug/traffic_signal + Turn Signals Topic: /vehicle/status/turn_indicators_status + Value: true + Width: 550 + Background Alpha: 0.5 + Background Color: 23; 28; 31 + Dark Traffic Color: 255; 51; 51 + Handle Angle Scale: 17 + Light Traffic Color: 255; 153; 153 + Primary Color: 174; 174; 174 + Enabled: true + Name: Vehicle + - Class: rviz_plugins/MrmSummaryOverlayDisplay + Enabled: false + Font Size: 10 + Left: 512 + Max Letter Num: 100 + Name: MRM Summary + Text Color: 25; 255; 240 + Top: 64 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /system/emergency/hazard_status + Value: false + Value height offset: 0 + Enabled: true + Name: System + - Class: rviz_common/Group + Displays: + - Alpha: 0.20000000298023224 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 28.71826171875 + Min Value: -7.4224700927734375 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: FlatColor + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 237 + Min Color: 211; 215; 207 + Min Intensity: 0 + Name: PointCloudMap + Position Transformer: XYZ + Selectable: false + Size (Pixels): 1 + Size (m): 0.02 + Style: Points + Topic: + Depth: 5 + Durability Policy: Transient Local + History Policy: Keep Last + Reliability Policy: Reliable + Value: /map/pointcloud_map + Use Fixed Frame: true + Use rainbow: false + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Lanelet2VectorMap + Namespaces: + center_lane_line: false + center_line_arrows: false + crosswalk_lanelets: true + crosswalk_areas: false + lane_start_bound: false + lanelet direction: true + lanelet_id: false + left_lane_bound: true + parking_lots: true + parking_space: true + pedestrian_marking: true + right_lane_bound: true + road_lanelets: false + speed_bump: true + stop_lines: true + shoulder_center_lane_line: false + shoulder_left_lane_bound: true + shoulder_right_lane_bound: true + shoulder_road_lanelets: false + traffic_light: true + traffic_light_id: false + traffic_light_reg_elem_id: false + traffic_light_triangle: true + walkway_lanelets: true + hatched_road_markings_bound: true + hatched_road_markings_area: false + intersection_area: false + Topic: + Depth: 5 + Durability Policy: Transient Local + History Policy: Keep Last + Reliability Policy: Reliable + Value: /map/vector_map_marker + Value: true + Enabled: true + Name: Map + - Class: rviz_common/Group + Displays: + - Class: rviz_common/Group + Displays: + - Alpha: 0.4 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 5 + Min Value: -1 + Value: false + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: AxisColor + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: ConcatenatePointCloud + Position Transformer: XYZ + Selectable: false + Size (Pixels): 1 + Size (m): 0.02 + Style: Points + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /sensing/lidar/concatenated/pointcloud + Use Fixed Frame: false + Use rainbow: true + Value: true + - Alpha: 0.999 + Class: rviz_default_plugins/Polygon + Color: 25; 255; 0 + Enabled: false + Name: MeasurementRange + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /sensing/lidar/crop_box_filter/crop_box_polygon + Value: false + Enabled: true + Name: LiDAR + - Class: rviz_common/Group + Displays: + - Alpha: 0.999 + Axes Length: 1 + Axes Radius: 0.10000000149011612 + Class: rviz_default_plugins/PoseWithCovariance + Color: 233; 185; 110 + Covariance: + Orientation: + Alpha: 0.5 + Color: 255; 255; 127 + Color Style: Unique + Frame: Local + Offset: 1 + Scale: 1 + Value: false + Position: + Alpha: 0.20000000298023224 + Color: 204; 51; 204 + Scale: 1 + Value: true + Value: true + Enabled: true + Head Length: 0.699999988079071 + Head Radius: 1.2000000476837158 + Name: PoseWithCovariance + Shaft Length: 1 + Shaft Radius: 0.5 + Shape: Arrow + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /sensing/gnss/pose_with_covariance + Value: true + Enabled: false + Name: GNSS + Enabled: true + Name: Sensing + - Class: rviz_common/Group + Displays: + - Class: rviz_common/Group + Displays: + - Alpha: 0.999 + Axes Length: 1 + Axes Radius: 0.10000000149011612 + Class: rviz_default_plugins/PoseWithCovariance + Color: 0; 170; 255 + Covariance: + Orientation: + Alpha: 0.5 + Color: 255; 255; 127 + Color Style: Unique + Frame: Local + Offset: 1 + Scale: 1 + Value: true + Position: + Alpha: 0.30000001192092896 + Color: 204; 51; 204 + Scale: 1 + Value: true + Value: true + Enabled: false + Head Length: 0.4000000059604645 + Head Radius: 0.6000000238418579 + Name: PoseWithCovInitial + Shaft Length: 0.6000000238418579 + Shaft Radius: 0.30000001192092896 + Shape: Arrow + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /localization/pose_estimator/initial_pose_with_covariance + Value: true + - Alpha: 0.999 + Axes Length: 1 + Axes Radius: 0.10000000149011612 + Class: rviz_default_plugins/PoseWithCovariance + Color: 0; 255; 0 + Covariance: + Orientation: + Alpha: 0.5 + Color: 255; 255; 127 + Color Style: Unique + Frame: Local + Offset: 1 + Scale: 1 + Value: true + Position: + Alpha: 0.30000001192092896 + Color: 204; 51; 204 + Scale: 1 + Value: true + Value: true + Enabled: false + Head Length: 0.4000000059604645 + Head Radius: 0.6000000238418579 + Name: PoseWithCovAligned + Shaft Length: 0.6000000238418579 + Shaft Radius: 0.30000001192092896 + Shape: Arrow + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /localization/pose_estimator/pose_with_covariance + Value: true + - Buffer Size: 200 + Class: rviz_plugins::PoseHistory + Enabled: false + Line: + Color: 170; 255; 127 + Value: true + Width: 0.10000000149011612 + Alpha: 0.999 + Name: PoseHistory + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /localization/pose_estimator/pose + Value: true + - Alpha: 0.999 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 0; 255; 255 + Color Transformer: "" + Decay Time: 0 + Enabled: false + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: Initial + Position Transformer: XYZ + Selectable: false + Size (Pixels): 10 + Size (m): 0.5 + Style: Squares + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /localization/util/downsample/pointcloud + Use Fixed Frame: true + Use rainbow: true + Value: false + - Alpha: 0.999 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 85; 255; 0 + Color Transformer: FlatColor + Decay Time: 0 + Enabled: false + Invert Rainbow: false + Max Color: 85; 255; 127 + Max Intensity: 0 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: Aligned + Position Transformer: XYZ + Selectable: false + Size (Pixels): 10 + Size (m): 0.5 + Style: Squares + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /localization/pose_estimator/points_aligned + Use Fixed Frame: true + Use rainbow: true + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: MonteCarloInitialPose + Namespaces: {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /localization/pose_estimator/monte_carlo_initial_pose_marker + Value: true + Enabled: true + Name: NDT + - Class: rviz_common/Group + Displays: + - Buffer Size: 1000 + Class: rviz_plugins::PoseHistory + Enabled: true + Line: + Color: 0; 255; 255 + Value: true + Width: 0.10000000149011612 + Alpha: 0.999 + Name: PoseHistory + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /localization/pose_twist_fusion_filter/pose + Value: true + Enabled: true + Name: EKF + Enabled: true + Name: Localization + - Class: rviz_common/Group + Displays: + - Class: rviz_common/Group + Displays: + - Alpha: 0.999 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 15 + Min Value: -2 + Value: false + Axis: Z + Channel Name: z + Class: rviz_default_plugins/PointCloud2 + Color: 200; 200; 200 + Color Transformer: FlatColor + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 15 + Min Color: 0; 0; 0 + Min Intensity: -5 + Name: NoGroundPointCloud + Position Transformer: XYZ + Selectable: false + Size (Pixels): 3 + Size (m): 0.02 + Style: Points + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/obstacle_segmentation/pointcloud + Use Fixed Frame: true + Use rainbow: true + Value: true + Enabled: true + Name: Segmentation + - Class: rviz_common/Group + Displays: + - Class: rviz_common/Group + Displays: + - BUS: + Alpha: 0.999 + Color: 30; 144; 255 + CAR: + Alpha: 0.999 + Color: 30; 144; 255 + CYCLIST: + Alpha: 0.999 + Color: 119; 11; 32 + Class: autoware_perception_rviz_plugin/DetectedObjects + Display 3d polygon: true + Display Label: true + Display PoseWithCovariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display UUID: true + Display Velocity: true + Line Width: 0.03 + Enabled: true + MOTORCYCLE: + Alpha: 0.999 + Color: 119; 11; 32 + Name: DetectedObjects + Namespaces: {} + PEDESTRIAN: + Alpha: 0.999 + Color: 255; 192; 203 + TRAILER: + Alpha: 0.999 + Color: 30; 144; 255 + TRUCK: + Alpha: 0.999 + Color: 30; 144; 255 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/objects + UNKNOWN: + Alpha: 0.999 + Color: 255; 255; 255 + Value: true + Enabled: false + Name: Detection + - Class: rviz_common/Group + Displays: + - BUS: + Alpha: 0.999 + Color: 30; 144; 255 + CAR: + Alpha: 0.999 + Color: 30; 144; 255 + CYCLIST: + Alpha: 0.999 + Color: 119; 11; 32 + Class: autoware_perception_rviz_plugin/TrackedObjects + Display 3d polygon: true + Display Label: true + Display PoseWithCovariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display UUID: true + Display Velocity: true + Line Width: 0.03 + Enabled: true + MOTORCYCLE: + Alpha: 0.999 + Color: 119; 11; 32 + Name: TrackedObjects + Namespaces: {} + PEDESTRIAN: + Alpha: 0.999 + Color: 255; 192; 203 + TRAILER: + Alpha: 0.999 + Color: 30; 144; 255 + TRUCK: + Alpha: 0.999 + Color: 30; 144; 255 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/tracking/objects + UNKNOWN: + Alpha: 0.999 + Color: 255; 255; 255 + Value: true + Enabled: false + Name: Tracking + - Class: rviz_common/Group + Displays: + - BUS: + Alpha: 0.999 + Color: 30; 144; 255 + CAR: + Alpha: 0.999 + Color: 30; 144; 255 + CYCLIST: + Alpha: 0.999 + Color: 119; 11; 32 + Class: autoware_perception_rviz_plugin/PredictedObjects + Display 3d polygon: true + Display Label: true + Display PoseWithCovariance: false + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display UUID: true + Display Velocity: true + Line Width: 0.03 + Enabled: true + MOTORCYCLE: + Alpha: 0.999 + Color: 119; 11; 32 + Name: PredictedObjects + Namespaces: {} + PEDESTRIAN: + Alpha: 0.999 + Color: 255; 192; 203 + TRAILER: + Alpha: 0.999 + Color: 30; 144; 255 + TRUCK: + Alpha: 0.999 + Color: 30; 144; 255 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/objects + UNKNOWN: + Alpha: 0.999 + Color: 255; 255; 255 + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Maneuver + Namespaces: {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/prediction/maneuver + Value: true + Enabled: true + Name: Prediction + Enabled: true + Name: ObjectRecognition + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/Image + Enabled: true + Max Value: 1 + Median window: 5 + Min Value: 0 + Name: RecognitionResultOnImage + Normalize Range: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/traffic_light_recognition/traffic_light/debug/rois + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: MapBasedDetectionResult + Namespaces: {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/traffic_light_recognition/traffic_light_map_based_detector/debug/markers + Value: true + Enabled: true + Name: TrafficLight + - Class: rviz_common/Group + Displays: + - Alpha: 0.5 + Class: rviz_default_plugins/Map + Color Scheme: map + Draw Behind: false + Enabled: true + Name: Map + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/occupancy_grid_map/map + Update Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/occupancy_grid_map/map_updates + Use Timestamp: false + Value: true + Enabled: false + Name: OccupancyGrid + Enabled: true + Name: Perception + - Class: rviz_common/Group + Displays: + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: RouteArea + Namespaces: + goal_lanelets: true + lane_start_bound: false + left_lane_bound: false + right_lane_bound: false + route_lanelets: true + Topic: + Depth: 5 + Durability Policy: Transient Local + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/mission_planning/route_marker + Value: true + - Alpha: 0.999 + Axes Length: 1 + Axes Radius: 0.30000001192092896 + Class: rviz_default_plugins/Pose + Color: 255; 25; 0 + Enabled: true + Head Length: 0.30000001192092896 + Head Radius: 0.5 + Name: GoalPose + Shaft Length: 3 + Shaft Radius: 0.20000000298023224 + Shape: Axes + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/mission_planning/echo_back_goal_pose + Value: true + - Class: autoware_mission_details_overlay_rviz_plugin/MissionDetailsDisplay + Name: MissionDetailsDisplay + Width: 170 + Height: 100 + Right: 10 + Top: 10 + Remaining Distance and Time Topic: /planning/mission_remaining_distance_time + Enabled: true + Value: true + Background Alpha: 0.5 + Background Color: 23; 28; 31 + Text Color: 194; 194; 194 + Enabled: true + Name: MissionPlanning + - Class: rviz_common/Group + Displays: + - Class: rviz_plugins/Trajectory + Color Border Vel Max: 3 + Enabled: true + Name: ScenarioTrajectory + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/trajectory + Value: true + View Path: + Alpha: 0.999 + Color: 0; 0; 0 + Constant Color: false + Value: true + Width: 2 + View Velocity: + Alpha: 0.999 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: true + - Class: rviz_common/Group + Displays: + - Class: rviz_common/Group + Displays: + - Class: rviz_plugins/Path + Color Border Vel Max: 3 + Enabled: true + Name: Path + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/path + Value: true + View Path: + Alpha: 0.4000000059604645 + Color: 0; 0; 0 + Constant Color: false + Value: true + Width: 2 + View Velocity: + Alpha: 0.4000000059604645 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: true + - Class: rviz_plugins/Path + Color Border Vel Max: 3 + Enabled: false + Name: PathReference_AvoidanceByLC + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/path_reference/avoidance_by_lane_change + Value: true + View Path: + Alpha: 0.3 + Color: 210; 110; 10 + Constant Color: true + Value: true + Width: 2 + View Velocity: + Alpha: 0.30000001192092896 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: false + - Class: rviz_plugins/Path + Color Border Vel Max: 3 + Enabled: false + Name: PathReference_Avoidance + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/path_reference/static_obstacle_avoidance + Value: true + View Path: + Alpha: 0.3 + Color: 210; 110; 210 + Constant Color: true + Value: true + Width: 2 + View Velocity: + Alpha: 0.30000001192092896 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: false + - Class: rviz_plugins/Path + Color Border Vel Max: 3 + Enabled: false + Name: PathReference_LaneChangeRight + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/path_reference/lane_change_right + Value: true + View Path: + Alpha: 0.3 + Color: 210; 210; 110 + Constant Color: true + Value: true + Width: 2 + View Velocity: + Alpha: 0.30000001192092896 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: false + - Class: rviz_plugins/Path + Color Border Vel Max: 3 + Enabled: false + Name: PathReference_LaneChangeLeft + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/path_reference/lane_change_left + Value: true + View Path: + Alpha: 0.3 + Color: 210; 210; 110 + Constant Color: true + Value: true + Width: 2 + View Velocity: + Alpha: 0.30000001192092896 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: false + - Class: rviz_plugins/Path + Color Border Vel Max: 3 + Enabled: false + Name: PathReference_GoalPlanner + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/path_reference/goal_planner + Value: true + View Path: + Alpha: 0.3 + Color: 110; 110; 210 + Constant Color: true + Value: true + Width: 2 + View Velocity: + Alpha: 0.30000001192092896 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: false + - Class: rviz_plugins/Path + Color Border Vel Max: 3 + Enabled: false + Name: PathReference_StartPlanner + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/path_reference/start_planner + Value: true + View Path: + Alpha: 0.3 + Color: 210; 110; 110 + Constant Color: true + Value: true + Width: 2 + View Velocity: + Alpha: 0.30000001192092896 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: false + - Class: rviz_plugins/Path + Color Border Vel Max: 3 + Enabled: true + Name: PathChangeCandidate_AvoidanceByLC + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/path_candidate/avoidance_by_lane_change + Value: true + View Path: + Alpha: 0.30000001192092896 + Color: 115; 210; 22 + Constant Color: false + Value: true + Width: 2 + View Velocity: + Alpha: 0.30000001192092896 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: false + - Class: rviz_plugins/Path + Color Border Vel Max: 3 + Enabled: true + Name: (old)PathChangeCandidate_LaneChange + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/path_candidate/lane_change + Value: true + View Path: + Alpha: 0.30000001192092896 + Color: 115; 210; 22 + Constant Color: false + Value: true + Width: 2 + View Velocity: + Alpha: 0.30000001192092896 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: false + - Class: rviz_plugins/Path + Color Border Vel Max: 3 + Enabled: true + Name: PathChangeCandidate_LaneChangeRight + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/path_candidate/lane_change_right + Value: true + View Path: + Alpha: 0.30000001192092896 + Color: 115; 210; 22 + Constant Color: false + Value: true + Width: 2 + View Velocity: + Alpha: 0.30000001192092896 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: false + - Class: rviz_plugins/Path + Color Border Vel Max: 3 + Enabled: true + Name: PathChangeCandidate_LaneChangeLeft + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/path_candidate/lane_change_left + Value: true + View Path: + Alpha: 0.30000001192092896 + Color: 115; 210; 22 + Constant Color: false + Value: true + Width: 2 + View Velocity: + Alpha: 0.30000001192092896 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: false + - Class: rviz_plugins/Path + Color Border Vel Max: 3 + Enabled: true + Name: PathChangeCandidate_ExternalRequestLaneChangeRight + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/path_candidate/external_request_lane_change_right + Value: true + View Path: + Alpha: 0.30000001192092896 + Color: 115; 210; 22 + Constant Color: false + Value: true + Width: 2 + View Velocity: + Alpha: 0.30000001192092896 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: false + - Class: rviz_plugins/Path + Color Border Vel Max: 3 + Enabled: true + Name: PathChangeCandidate_ExternalRequestLaneChangeLeft + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/path_candidate/external_request_lane_change_left + Value: true + View Path: + Alpha: 0.30000001192092896 + Color: 115; 210; 22 + Constant Color: false + Value: true + Width: 2 + View Velocity: + Alpha: 0.30000001192092896 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: false + - Class: rviz_plugins/Path + Color Border Vel Max: 3 + Enabled: true + Name: PathChangeCandidate_Avoidance + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/path_candidate/static_obstacle_avoidance + Value: true + View Path: + Alpha: 0.30000001192092896 + Color: 115; 210; 22 + Constant Color: false + Value: true + Width: 2 + View Velocity: + Alpha: 0.30000001192092896 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: false + - Class: rviz_plugins/Path + Color Border Vel Max: 3 + Enabled: true + Name: PathChangeCandidate_StartPlanner + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/path_candidate/start_planner + Value: true + View Path: + Alpha: 0.30000001192092896 + Color: 115; 210; 22 + Constant Color: false + Value: true + Width: 2 + View Velocity: + Alpha: 0.30000001192092896 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: false + - Class: rviz_plugins/Path + Color Border Vel Max: 3 + Enabled: true + Name: PathChangeCandidate_GoalPlanner + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/path_candidate/goal_planner + Value: true + View Path: + Alpha: 0.30000001192092896 + Color: 115; 210; 22 + Constant Color: false + Value: true + Width: 2 + View Velocity: + Alpha: 0.30000001192092896 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Bound + Namespaces: + left_bound: true + right_bound: true + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/bound + Value: true + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (StaticObstacleAvoidance) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/virtual_wall/static_obstacle_avoidance + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (AvoidanceByLC) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/virtual_wall/avoidance_by_lane_change + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (LaneChangeRight) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/virtual_wall/lane_change_right + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (LaneChangeLeft) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/virtual_wall/lane_change_left + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (ExtLaneChangeRight) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/virtual_wall/external_request_lane_change_right + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (ExtLaneChangeLeft) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/virtual_wall/external_request_lane_change_left + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (GoalPlanner) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/virtual_wall/goal_planner + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (StartPlanner) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/virtual_wall/start_planner + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (BlindSpot) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/virtual_wall/blind_spot + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (Crosswalk) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/virtual_wall/crosswalk + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (Walkway) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/virtual_wall/walkway + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (DetectionArea) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/virtual_wall/detection_area + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (Intersection) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/virtual_wall/intersection + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (MergeFromPrivateArea) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/virtual_wall/merge_from_private + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (NoStoppingArea) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/virtual_wall/no_stopping_area + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (OcclusionSpot) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/virtual_wall/occlusion_spot + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (StopLine) + Namespaces: + stop_factor_text: true + stop_virtual_wall: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/virtual_wall/stop_line + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (TrafficLight) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/virtual_wall/traffic_light + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (VirtualTrafficLight) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/virtual_wall/virtual_traffic_light + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (RunOut) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/virtual_wall/run_out + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (SpeedBump) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/virtual_wall/speed_bump + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (NoDrivableLane) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/virtual_wall/no_drivable_lane + Value: true + Enabled: true + Name: VirtualWall + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Arrow + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/path + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Crosswalk + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/crosswalk + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Intersection + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/intersection + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Blind Spot + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/blind_spot + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: TrafficLight + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/traffic_light + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: VirtualTrafficLight + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/virtual_traffic_light + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: StopLine + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/stop_line + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: DetectionArea + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/detection_area + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: OcclusionSpot + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/occlusion_spot + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: NoStoppingArea + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/no_stopping_area + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: RunOut + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/run_out + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: StaticObstacleAvoidance + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/static_obstacle_avoidance + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: LeftLaneChange + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/lane_change_left + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: RightLaneChange + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/lane_change_right + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: LaneFollowing + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/lane_following + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: GoalPlanner + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/goal_planner + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: StartPlanner + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/start_planner + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: SideShift + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/side_shift + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: SpeedBump + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/speed_bump + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: DynamicObstacleAvoidance + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/dynamic_obstacle_avoidance + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: NoDrivableLane + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/no_drivable_lane + Value: false + Enabled: false + Name: DebugMarker + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Info (StaticObstacleAvoidance) + Namespaces: + avoidable_target_objects_info: false + avoidable_target_objects_info_reason: false + avoidable_target_objects_envelope_polygon: false + unavoidable_target_objects_info: false + unavoidable_target_objects_info_reason: false + unavoidable_target_objects_envelope_polygon: false + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/info/static_obstacle_avoidance + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Info (AvoidanceByLC) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/info/avoidance_by_lane_change + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Info (LaneChangeLeft) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/info/lane_change_left + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Info (LaneChangeRight) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/info/lane_change_right + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Info (ExtLaneChangeLeft) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/info/external_request_lane_change_left + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Info (ExtLaneChangeRight) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/info/external_request_lane_change_right + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Info (GoalPlanner) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/info/goal_planner + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Info (StartPlanner) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/info/start_planner + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Info (DynamicObstacleAvoidance) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/info/dynamic_obstacle_avoidance + Value: false + Enabled: false + Name: InfoMarker + Enabled: true + Name: BehaviorPlanning + - Class: rviz_common/Group + Displays: + - Class: rviz_plugins/Trajectory + Color Border Vel Max: 3 + Enabled: false + Name: Trajectory + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/trajectory + Value: false + View Path: + Alpha: 0.999 + Color: 0; 0; 0 + Constant Color: false + Value: true + Width: 2 + View Velocity: + Alpha: 0.999 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: true + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (ObstacleStop) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_stop_planner/virtual_wall + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (SurroundObstacle) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/surround_obstacle_checker/virtual_wall + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (ObstacleAvoidance) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/virtual_wall + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (ObstacleCruise Stop) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_cruise_planner/virtual_wall/stop + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (ObstacleCruise Cruise) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_cruise_planner/virtual_wall/cruise + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (ObstacleCruise SlowDown) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_cruise_planner/virtual_wall/slow_down + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (MotionVelocitySmoother) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/velocity_smoother/virtual_wall + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (ObstacleStop) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/obstacle_stop/virtual_walls + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (ObstacleSlowDown) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/obstacle_slow_down/virtual_walls + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (ObstacleCruise) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/obstacle_cruise/virtual_walls + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (OutOfLane) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/out_of_lane/virtual_walls + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (ObstacleVelocityLimiter) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/obstacle_velocity_limiter/virtual_walls + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (DynamicObstacleStop) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/dynamic_obstacle_stop/virtual_walls + Value: true + Enabled: true + Name: VirtualWall + - Class: rviz_common/Group + Displays: + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: SurroundObstacleCheck + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/surround_obstacle_checker/debug/marker + Value: true + - Alpha: 1 + Class: rviz_default_plugins/Polygon + Color: 25; 255; 0 + Enabled: false + Name: Footprint + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/surround_obstacle_checker/debug/footprint + Value: false + - Alpha: 1 + Class: rviz_default_plugins/Polygon + Color: 239; 41; 41 + Enabled: false + Name: FootprintOffset + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/surround_obstacle_checker/debug/footprint_offset + Value: false + - Alpha: 1 + Class: rviz_default_plugins/Polygon + Color: 10; 21; 255 + Enabled: false + Name: FootprintRecoverOffset + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/surround_obstacle_checker/debug/footprint_recover_offset + Value: false + Enabled: false + Name: SurroundObstacleChecker + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: ObstacleStop + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_stop_planner/debug/marker + Value: false + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: DebugMarker + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_cruise_planner/debug/marker + Value: true + Enabled: false + Name: ObstacleCruise + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: ObstacleAvoidance + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/marker + Value: false + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: ObstacleStop + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/obstacle_stop/debug_markers + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: ObstacleSlowDown + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/obstacle_slow_down/debug_markers + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: ObstacleCruise + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/obstacle_cruise/debug_markers + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: OutOfLane + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/out_of_lane/debug_markers + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: ObstacleVelocityLimiter + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/obstacle_velocity_limiter/debug_markers + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: DynamicObstacleStop + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/dynamic_obstacle_stop/debug_markers + Value: true + Enabled: false + Name: MotionVelocityPlanner + Enabled: false + Name: DebugMarker + Enabled: true + Name: MotionPlanning + Enabled: true + Name: LaneDriving + - Class: rviz_common/Group + Displays: + - Alpha: 0.699999988079071 + Class: rviz_default_plugins/Map + Color Scheme: map + Draw Behind: false + Enabled: false + Name: Costmap + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/parking/costmap_generator/occupancy_grid + Update Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/parking/costmap_generator/occupancy_grid_updates + Use Timestamp: false + Value: false + - Alpha: 0.999 + Arrow Length: 0.30000001192092896 + Axes Length: 0.30000001192092896 + Axes Radius: 0.009999999776482582 + Class: rviz_default_plugins/PoseArray + Color: 255; 25; 0 + Enabled: true + Head Length: 0.10000000149011612 + Head Radius: 0.20000000298023224 + Name: PartialPoseArray + Shaft Length: 0.20000000298023224 + Shaft Radius: 0.05000000074505806 + Shape: Arrow (3D) + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/parking/freespace_planner/debug/partial_pose_array + Value: true + - Alpha: 0.999 + Arrow Length: 0.5 + Axes Length: 0.30000001192092896 + Axes Radius: 0.009999999776482582 + Class: rviz_default_plugins/PoseArray + Color: 0; 0; 255 + Enabled: true + Head Length: 0.10000000149011612 + Head Radius: 0.20000000298023224 + Name: PoseArray + Shaft Length: 0.20000000298023224 + Shaft Radius: 0.05000000074505806 + Shape: Arrow (Flat) + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/parking/freespace_planner/debug/pose_array + Value: true + Enabled: true + Name: Parking + - Class: rviz_plugins/PoseWithUuidStamped + Enabled: true + Length: 1.5 + Name: ModifiedGoal + Radius: 0.5 + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/modified_goal + UUID: + Scale: 0.30000001192092896 + Value: false + Value: true + Enabled: true + Name: ScenarioPlanning + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: PlanningErrorMarker + Namespaces: {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /planning/planning_diagnostics/planning_error_monitor/debug/marker + Value: true + Enabled: false + Name: Diagnostic + Enabled: true + Name: Planning + - Class: rviz_common/Group + Displays: + - Class: rviz_plugins/Trajectory + Color Border Vel Max: 3 + Enabled: true + Name: Predicted Trajectory + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /control/trajectory_follower/controller_node_exe/debug/predicted_trajectory_in_frenet_coordinate + Value: true + View Path: + Alpha: 1 + Color: 255; 255; 255 + Constant Color: true + Value: true + Constant Width: true + Width: 0.05000000074505806 + View Velocity: + Alpha: 1 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: false + - Class: rviz_plugins/Trajectory + Color Border Vel Max: 3 + Enabled: false + Name: Resampled Reference Trajectory + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /control/trajectory_follower/controller_node_exe/debug/resampled_reference_trajectory + Value: true + View Path: + Alpha: 1 + Color: 153; 193; 241 + Constant Color: true + Value: false + Constant Width: true + Width: 0.2 + View Velocity: + Alpha: 1 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: false + View Point: + Alpha: 1 + Color: 0; 60; 255 + Offset: 0 + Radius: 0.10000000149011612 + Value: true + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (AEB) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /control/autonomous_emergency_braking/virtual_wall + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (velocity control) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /control/trajectory_follower/controller_node_exe/virtual_wall + Value: true + Enabled: true + Name: VirtualWall + - Class: rviz_default_plugins/Marker + Enabled: false + Name: Stop Reason + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /control/trajectory_follower/longitudinal/stop_reason + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Debug/MPC + Namespaces: {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /control/trajectory_follower/mpc_follower/debug/markers + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Debug/PurePursuit + Namespaces: {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /control/trajectory_follower/controller_node_exe/debug/markers + Value: false + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: Debug/AEB + Namespaces: + ego_path: true + ego_polygons: true + predicted_path: true + predicted_polygons: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /control/autonomous_emergency_braking/debug/markers + Value: false + Enabled: true + Name: Control + - Class: rviz_common/Group + Displays: + - Class: rviz_common/Group + Displays: ~ + Enabled: true + Name: Map + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/Camera + Enabled: true + Far Plane Distance: 100 + Image Rendering: background and overlay + Name: PointcloudOnCamera + Overlay Alpha: 0.5 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /sensing/camera/camera6/image_raw + Value: true + Visibility: + Control: + Debug/AEB: true + Debug/MPC: true + Debug/PurePursuit: true + Predicted Trajectory: true + VirtualWall: + VirtualWall (AEB): true + Value: false + Debug: + Control: true + Localization: + EKFPoseHistory: true + NDT pointclouds: true + NDTLoadedPCDMap: true + NDTPoseHistory: true + Value: true + Map: true + Perception: + CameraLidarFusion(purple): true + Centerpoint(red1): true + CenterpointROIFusion(red2): true + CenterpointValidator(red3): true + Detection(yellow): true + DetectionByTracker(cyan): true + PointPainting(light_green1): true + PointPaintingROIFusion(light_green2): true + PointPaintingValidator(light_green3): true + Prediction(light_blue): true + RadarFarObjects(white): true + Tracking(green): true + Value: true + Planning: true + Sensing: + ConcatenatePointCloud: true + RadarRawObjects(white): true + Value: true + Value: true + Localization: + EKF: + PoseHistory: true + Value: true + NDT: + Aligned: true + Initial: true + MonteCarloInitialPose: true + PoseHistory: true + PoseWithCovAligned: true + PoseWithCovInitial: true + Value: true + Value: false + Map: + Lanelet2VectorMap: true + PointCloudMap: true + Value: false + Perception: + ObjectRecognition: + Detection: + DetectedObjects: true + Value: true + Prediction: + Maneuver: true + PredictedObjects: true + Value: true + Tracking: + TrackedObjects: true + Value: true + Value: true + OccupancyGrid: + Map: true + Value: true + Segmentation: + NoGroundPointCloud: true + Value: true + TrafficLight: + MapBasedDetectionResult: true + RecognitionResultOnImage: true + Value: true + Value: false + Planning: + Diagnostic: + PlanningErrorMarker: true + Value: true + MissionPlanning: + GoalPose: true + MissionDetailsDisplay: true + RouteArea: true + Value: true + ScenarioPlanning: + LaneDriving: + BehaviorPlanning: + (old)PathChangeCandidate_LaneChange: true + Bound: true + DebugMarker: + Arrow: true + StaticObstacleAvoidance: true + Blind Spot: true + Crosswalk: true + DetectionArea: true + DynamicObstacleAvoidance: true + GoalPlanner: true + Intersection: true + LaneFollowing: true + LeftLaneChange: true + NoDrivableLane: true + NoStoppingArea: true + OcclusionSpot: true + RightLaneChange: true + RunOut: true + SideShift: true + SpeedBump: true + StartPlanner: true + StopLine: true + TrafficLight: true + Value: true + VirtualTrafficLight: true + InfoMarker: + Info (StaticObstacleAvoidance): true + Info (AvoidanceByLC): true + Info (DynamicObstacleAvoidance): true + Info (ExtLaneChangeLeft): true + Info (ExtLaneChangeRight): true + Info (GoalPlanner): true + Info (LaneChangeLeft): true + Info (LaneChangeRight): true + Info (StartPlanner): true + Value: true + Path: true + PathChangeCandidate_Avoidance: true + PathChangeCandidate_AvoidanceByLC: true + PathChangeCandidate_ExternalRequestLaneChangeLeft: true + PathChangeCandidate_ExternalRequestLaneChangeRight: true + PathChangeCandidate_GoalPlanner: true + PathChangeCandidate_LaneChangeLeft: true + PathChangeCandidate_LaneChangeRight: true + PathChangeCandidate_StartPlanner: true + PathReference_Avoidance: true + PathReference_AvoidanceByLC: true + PathReference_GoalPlanner: true + PathReference_LaneChangeLeft: true + PathReference_LaneChangeRight: true + PathReference_StartPlanner: true + Value: true + VirtualWall: + Value: true + VirtualWall (StaticObstacleAvoidance): true + VirtualWall (AvoidanceByLC): true + VirtualWall (BlindSpot): true + VirtualWall (Crosswalk): true + VirtualWall (DetectionArea): true + VirtualWall (ExtLaneChangeLeft): true + VirtualWall (ExtLaneChangeRight): true + VirtualWall (GoalPlanner): true + VirtualWall (Intersection): true + VirtualWall (LaneChangeLeft): true + VirtualWall (LaneChangeRight): true + VirtualWall (MergeFromPrivateArea): true + VirtualWall (NoDrivableLane): true + VirtualWall (NoStoppingArea): true + VirtualWall (OcclusionSpot): true + VirtualWall (RunOut): true + VirtualWall (SpeedBump): true + VirtualWall (StartPlanner): true + VirtualWall (StopLine): true + VirtualWall (TrafficLight): true + VirtualWall (VirtualTrafficLight): true + VirtualWall (Walkway): true + MotionPlanning: + DebugMarker: + ObstacleAvoidance: true + ObstacleCruise: + CruiseVirtualWall: true + DebugMarker: true + SlowDownVirtualWall: true + Value: true + ObstacleStop: true + SurroundObstacleChecker: + Footprint: true + FootprintOffset: true + FootprintRecoverOffset: true + SurroundObstacleCheck: true + Value: true + Value: true + Trajectory: true + Value: true + VirtualWall: + Value: true + VirtualWall (ObstacleAvoidance): true + VirtualWall (ObstacleCruise): true + VirtualWall (ObstacleStop): true + VirtualWall (SurroundObstacle): true + Value: true + ModifiedGoal: true + Parking: + Costmap: true + PartialPoseArray: true + PoseArray: true + Value: true + ScenarioTrajectory: true + Value: true + Value: false + Sensing: + GNSS: + PoseWithCovariance: true + Value: true + LiDAR: + ConcatenatePointCloud: true + MeasurementRange: true + Value: true + Value: true + System: + Grid: true + MRM Summary: true + TF: true + Value: false + Vehicle: + PolarGridDisplay: true + Value: true + VehicleModel: true + SignalDisplay: true + Value: true + Zoom Factor: 1 + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 5 + Min Value: -1 + Value: false + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: AxisColor + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: ConcatenatePointCloud + Position Transformer: XYZ + Selectable: false + Size (Pixels): 3 + Size (m): 0.019999999552965164 + Style: Points + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /sensing/lidar/concatenated/pointcloud + Use Fixed Frame: false + Use rainbow: true + Value: true + - BUS: + Alpha: 0.5 + Color: 255; 255; 255 + CAR: + Alpha: 0.5 + Color: 255; 255; 255 + CYCLIST: + Alpha: 0.5 + Color: 255; 255; 255 + Class: autoware_perception_rviz_plugin/DetectedObjects + Display Acceleration: true + Display Label: true + Display PoseWithCovariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display UUID: true + Display Velocity: true + Enabled: true + Line Width: 0.029999999329447746 + MOTORCYCLE: + Alpha: 0.5 + Color: 255; 255; 255 + Name: RadarRawObjects(white) + Namespaces: + {} + PEDESTRIAN: + Alpha: 0.5 + Color: 255; 255; 255 + Polygon Type: 3d + TRAILER: + Alpha: 0.5 + Color: 255; 255; 255 + TRUCK: + Alpha: 0.5 + Color: 255; 255; 255 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /sensing/radar/detected_objects + UNKNOWN: + Alpha: 0.5 + Color: 255; 255; 255 + Value: true + Visualization Type: Normal + Enabled: false + Name: Sensing + - Class: rviz_common/Group + Enabled: true + Name: Localization + Displays: + - Alpha: 0.9990000128746033 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 85; 255; 0 + Color Transformer: FlatColor + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 85; 255; 127 + Max Intensity: 0 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: NDT pointclouds + Position Transformer: XYZ + Selectable: false + Size (Pixels): 10 + Size (m): 0.5 + Style: Squares + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /localization/pose_estimator/points_aligned + Use Fixed Frame: true + Use rainbow: true + Value: true + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: "" + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: NDTLoadedPCDMap + Position Transformer: "" + Selectable: true + Size (Pixels): 3 + Size (m): 0.1 + Style: Flat Squares + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /localization/pose_estimator/debug/loaded_pointcloud_map + Use Fixed Frame: true + Use rainbow: true + Value: true + - Buffer Size: 200 + Class: rviz_plugins::PoseHistory + Enabled: true + Line: + Alpha: 0.9990000128746033 + Color: 170; 255; 127 + Value: true + Width: 0.10000000149011612 + Name: NDTPoseHistory + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /localization/pose_estimator/pose + Value: true + - Buffer Size: 1000 + Class: rviz_plugins::PoseHistory + Enabled: true + Line: + Alpha: 0.9990000128746033 + Color: 0; 255; 255 + Value: true + Width: 0.10000000149011612 + Name: EKFPoseHistory + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /localization/pose_twist_fusion_filter/pose + Value: true + - Class: rviz_common/Group + Displays: + - BUS: + Alpha: 0.9990000128746033 + Color: 255; 138; 128 + CAR: + Alpha: 0.9990000128746033 + Color: 255; 138; 128 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 255; 138; 128 + Class: autoware_perception_rviz_plugin/DetectedObjects + Display Acceleration: true + Display Label: true + Display PoseWithCovariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display UUID: true + Display Velocity: true + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 255; 138; 128 + Name: Centerpoint(red1) + Namespaces: + {} + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 255; 138; 128 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 255; 138; 128 + TRUCK: + Alpha: 0.9990000128746033 + Color: 255; 138; 128 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/centerpoint/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 255; 138; 128 + Value: false + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 255; 82; 82 + CAR: + Alpha: 0.9990000128746033 + Color: 255; 82; 82 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 255; 82; 82 + Class: autoware_perception_rviz_plugin/DetectedObjects + Display Acceleration: true + Display Label: true + Display PoseWithCovariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display UUID: true + Display Velocity: true + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 255; 82; 82 + Name: CenterpointROIFusion(red2) + Namespaces: + {} + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 255; 82; 82 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 255; 82; 82 + TRUCK: + Alpha: 0.9990000128746033 + Color: 255; 82; 82 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/centerpoint/roi_fusion/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 255; 82; 82 + Value: false + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 213; 0; 0 + CAR: + Alpha: 0.9990000128746033 + Color: 213; 0; 0 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 213; 0; 0 + Class: autoware_perception_rviz_plugin/DetectedObjects + Display Acceleration: true + Display Label: true + Display PoseWithCovariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display UUID: true + Display Velocity: true + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 213; 0; 0 + Name: CenterpointValidator(red3) + Namespaces: + {} + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 213; 0; 0 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 213; 0; 0 + TRUCK: + Alpha: 0.9990000128746033 + Color: 213; 0; 0 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/centerpoint/validation/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 213; 0; 0 + Value: false + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 178; 255; 89 + CAR: + Alpha: 0.9990000128746033 + Color: 178; 255; 89 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 178; 255; 89 + Class: autoware_perception_rviz_plugin/DetectedObjects + Display Acceleration: true + Display Label: true + Display PoseWithCovariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display UUID: true + Display Velocity: true + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 178; 255; 89 + Name: PointPainting(light_green1) + Namespaces: + {} + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 178; 255; 89 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 178; 255; 89 + TRUCK: + Alpha: 0.9990000128746033 + Color: 178; 255; 89 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/pointpainting/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 178; 255; 89 + Value: false + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 118; 255; 3 + CAR: + Alpha: 0.9990000128746033 + Color: 118; 255; 3 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 118; 255; 3 + Class: autoware_perception_rviz_plugin/DetectedObjects + Display Acceleration: true + Display Label: true + Display PoseWithCovariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display UUID: true + Display Velocity: true + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 118; 255; 3 + Name: PointPaintingROIFusion(light_green2) + Namespaces: + {} + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 118; 255; 3 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 118; 255; 3 + TRUCK: + Alpha: 0.9990000128746033 + Color: 118; 255; 3 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/pointpainting/roi_fusion/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 118; 255; 3 + Value: false + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 100; 221; 23 + CAR: + Alpha: 0.9990000128746033 + Color: 100; 221; 23 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 100; 221; 23 + Class: autoware_perception_rviz_plugin/DetectedObjects + Display Acceleration: true + Display Label: true + Display PoseWithCovariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display UUID: true + Display Velocity: true + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 100; 221; 23 + Name: PointPaintingValidator(light_green3) + Namespaces: + {} + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 100; 221; 23 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 100; 221; 23 + TRUCK: + Alpha: 0.9990000128746033 + Color: 100; 221; 23 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/pointpainting/validation/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 100; 221; 23 + Value: false + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 255; 145; 0 + CAR: + Alpha: 0.9990000128746033 + Color: 255; 145; 0 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 255; 145; 0 + Class: autoware_perception_rviz_plugin/DetectedObjects + Display Acceleration: true + Display Label: true + Display PoseWithCovariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display UUID: true + Display Velocity: true + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 255; 145; 0 + Name: DetectionByTracker(orange) + Namespaces: + {} + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 255; 145; 0 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 255; 145; 0 + TRUCK: + Alpha: 0.9990000128746033 + Color: 255; 145; 0 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/detection_by_tracker/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 255; 145; 0 + Value: false + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 213; 0; 249 + CAR: + Alpha: 0.9990000128746033 + Color: 213; 0; 249 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 213; 0; 249 + Class: autoware_perception_rviz_plugin/DetectedObjects + Display Acceleration: true + Display Label: true + Display PoseWithCovariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display UUID: true + Display Velocity: true + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 213; 0; 249 + Name: CameraLidarFusion(purple) + Namespaces: + {} + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 213; 0; 249 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 213; 0; 249 + TRUCK: + Alpha: 0.9990000128746033 + Color: 213; 0; 249 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/clustering/camera_lidar_fusion/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 213; 0; 249 + Value: false + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 255; 255; 255 + CAR: + Alpha: 0.9990000128746033 + Color: 255; 255; 255 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 255; 255; 255 + Class: autoware_perception_rviz_plugin/DetectedObjects + Display Acceleration: true + Display Label: true + Display PoseWithCovariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display UUID: true + Display Velocity: true + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 255; 255; 255 + Name: RadarFarObjects(white) + Namespaces: + {} + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 255; 255; 255 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 255; 255; 255 + TRUCK: + Alpha: 0.9990000128746033 + Color: 255; 255; 255 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/radar/far_objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 255; 255; 255 + Value: false + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 255; 234; 0 + CAR: + Alpha: 0.9990000128746033 + Color: 255; 234; 0 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 255; 234; 0 + Class: autoware_perception_rviz_plugin/DetectedObjects + Display Acceleration: true + Display Label: true + Display PoseWithCovariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display UUID: true + Display Velocity: true + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 255; 234; 0 + Name: Detection(yellow) + Namespaces: + {} + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 255; 234; 0 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 255; 234; 0 + TRUCK: + Alpha: 0.9990000128746033 + Color: 255; 234; 0 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 255; 234; 0 + Value: false + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 0; 230; 118 + CAR: + Alpha: 0.9990000128746033 + Color: 0; 230; 118 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 0; 230; 118 + Class: autoware_perception_rviz_plugin/TrackedObjects + Display Acceleration: true + Display Label: true + Display PoseWithCovariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display UUID: true + Display Velocity: true + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 0; 230; 118 + Name: Tracking(green) + Namespaces: + {} + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 0; 230; 118 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 0; 230; 118 + TRUCK: + Alpha: 0.9990000128746033 + Color: 0; 230; 118 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/tracking/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 0; 230; 118 + Value: false + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 0; 176; 255 + CAR: + Alpha: 0.9990000128746033 + Color: 0; 176; 255 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 0; 176; 255 + Class: autoware_perception_rviz_plugin/PredictedObjects + Display Acceleration: true + Display Label: true + Display PoseWithCovariance: false + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display UUID: true + Display Velocity: true + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 0; 176; 255 + Name: Prediction(light_blue) + Namespaces: + {} + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 0; 176; 255 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 0; 176; 255 + TRUCK: + Alpha: 0.9990000128746033 + Color: 0; 176; 255 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 0; 176; 255 + Value: false + Visualization Type: Normal + Enabled: true + Name: Perception + - Class: rviz_common/Group + Displays: + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: LaneChangeLeft + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/lane_change_left + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: LaneChangeRight + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/lane_change_right + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: AvoidanceLeft + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/static_obstacle_avoidance_left + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: AvoidanceRight + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/static_obstacle_avoidance_right + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: AvoidanceByLCLeft + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/avoidance_by_lc_left + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: AvoidanceByLCRight + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/avoidance_by_lc_right + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: StartPlanner + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/start_planner + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: GoalPlanner + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/goal_planner + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Crosswalk + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/crosswalk + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Intersection + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/intersection + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: BlindSpot + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/blind_spot + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: TrafficLight + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/traffic_light + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: DetectionArea + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/detection_area + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: NoStoppingArea + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/no_stopping_area + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: ObstacleCruise + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/obstacle_cruise_planner + Value: true + Enabled: true + Name: Objects Of Interest + Enabled: true + Name: Planning + - Class: rviz_common/Group + Displays: ~ + Enabled: true + Name: Control + Enabled: false + Name: Debug + Enabled: true + Global Options: + Background Color: 15; 20; 23 + Default Light: true + Fixed Frame: map + Frame Rate: 30 + Name: root + Tools: + - Class: rviz_default_plugins/Interact + Hide Inactive Objects: true + - Class: rviz_default_plugins/MoveCamera + - Class: rviz_default_plugins/Select + - Class: rviz_default_plugins/FocusCamera + - Class: rviz_default_plugins/Measure + Line color: 128; 128; 0 + - Class: rviz_default_plugins/SetInitialPose + Theta std deviation: 0.2617993950843811 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /initialpose + X std deviation: 0.5 + Y std deviation: 0.5 + - Class: rviz_default_plugins/SetGoal + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/mission_planning/goal + - Class: tier4_adapi_rviz_plugins::RouteTool + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /rviz/routing/rough_goal + - Class: rviz_plugins/PedestrianInitialPoseTool + Pose Topic: /simulation/dummy_perception_publisher/object_info + Theta std deviation: 0.0872664600610733 + Velocity: 0 + X std deviation: 0.029999999329447746 + Y std deviation: 0.029999999329447746 + Z position: 1 + Z std deviation: 0.029999999329447746 + - Class: rviz_plugins/CarInitialPoseTool + Pose Topic: /simulation/dummy_perception_publisher/object_info + Theta std deviation: 0.0872664600610733 + Velocity: 3 + X std deviation: 0.029999999329447746 + Y std deviation: 0.029999999329447746 + Z position: 0 + Z std deviation: 0.029999999329447746 + - Class: rviz_plugins/BusInitialPoseTool + Pose Topic: /simulation/dummy_perception_publisher/object_info + Theta std deviation: 0.0872664600610733 + Velocity: 0 + X std deviation: 0.029999999329447746 + Y std deviation: 0.029999999329447746 + Z position: 0 + Z std deviation: 0.029999999329447746 + - Class: rviz_plugins/MissionCheckpointTool + Pose Topic: /planning/mission_planning/checkpoint + Theta std deviation: 0.2617993950843811 + X std deviation: 0.5 + Y std deviation: 0.5 + Z position: 0 + - Class: rviz_plugins/DeleteAllObjectsTool + Pose Topic: /simulation/dummy_perception_publisher/object_info + Value: true + Views: + Current: + Angle: 0 + Class: rviz_default_plugins/TopDownOrtho + Enable Stereo Rendering: + Stereo Eye Separation: 0.05999999865889549 + Stereo Focal Distance: 1 + Swap Stereo Eyes: false + Value: false + Invert Z Axis: false + Name: Current View + Near Clip Distance: 0.009999999776482582 + Scale: 10 + Target Frame: viewer + Value: TopDownOrtho (rviz_default_plugins) + X: 0 + Y: 0 + Saved: + - Class: rviz_default_plugins/ThirdPersonFollower + Distance: 18 + Enable Stereo Rendering: + Stereo Eye Separation: 0.05999999865889549 + Stereo Focal Distance: 1 + Swap Stereo Eyes: false + Value: false + Focal Point: + X: 0 + Y: 0 + Z: 0 + Focal Shape Fixed Size: true + Focal Shape Size: 0.05000000074505806 + Invert Z Axis: false + Name: ThirdPersonFollower + Near Clip Distance: 0.009999999776482582 + Pitch: 0.20000000298023224 + Target Frame: base_link + Value: ThirdPersonFollower (rviz) + Yaw: 3.141592025756836 + - Angle: 0 + Class: rviz_default_plugins/TopDownOrtho + Enable Stereo Rendering: + Stereo Eye Separation: 0.05999999865889549 + Stereo Focal Distance: 1 + Swap Stereo Eyes: false + Value: false + Invert Z Axis: false + Name: TopDownOrtho + Near Clip Distance: 0.009999999776482582 + Scale: 10 + Target Frame: viewer + Value: TopDownOrtho (rviz) + X: 0 + Y: 0 +Window Geometry: + AutowareStatePanel: + collapsed: false + Displays: + collapsed: false + Height: 1565 + Hide Left Dock: false + Hide Right Dock: false + Image: + collapsed: false + QMainWindow State: 000000ff00000000fd0000000400000000000001ee000005bafc020000000efb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005500fffffffb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb00000024004100750074006f00770061007200650053007400610074006500500061006e0065006c01000000420000041a0000006700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000c00430061006d0065007200610100000682000000eb0000000000000000fb0000000a0049006d0061006700650100000505000002680000000000000000fb0000002c0049006e0069007400690061006c0050006f007300650042007500740074006f006e00500061006e0065006c000000068f000000de0000000000000000fb0000002c0049006e0069007400690061006c0050006f007300650042007500740074006f006e00500061006e0065006c000000068f000000de0000000000000000fb00000030005200650063006f0067006e006900740069006f006e0052006500730075006c0074004f006e0049006d006100670065010000046b000001910000003100fffffffb0000002a004100750074006f0077006100720065004400610074006500540069006d006500500061006e0065006c0000000332000000720000004900fffffffb000000240050006f0069006e00740063006c006f00750064004f006e00430061006d006500720061000000039d000000560000003100ffffff00000001000001ab000005bafc0200000004fb000000100044006900730070006c0061007900730100000042000001f9000000da00fffffffc0000024a000003b2000000d10100001dfa000000000100000002fb0000000a0056006900650077007301000005d5000001ab0000019b00fffffffb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000000ffffffff0000009600fffffffb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000e7a0000005afc0100000001fb0000000a00560069006500770073030000004e00000080000002e1000001970000000300000e7a0000005afc0100000002fb0000000800540069006d0065010000000000000e7a0000000000000000fb0000000800540069006d0065010000000000000450000000000000000000000746000005ba00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + RecognitionResultOnImage: + collapsed: false + Selection: + collapsed: false + Tool Properties: + collapsed: false + Views: + collapsed: false + Width: 2813 + X: 67 + Y: 27 diff --git a/docker/tools/visualizer/xstartup b/docker/tools/visualizer/etc/xstartup similarity index 100% rename from docker/tools/visualizer/xstartup rename to docker/tools/visualizer/etc/xstartup From 0f56b778b834da900a76e30b06a52fb5003784fb Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Tue, 4 Feb 2025 15:05:23 +0300 Subject: [PATCH 33/36] . Signed-off-by: Oguz Ozturk --- docker/tools/visualizer/entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/tools/visualizer/entrypoint.sh b/docker/tools/visualizer/entrypoint.sh index 477e691c9a1..d7668d98a7e 100644 --- a/docker/tools/visualizer/entrypoint.sh +++ b/docker/tools/visualizer/entrypoint.sh @@ -8,7 +8,7 @@ export RVIZ_CONFIG configure_vnc() { # Check if WEB_PASSWORD is provided - [ -z "$WEB_PASSWORD" ] && echo -e "\e[31mPassword is needed. Set WEB_PASSWORD environment variable\e[0m" && exit 1 + [ -z "$WEB_PASSWORD" ] && echo -e "\e[31mPassword is needed when WEB_ENABLED is true. Set WEB_PASSWORD environment variable\e[0m" && exit 1 # Create Openbox application configuration mkdir -p /etc/xdg/openbox From 9d120e85742925cff6ce4a850743d6ccf5507d86 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Tue, 4 Feb 2025 15:11:47 +0300 Subject: [PATCH 34/36] . Signed-off-by: Oguz Ozturk --- docker/tools/visualizer/Dockerfile.visualizer | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/tools/visualizer/Dockerfile.visualizer b/docker/tools/visualizer/Dockerfile.visualizer index a0db5fc1c8e..745f4fe3be4 100644 --- a/docker/tools/visualizer/Dockerfile.visualizer +++ b/docker/tools/visualizer/Dockerfile.visualizer @@ -77,7 +77,7 @@ RUN echo "source /opt/ros/$ROS_DISTRO/setup.bash" >> /root/.bashrc && \ COPY docker/tools/visualizer/etc/autoware.rviz /autoware/autoware.rviz # Copy startup scripts -COPY docker/tools/visualizer/xstartup /root/.vnc/xstartup +COPY docker/tools/visualizer/etc/xstartup /root/.vnc/xstartup COPY docker/tools/visualizer/entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh && chmod +x /root/.vnc/xstartup ENTRYPOINT ["/entrypoint.sh"] From 9236720c1bd277674e1271dc7f6293cbeca52987 Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Tue, 4 Feb 2025 20:27:33 +0300 Subject: [PATCH 35/36] remove debug workflow Signed-off-by: Oguz Ozturk --- .../docker-build-and-push-tools.yaml | 66 ------------------- docker/tools/visualizer/entrypoint.sh | 9 ++- 2 files changed, 6 insertions(+), 69 deletions(-) delete mode 100644 .github/workflows/docker-build-and-push-tools.yaml diff --git a/.github/workflows/docker-build-and-push-tools.yaml b/.github/workflows/docker-build-and-push-tools.yaml deleted file mode 100644 index 10f559c9e7b..00000000000 --- a/.github/workflows/docker-build-and-push-tools.yaml +++ /dev/null @@ -1,66 +0,0 @@ -name: docker-build-and-push-tools - -on: - # TODO: Remove after tests are completed - pull_request: - branches: - - main - push: - branches: - - main - tags: - - "*.*.*" - workflow_dispatch: - -jobs: - load-env: - uses: ./.github/workflows/load-env.yaml - - docker-build-and-push-tools: - needs: load-env - runs-on: ubuntu-22.04 - steps: - - name: Check out repository - uses: actions/checkout@v4 - - - name: Set git config - uses: autowarefoundation/autoware-github-actions/set-git-config@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - - - name: Get changed files - id: changed-files - uses: tj-actions/changed-files@v45 - with: - files: | - *.env - *.repos - .github/actions/docker-build-and-push*/action.yaml - .github/workflows/docker-build-and-push*.yaml - ansible-galaxy-requirements.yaml - ansible/** - docker/** - - - name: Free disk space - if: ${{ steps.changed-files.outputs.any_changed == 'true' || - github.event_name == 'workflow_dispatch' || - (github.event_name == 'push' && github.ref_type == 'tag') }} - uses: ./.github/actions/free-disk-space - - - name: Build 'autoware-tools' - uses: ./.github/actions/docker-build-and-push-tools - with: - platform: amd64 - target-image: autoware - build-args: | - *.platform=linux/amd64 - *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} - *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} - *.args.AUTOWARE_BASE_IMAGE=${{ needs.load-env.outputs.autoware_base_image }} - *.args.AUTOWARE_BASE_CUDA_IMAGE=${{ needs.load-env.outputs.autoware_base_cuda_image }} - *.args.LIB_DIR=x86_64 - - - name: Show disk space - if: always() - run: | - df -h diff --git a/docker/tools/visualizer/entrypoint.sh b/docker/tools/visualizer/entrypoint.sh index d7668d98a7e..bc9d824dd08 100644 --- a/docker/tools/visualizer/entrypoint.sh +++ b/docker/tools/visualizer/entrypoint.sh @@ -3,8 +3,11 @@ # shellcheck disable=SC1090,SC1091 # Check if RVIZ_CONFIG is provided -[ -z "$RVIZ_CONFIG" ] && RVIZ_CONFIG="/autoware/autoware.rviz" || echo -e "\e[31mRVIZ_CONFIG is not set defaulting to autoware.rviz\e[0m" -export RVIZ_CONFIG +if [ -z "$RVIZ_CONFIG" ]; then + echo -e "\e[31mRVIZ_CONFIG is not set defaulting to autoware.rviz\e[0m" + RVIZ_CONFIG="/autoware/autoware.rviz" + export RVIZ_CONFIG +fi configure_vnc() { # Check if WEB_PASSWORD is provided @@ -66,7 +69,7 @@ EOF # Print info echo -e "\033[32m-------------------------------------------------------------------------\033[0m" echo -e "\033[32mBrowser interface available at local address http://$(hostname -I | cut -d' ' -f1):6080/vnc.html?resize=scale&password=${WEB_PASSWORD}&autoconnect=true\033[0m" - if ping -c 1 8.8.8.8 >/dev/null 2>&1; then + if curl -s --head 1.1.1.1 >/dev/null 2>&1; then echo -e "\033[32mIf you have a static public ip you can access it on WEB at http://$(curl -s ifconfig.me):6080/vnc.html?resize=scale&password=${WEB_PASSWORD}&autoconnect=true\033[0m" else echo -e "\033[31mNo internet connection available\033[0m" From 33ba71b3f4879bee1c9da0c37e7443f4fb0ae01d Mon Sep 17 00:00:00 2001 From: Oguz Ozturk Date: Tue, 4 Feb 2025 20:30:30 +0300 Subject: [PATCH 36/36] . Signed-off-by: Oguz Ozturk --- .../docker-build-and-push-arm64.yaml | 31 +++++++++---------- .../Dockerfile.scenario-simulator | 6 ++-- docker/tools/visualizer/Dockerfile.visualizer | 6 ++-- 3 files changed, 19 insertions(+), 24 deletions(-) diff --git a/.github/workflows/docker-build-and-push-arm64.yaml b/.github/workflows/docker-build-and-push-arm64.yaml index 75f1ec1998e..fe77110f24d 100644 --- a/.github/workflows/docker-build-and-push-arm64.yaml +++ b/.github/workflows/docker-build-and-push-arm64.yaml @@ -72,22 +72,21 @@ jobs: *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-main *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }},mode=max - # TODO: Uncomment once arm64 builds are FIXED - # - name: Build 'autoware-tools' - # uses: ./.github/actions/docker-build-and-push-tools - # with: - # platform: arm64 - # target-image: autoware-tools - # build-args: | - # *.platform=linux/arm64 - # *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} - # *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} - # *.args.AUTOWARE_BASE_IMAGE=${{ needs.load-env.outputs.autoware_base_image }} - # *.args.AUTOWARE_BASE_CUDA_IMAGE=${{ needs.load-env.outputs.autoware_base_cuda_image }} - # *.args.LIB_DIR=aarch64 - # *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }} - # *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-main - # *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }},mode=max + - name: Build 'autoware-tools' + uses: ./.github/actions/docker-build-and-push-tools + with: + platform: arm64 + target-image: autoware-tools + build-args: | + *.platform=linux/arm64 + *.args.ROS_DISTRO=${{ needs.load-env.outputs.rosdistro }} + *.args.BASE_IMAGE=${{ needs.load-env.outputs.base_image }} + *.args.AUTOWARE_BASE_IMAGE=${{ needs.load-env.outputs.autoware_base_image }} + *.args.AUTOWARE_BASE_CUDA_IMAGE=${{ needs.load-env.outputs.autoware_base_cuda_image }} + *.args.LIB_DIR=aarch64 + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }} + *.cache-from=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-main + *.cache-to=type=registry,ref=ghcr.io/${{ github.repository }}-buildcache:arm64-${{ github.ref_name }},mode=max - name: Show disk space if: always() diff --git a/docker/tools/scenario-simulator/Dockerfile.scenario-simulator b/docker/tools/scenario-simulator/Dockerfile.scenario-simulator index e17c3f08053..850164fe771 100644 --- a/docker/tools/scenario-simulator/Dockerfile.scenario-simulator +++ b/docker/tools/scenario-simulator/Dockerfile.scenario-simulator @@ -1,6 +1,5 @@ ### Builder -# TODO: Remove architecture specific image after arm64 builds are FIXED -FROM ghcr.io/autowarefoundation/autoware:universe-devel-amd64 AS builder +FROM ghcr.io/autowarefoundation/autoware:universe-devel AS builder SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR @@ -35,8 +34,7 @@ RUN /autoware/resolve_rosdep_keys.sh /autoware/src/simulator ${ROS_DISTRO} \ && cat /rosdep-simulator-depend-packages.txt ### Scenario Simulator -# TODO: Remove architecture specific image after arm64 builds are FIXED -FROM ghcr.io/autowarefoundation/autoware:universe-visualization-amd64 AS scenario-simulator +FROM ghcr.io/autowarefoundation/autoware:universe-visualization AS scenario-simulator SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR diff --git a/docker/tools/visualizer/Dockerfile.visualizer b/docker/tools/visualizer/Dockerfile.visualizer index 745f4fe3be4..a4b1961c337 100644 --- a/docker/tools/visualizer/Dockerfile.visualizer +++ b/docker/tools/visualizer/Dockerfile.visualizer @@ -1,8 +1,7 @@ # cspell:ignore openbox, VNC, tigervnc, novnc, websockify, newkey, xstartup, keyout ### Builder -# TODO: Remove architecture specific image after arm64 builds are working -FROM ghcr.io/autowarefoundation/autoware:universe-visualization-devel-amd64 AS builder +FROM ghcr.io/autowarefoundation/autoware:universe-visualization-devel AS builder SHELL ["/bin/bash", "-o", "pipefail", "-c"] ENV CCACHE_DIR="/root/.ccache" ARG ROS_DISTRO @@ -37,8 +36,7 @@ RUN source /opt/ros/"$ROS_DISTRO"/setup.bash && source /opt/autoware/setup.bash && cat /rosdep-visualizer-depend-packages.txt ### visualizer -# TODO: Remove architecture specific image after arm64 builds are working -FROM ghcr.io/autowarefoundation/autoware:universe-visualization-amd64 AS visualizer +FROM ghcr.io/autowarefoundation/autoware:universe-visualization AS visualizer SHELL ["/bin/bash", "-o", "pipefail", "-c"] ARG ROS_DISTRO ARG LIB_DIR