From 97defc78ec7640f7cc21b45809039e63d7d981eb Mon Sep 17 00:00:00 2001 From: Yu Asabe Date: Tue, 4 Oct 2022 13:36:54 +0900 Subject: [PATCH] Add documentation --- docs/.pages | 7 +++ docs/about/document-build.md | 0 docs/design/.pages | 2 + docs/design/architecture.md | 0 docs/design/index.md | 1 + docs/how-to-guides/.pages | 2 + docs/how-to-guides/index.md | 1 + docs/index.md | 16 ++++++ docs/installation/.pages | 3 ++ docs/installation/docker-installation.md | 63 ++++++++++++++++++++++ docs/installation/index.md | 68 ++++++++++++++++++++++++ docs/support/.pages | 2 + docs/support/index.md | 3 ++ docs/tutorials/.pages | 2 + docs/tutorials/index.md | 4 ++ mkdocs.yml | 67 +++++++++++++++++++++++ 16 files changed, 241 insertions(+) create mode 100644 docs/.pages create mode 100644 docs/about/document-build.md create mode 100644 docs/design/.pages create mode 100644 docs/design/architecture.md create mode 100644 docs/design/index.md create mode 100644 docs/how-to-guides/.pages create mode 100644 docs/how-to-guides/index.md create mode 100644 docs/index.md create mode 100644 docs/installation/.pages create mode 100644 docs/installation/docker-installation.md create mode 100644 docs/installation/index.md create mode 100644 docs/support/.pages create mode 100644 docs/support/index.md create mode 100644 docs/tutorials/.pages create mode 100644 docs/tutorials/index.md create mode 100644 mkdocs.yml diff --git a/docs/.pages b/docs/.pages new file mode 100644 index 0000000..5b56c8e --- /dev/null +++ b/docs/.pages @@ -0,0 +1,7 @@ +nav: + - Introduction: index.md + - installation + - tutorials + - how-to-guides + - design + - support \ No newline at end of file diff --git a/docs/about/document-build.md b/docs/about/document-build.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/design/.pages b/docs/design/.pages new file mode 100644 index 0000000..2132a6d --- /dev/null +++ b/docs/design/.pages @@ -0,0 +1,2 @@ +nav: + - index.md \ No newline at end of file diff --git a/docs/design/architecture.md b/docs/design/architecture.md new file mode 100644 index 0000000..e69de29 diff --git a/docs/design/index.md b/docs/design/index.md new file mode 100644 index 0000000..f936956 --- /dev/null +++ b/docs/design/index.md @@ -0,0 +1 @@ +# Design \ No newline at end of file diff --git a/docs/how-to-guides/.pages b/docs/how-to-guides/.pages new file mode 100644 index 0000000..2132a6d --- /dev/null +++ b/docs/how-to-guides/.pages @@ -0,0 +1,2 @@ +nav: + - index.md \ No newline at end of file diff --git a/docs/how-to-guides/index.md b/docs/how-to-guides/index.md new file mode 100644 index 0000000..77f9949 --- /dev/null +++ b/docs/how-to-guides/index.md @@ -0,0 +1 @@ +# How-to-guides \ No newline at end of file diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..630fd2e --- /dev/null +++ b/docs/index.md @@ -0,0 +1,16 @@ +# AutowareV2X Documentation + +## About AutowareV2X + +AutowareV2X is an open-source module that can be added onto the newest [Autoware.universe](https://github.com/autowarefoundation/autoware) to enable V2X communication. + +It utilizes [Vanetza](https://github.com/riebl/vanetza) as the protocol suite for ETSI C-ITS standards. + +We have also provided a working example of a CPM application, where Collective Perception Messages can be used to exchange perception information in Autoware. + +## Getting started + +- [Installation](/installation) pages explain the installation steps of AutowareV2X and its prerequisites. +- [Tutorials](/tutorials) pages provide several tutorials to follow after installation. +- [Design](/design) pages explain the design concept and architecture of AutowareV2X. +- [Support](/support) pages are the place to go if you need additional help. \ No newline at end of file diff --git a/docs/installation/.pages b/docs/installation/.pages new file mode 100644 index 0000000..cb74eee --- /dev/null +++ b/docs/installation/.pages @@ -0,0 +1,3 @@ +nav: + - index.md + - docker-installation.md \ No newline at end of file diff --git a/docs/installation/docker-installation.md b/docs/installation/docker-installation.md new file mode 100644 index 0000000..a531cac --- /dev/null +++ b/docs/installation/docker-installation.md @@ -0,0 +1,63 @@ +# Docker Installation + +In order to run the simulations explained in the [Tutorials](/tutorials) section, you will need to proceed with the Docker installation. + +## Installing Autoware (Docker version) + +For the newest documentation for the Docker installation of Autoware, see their [official documentation](https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/docker-installation/). + +In a nutshell, the following commands should work: + +```bash +git clone https://github.com/autowarefoundation/autoware.git autoware_docker +cd autoware_docker + +# Install dependencies using Ansible +./setup-dev-env.sh docker + +# Make directory to store maps +mkdir ~/autoware_map + +# Launch Autoware container +rocker --nvidia --x11 --user --volume $HOME/autoware_docker --volume $HOME/autoware_map -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda +``` + +## Adding AutowareV2X + +From here, run commands inside the container. + +1. Move into `autoware_docker` directory. +```bash +cd autoware_docker +``` + +2. Edit the `autoware.repos` file and add the following two repositories to the end. +``` +v2x/autoware_v2x: + type: git + url: git@github.com:tlab-wide/autoware_v2x.git + version: main +v2x/vanetza: + type: git + url: git@github.com:tlab-wide/vanetza.git + version: socktap-cpm-tr103562 + +``` + +3. Update the repository +``` +vcs import src < autoware.repos +vcs pull src +``` + +4. Install dependent ROS packages +```bash +sudo apt update +rosdep update +rosdep install --from-paths . --ignore-src --rosdistro $ROS_DISTRO +``` + +5. Build the workspace +``` +colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release +``` diff --git a/docs/installation/index.md b/docs/installation/index.md new file mode 100644 index 0000000..c3c1652 --- /dev/null +++ b/docs/installation/index.md @@ -0,0 +1,68 @@ +# Installing AutowareV2X + +AutowareV2X is used as an add-on module to the open-source autonomous driving stack called [Autoware](https://autowarefoundation.github.io/autoware-documentation/main/). Therefore, in order to properly use AutowareV2X, Autoware must first be installed on the system. + +## Prerequisites + +- OS + - Ubuntu 20.04 + - Ubuntu 22.04 +- ROS + - ROS2 Galactic + +## Installing Autoware + +Refer to the [Official Autoware Documentation](https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/source-installation/) for the newest installation procedures. In a nutshell, you can run the following commands: + +```bash +# Clone repository +git clone https://github.com/autowarefoundation/autoware.git +cd autoware + +# Install dependencies using Ansible +./setup-dev-env.sh + +# Use vcstool to import more repositories +mkdir src +vcs import src < autoware.repos + +# Install dependent ROS packages +source /opt/ros/galactic/setup.bash +rosdep update +rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO + +# Build the workspace +colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release +``` + +## Adding AutowareV2X + +1. Edit the `autoware.repos` file and add the following two repositories to the end. +``` +v2x/autoware_v2x: + type: git + url: git@github.com:tlab-wide/autoware_v2x.git + version: main +v2x/vanetza: + type: git + url: git@github.com:tlab-wide/vanetza.git + version: socktap-cpm-tr103562 + +``` + +2. Update the repository +``` +vcs import src < autoware.repos +vcs pull src +``` + +3. Install dependent ROS packages +```bash +source /opt/ros/galactic/setup.bash +rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO +``` + +4. Build the workspace +``` +colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release +``` diff --git a/docs/support/.pages b/docs/support/.pages new file mode 100644 index 0000000..2132a6d --- /dev/null +++ b/docs/support/.pages @@ -0,0 +1,2 @@ +nav: + - index.md \ No newline at end of file diff --git a/docs/support/index.md b/docs/support/index.md new file mode 100644 index 0000000..b2bf1b0 --- /dev/null +++ b/docs/support/index.md @@ -0,0 +1,3 @@ +# Support + +- Contact: yuasabe[at]hongo.wide.ad.jp \ No newline at end of file diff --git a/docs/tutorials/.pages b/docs/tutorials/.pages new file mode 100644 index 0000000..2132a6d --- /dev/null +++ b/docs/tutorials/.pages @@ -0,0 +1,2 @@ +nav: + - index.md \ No newline at end of file diff --git a/docs/tutorials/index.md b/docs/tutorials/index.md new file mode 100644 index 0000000..0730953 --- /dev/null +++ b/docs/tutorials/index.md @@ -0,0 +1,4 @@ +# Tutorials + +Simulations can be an easy way of verifying the functionality of AutowareV2X before an actual field test. +Here, since we want to test both the sending and receiving of information through AutowareV2X, we will need at least two AutowareV2X instances. For this, we will use a Docker-based environment. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..747fe8e --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,67 @@ +site_name: AutowareV2X +theme: + name: material + features: + - navigation.expand + - navigation.indexes + - navigation.instant + - navigation.sections + - navigation.tabs + - navigation.tabs.sticky + - navigation.top + palette: + - scheme: default + primary: white + toggle: + icon: material/weather-sunny + name: Switch to dark mode + - scheme: slate + primary: grey + toggle: + icon: material/weather-night + name: Switch to light mode + language: en + +extra: + font: + text: Roboto + code: Roboto Mono + version: + provider: mike + +extra_css: + - https://use.fontawesome.com/releases/v5.15.4/css/all.css + +extra_javascript: + - https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML + +plugins: + - awesome-pages + - search + +markdown_extensions: + - abbr + - admonition + - attr_list + - codehilite: + guess_lang: false + - fontawesome_markdown + - footnotes + - mdx_math + - plantuml_markdown: + server: http://www.plantuml.com/plantuml + format: svg + - pymdownx.arithmatex + - pymdownx.details + - pymdownx.highlight + - pymdownx.snippets: + auto_append: + - includes/abbreviations.md + - pymdownx.superfences: + custom_fences: + - name: mermaid + class: mermaid + format: !!python/name:pymdownx.superfences.fence_code_format + - toc: + permalink: "#" + toc_depth: 3 \ No newline at end of file