Merge pull request #12 from tlab-wide/feat/make-docs

Feat/make docs
This commit is contained in:
Yu Asabe 2022-10-04 15:28:48 +09:00 committed by GitHub
commit 1acfb6ca28
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 2837 additions and 1 deletions

4
.gitignore vendored
View File

@ -1 +1,3 @@
db/*.db db/*.db
doxygen/html/
site/

2579
Doxyfile Normal file

File diff suppressed because it is too large Load Diff

7
docs/.pages Normal file
View File

@ -0,0 +1,7 @@
nav:
- Introduction: index.md
- installation
- tutorials
- how-to-guides
- design
- support

View File

2
docs/design/.pages Normal file
View File

@ -0,0 +1,2 @@
nav:
- index.md

View File

1
docs/design/index.md Normal file
View File

@ -0,0 +1 @@
# Design

View File

@ -0,0 +1,2 @@
nav:
- index.md

View File

@ -0,0 +1 @@
# How-to-guides

16
docs/index.md Normal file
View File

@ -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.

3
docs/installation/.pages Normal file
View File

@ -0,0 +1,3 @@
nav:
- index.md
- docker-installation.md

View File

@ -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
```

View File

@ -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
```

2
docs/support/.pages Normal file
View File

@ -0,0 +1,2 @@
nav:
- index.md

3
docs/support/index.md Normal file
View File

@ -0,0 +1,3 @@
# Support
- Contact: yuasabe[at]hongo.wide.ad.jp

2
docs/tutorials/.pages Normal file
View File

@ -0,0 +1,2 @@
nav:
- index.md

18
docs/tutorials/index.md Normal file
View File

@ -0,0 +1,18 @@
# 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.
## Using CPM in a simulation-based environment
1. Create Docker networks
```
$ docker network create --driver=bridge --subnet=10.0.0.0/16 v2x_net -o com.docker.network.bridge.name="v2x_net"
```
# Launch Autoware container
rocker --nvidia --x11 --user --volume $HOME/autoware_docker --volume $HOME/autoware_map -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda
$ cd autoware_docker
$ . install/setup.bash
$ ros2 launch autoware_v2x v2x.launch.xml network_interface:=eth1
```

67
mkdocs.yml Normal file
View File

@ -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