3.1 KiB
Project Overview
This repository contains the container and supporting files used by the LENA autonomous vehicle project. It packages the Exwayz 3D Mapping / SLAM executables into a Docker image that can run as part of the vehicle microservices stack.
Repository Contents
exwayz_test.dockerfile: Dockerfile used to build the container image for testing and integration.- **
src/**: all code that we have written which runs on the container. tmp/data/: sample data includingexwayz_sample_data_slam_01.bagused for demonstrations and tests. Download this from the link to their google drive on the Exwayz docs sitemedia/: screenshots and demos (GIFs) used in documentation.licenses/: licensing information for included components.
Contributing
Please open issues or PRs for fixes and improvements. If you work on vehicle deployment or CI, include small, testable changes and document any required secrets or hardware assumptions.
Quick Start
Build the image (from the repository root):
docker build -f exwayz_test.dockerfile -t exwayz_test:latest .
Run the container (example; adjust mounts and environment for your platform):
# Example (PowerShell on systems with X11 forwarding available)
docker run -it --rm \
--env="DISPLAY=$env:DISPLAY" \
--env="QT_X11_NO_MITSHM=1" \
--volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
-v "${PWD}:/app" \
exwayz_test:latest
On POSIX shells use $DISPLAY and $(pwd) as usual.
Run the Exwayz SLAM pipeline against the sample bag inside the container (example):
exwayz_slam --bag tmp/data/exwayz_sample_data_slam_01.bag \
--bag-hesai /hesai/pandar_packets \
--hesai-model PandarXT-32 \
--d-write 0.1 -o ./slam_session_tutorial --no-date
Adjust paths and model names to match your sensor and bag file layout.
Status
- Docker image: mostly working for local testing.
- Secrets: currently not included in the image; build-time and runtime secrets need secure handling (see TODOs).
- Target: this repo should evolve into the deploy-and-run repo for vehicle microservices.
Todos
- Prototype Docker Image: Get a prototype docker image working and run their demos.
- Refine README: polish documentation and examples (in progress).
- Fix Cross Compiling: Cross compiling failing for aarch64.
- Secrets Handling: implement secure secret injection for builds and runtime (Docker BuildKit, secret manager, or CI secrets).
- Standardized Scripts: add
build_image.ps1andrun_container.ps1(and POSIX equivalents) to standardize workflows. - CI Build: add GitHub Actions workflow equivalent to Gitea to build (and optionally scan) images on push/PR.
- Vehicle Deployment Guide: document runtime flags, service templates, and health-checks for deployment on the vehicle.
- Integration Test: add tests that run the pipeline against
tmp/data/exwayz_sample_data_slam_01.bagto detect regressions.