Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: sync upstream #43

Open
wants to merge 126 commits into
base: tier4/main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
126 commits
Select commit Hold shift + click to select a range
ca92b3a
feat(node_diagram): update map module (#440)
kminoda Aug 31, 2023
04321c9
docs(node diagram): add missing behavior_velocity modules and path_sm…
maxime-clem Sep 5, 2023
e60a547
fix: spell check error (#445)
isamu-takagi Sep 6, 2023
ca25071
docs(ad-api): add cooperation api (#276)
isamu-takagi Sep 6, 2023
8e6eeb2
chore(docs): fix typo in URL of MAP IV Engine (#451)
kminoda Sep 11, 2023
c5884b4
docs(node-diagram): add routing api (#450)
TakaHoribe Sep 12, 2023
5a054d1
docs: add documentation about ONNX models (#345)
esteve Sep 19, 2023
96bbb0c
docs(reference-hw): add tier iv camera (#457)
kaz0227 Sep 20, 2023
30cbbb4
docs: add updated artifacts for tensorrt_yolox (#456)
esteve Sep 20, 2023
b26eaff
docs: fix tier iv camera link (#458)
yukkysaito Sep 20, 2023
4273c49
docs(how-to-guides): add training docs for traffic light recognition …
kaancolak Sep 21, 2023
d4987f1
docs(how-to-guides): update sub title of training doc (#459)
kaancolak Sep 22, 2023
f0f1108
docs(tutorials): add link to manual artifacts downloading (#463)
lexavtanke Sep 26, 2023
130b4dc
docs(installation): add link to manual artifacts downloading instruct…
lexavtanke Sep 26, 2023
9b26e22
chore: add models to github pages (#468)
miursh Oct 24, 2023
ffa8491
docs: update reference design page (#452)
NilaySener Oct 27, 2023
23b81e6
docs: update LIO-SAM and vector map documentation (#465)
ismetatabay Nov 2, 2023
10f3ba7
ci(deploy-docs): update the bot label (#474)
xmfcx Nov 3, 2023
6c5d6d6
docs(sensing): update lidar data field requirement (#478)
KYabuuchi Nov 9, 2023
b360af4
feat: add split map tutorial (#477)
kminoda Nov 10, 2023
f235f49
chore: sync files (#475)
awf-autoware-bot[bot] Nov 15, 2023
95312b8
docs(ci-checks): add word registration guidelines for spell check (#481)
isamu-takagi Nov 16, 2023
1b0beb7
fix(docs): fix url for divided map (#479)
kminoda Nov 16, 2023
3a47480
chore(node_diagram): update perception and sensing pipeline (#482)
kminoda Nov 16, 2023
89b56e6
docs: update creating autoware repositories page (#446)
ismetatabay Nov 17, 2023
9643c40
docs: update creating vehicle and sensor model pages (#460)
ismetatabay Nov 17, 2023
cd0a23a
docs: update vehicle interface with some samples (#453)
ismetatabay Nov 17, 2023
7428185
docs: update sensor calibration documentation (#448)
ismetatabay Nov 17, 2023
4abe15c
docs(planning-design): update reference implementation diagram (#485)
TakaHoribe Nov 19, 2023
42c4467
docs(planning-design): add 'out_of_lane' to ref implementation diagra…
maxime-clem Nov 20, 2023
5e14d4b
fix: fix link in the introduction page (#467)
mitsudome-r Nov 22, 2023
f508499
docs: add perception design (#385)
miursh Nov 24, 2023
9832e6f
docs: gui documentation integration (#492)
KhalilSelyan Dec 1, 2023
5fe0b08
docs: update launch autoware documentation (#466)
ismetatabay Dec 1, 2023
4bcb74b
docs: add AWSIM integration page (#487)
ismetatabay Dec 1, 2023
111958f
docs(planning design): update high level design document (#494)
TakaHoribe Dec 6, 2023
e480fa1
docs(competitions): add new row for AI Challenge (simulation) to comp…
yhisaki Dec 7, 2023
b0cf4bb
docs: add perception interface page to pages list (#498)
Shin-kyoto Dec 7, 2023
c9b3193
docs: fix localization's input pointcloud (#491)
YamatoAndo Dec 8, 2023
913ba9a
docs: update the perception design document and the interface documen…
miursh Dec 8, 2023
bbaecd1
docs(pull-request-guidelines): add note of updating pull request bran…
isamu-takagi Dec 14, 2023
3d1e6ce
docs(localization): add note for non-NDT users (#496)
KYabuuchi Dec 18, 2023
b08fccb
fix(directory-structure): update reference url (#503)
isamu-takagi Dec 20, 2023
1cfd744
docs: add simple guidance for locating died process with gdb tool (#…
Tier4Guan Dec 29, 2023
712121a
docs: add lidar imu calibration (#483)
StepTurtle Jan 2, 2024
17d60b8
fix: file name typo (#504)
VRichardJP Jan 5, 2024
54092c2
fix(integrating autoware): fix the wrong name in creating sensor mode…
vividf Jan 9, 2024
f8aaf0e
docs(vehicle_interface): update the Vehicle Interface component page …
maxime-clem Jan 12, 2024
942188c
chore(node_diagram): update traffic light recognition nodes (#506)
miursh Jan 16, 2024
ec6d5b9
docs(tutorials): add pull-over and pull-out scenario in tutorials pag…
Ericpotato Jan 19, 2024
2989c8c
fix: !!! info notation correction (#512)
KhalilSelyan Jan 29, 2024
efec0c2
feat: improve ccache documentation with config (#519)
xmfcx Feb 14, 2024
95cf4b2
feat(design/autoware-architecture/sensing): add radar sensing documen…
scepter914 Feb 21, 2024
8ea5138
feat(design/autoware-architecture/perception): add radar perception d…
scepter914 Feb 21, 2024
70a2509
docs(ad-api): release v1.1.0 (#523)
isamu-takagi Feb 26, 2024
1484051
docs(map creation): update information (#524)
TakaHoribe Feb 28, 2024
22528bf
chore: update diagram related to ground_segmentation (#527)
badai-nguyen Mar 4, 2024
096dcb9
docs(node_diagram): change input pointcloud for localization in the n…
TaikiYamada4 Mar 4, 2024
3328020
docs(main_page): enrich front page (#526)
TakaHoribe Mar 6, 2024
e5d9d49
feat: add a explanation to set max velocity (#529)
takayuki5168 Mar 6, 2024
6f66399
docs(installation): update the installation instructions (#516)
oguzkaganozt Mar 6, 2024
0910215
docs(installation): fix run.sh documentation (#530)
oguzkaganozt Mar 7, 2024
deab0c3
docs(rosbag-replay-simulation): add warnings about timestamp discrepa…
ahmeddesokyebrahim Mar 12, 2024
a504e47
docs: add the carla simulator page under digital twin (#517)
evshary Mar 15, 2024
21a4a4b
docs: add pull over description for fail-safe doc (#461)
asana17 Mar 27, 2024
1c2a663
docs(ad-api): release v1.2.0 (#534)
isamu-takagi Apr 1, 2024
749668a
feat(ad-api): update planning factor types (#535)
isamu-takagi Apr 11, 2024
a1beccb
feat(adapi): add heartbeat api (#536)
isamu-takagi Apr 17, 2024
3c36fc2
chore(perception): update node diagram (#537)
badai-nguyen Apr 18, 2024
9cf4183
fix: warning for relative links (#538)
isamu-takagi Apr 23, 2024
12b94f1
docs(node-diagram): update traffic light recognition pipeline (#542)
mebasoglu Apr 26, 2024
72ba974
feat: add diagnostics api (#539)
isamu-takagi May 2, 2024
ab35100
fix: update manual installation instructions (#545)
xmfcx May 2, 2024
86aa0c3
feat: add code owners documentation (#546)
xmfcx May 2, 2024
293554b
feat: add awsim labs documentation reference (#541)
xmfcx May 2, 2024
a1720f4
feat: update the naming rules for directories and classes (#547)
xmfcx May 9, 2024
cefcc1a
feat: add coding guideline about topic message handling (#543)
ohsawa1204 May 17, 2024
a7325c6
fix: awsim-labs link (#554)
xmfcx May 23, 2024
0a2103f
feat(doc): add `--download-artifacts` option to docker-installation.m…
youtalk May 24, 2024
78a71d1
fix: to improve the readability of the documentation, unified the nam…
masahiro-kubota Jun 3, 2024
5d127e5
feat: update rosbag file for autoware_msgs (#563)
mitsudome-r Jun 4, 2024
53dc68c
feat: add ai pr review docs (#568)
xmfcx Jun 7, 2024
b772d90
fix: update perception pipeline node diagram (#570)
badai-nguyen Jun 12, 2024
85e54b0
docs(how-to-guides): add training docs for centerpoint (#471)
kaancolak Jun 13, 2024
b974712
feat: add the awsim labs comparison table (#567)
xmfcx Jun 16, 2024
9dd68f3
docs(ad-api): release adapi v1.3.0 (#559)
isamu-takagi Jun 17, 2024
752f452
feat(doc): revert "feat(doc): add `--download-artifacts` option to do…
youtalk Jun 24, 2024
0bcd252
feat(support-guidelines): update guidelines for Autoware community su…
xmfcx Jun 24, 2024
b0d4d3f
feat(ad-api): add routing api description (#555)
isamu-takagi Jun 26, 2024
120836d
fix(perception-architecture): correct a typo (#582)
sezan92 Jun 26, 2024
33964a8
docs: update Fixposition documentation (#566)
fixposition-support Jun 26, 2024
8073d57
fix: planning links (#583)
go-sakayori Jul 1, 2024
c13fb21
docs(ad-api): release adapi v1.4.0 (#572)
isamu-takagi Jul 4, 2024
00fa0c8
fix(topic-message-handling): correct the first sample code (#586)
takam5f2 Jul 9, 2024
490540b
feat: add vector map requirements (#581)
nisshan-x Jul 9, 2024
a776aef
docs(sensing): update pointcloud type information (#588)
drwnz Jul 11, 2024
040cb32
feat(doc): add guidance for developers about using autoware evaluator…
brkay54 Jul 12, 2024
064f63d
fix(directory-structure.md): update broken link (#590)
xmfcx Jul 16, 2024
7cd0261
feat: improve additional-settings-for-developers section (#587)
xmfcx Jul 17, 2024
d7a9d63
fix: update machine learning models download intructions (#589)
badai-nguyen Jul 23, 2024
d44e5e2
fix(rosbag-replay-simulation): fix link for gdown (#585)
mitsudome-r Jul 25, 2024
1200ceb
feat(ad-api): add route change api (#592)
isamu-takagi Jul 30, 2024
e610261
docs(installation): simplify run.sh commands (#551)
oguzkaganozt Aug 1, 2024
f93e489
docs(ad-api): release adapi v1.5.0 (#595)
isamu-takagi Aug 6, 2024
fb1fc8e
fix: update roi_cluster based diag (#600)
badai-nguyen Aug 20, 2024
3584a68
chore: add autoware_ prefix to the URL of gnss_poser (#601)
TaikiYamada4 Aug 30, 2024
9a1c6e9
chore(coding_guidelines): match the example to the actual autoware_gn…
TaikiYamada4 Sep 2, 2024
2f9b626
docs(contributing): update the coding guideline (#599)
Shin-kyoto Sep 2, 2024
e6b847d
fix: fix adapi usecase links (#604)
isamu-takagi Sep 2, 2024
a137762
fix: update github link for autoware prefix (#608)
N-Eiki Sep 9, 2024
6d70b4c
chore: add short description about imu in sensing architecture (#607)
TaikiYamada4 Sep 9, 2024
5a3d76c
feat: add autoware_rosbag2_anonymizer usage (#557)
StepTurtle Sep 10, 2024
50e3c41
docs: udpate the link of pointcloud_divider (#609)
YamatoAndo Sep 11, 2024
1df16fa
docs: add example robosense Bpearl launch (#605)
ismetatabay Sep 12, 2024
b42873b
fix: update github link of ndt_scan_matcher (#613)
a-maumau Sep 19, 2024
bdc4736
feat(source-installation): add manual instructions for the rviz theme…
xmfcx Sep 19, 2024
203e78a
fix: update github link (#614)
a-maumau Sep 20, 2024
02139fa
docs: add apt update/upgrade to workspace install/update instructions…
mojomex Sep 23, 2024
5be678b
chore: changed the package name imu_corrector to autoware_imu_correct…
knzo25 Sep 26, 2024
19abdbc
docs(awsim-tutorial): update the awsim labs comparison table (#619)
xmfcx Sep 26, 2024
934644b
feat: add Istanbul open dataset (#597)
ataparlar Oct 2, 2024
68ee545
feat: add localization evaluation (#611)
meliketanrikulu Oct 2, 2024
19888fc
feat: add informations on lane detection models (#560)
StepTurtle Oct 7, 2024
0f0019f
docs: added autoware_carla_interface package in carla tutorial (#593)
mraditya01 Oct 15, 2024
b9f53c6
feat(ad-api): add restrictions and options (#602)
isamu-takagi Oct 23, 2024
54379ae
docs: fix `architecture_type` for scenario_simulator_v2 (#610)
HansRobo Oct 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 3 additions & 0 deletions .cspell.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"words": ["ISCLOAM", "georeferenced", "MGRS"]
}
4 changes: 2 additions & 2 deletions .github/dependabot.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ updates:
interval: daily
open-pull-requests-limit: 1
labels:
- bot
- github-actions
- tag:bot
- type:github-actions
2 changes: 1 addition & 1 deletion .github/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
daysUntilClose: false

# Label to use when marking as stale
staleLabel: stale
staleLabel: status:stale

# Comment to post when marking as stale
markComment: >
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy-docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
prevent-no-label-execution:
uses: autowarefoundation/autoware-github-actions/.github/workflows/prevent-no-label-execution.yaml@v1
with:
label: deploy-docs
label: tag:deploy-docs

deploy-docs:
needs: prevent-no-label-execution
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/github-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
echo "tag-name=${REF_NAME#beta/}" >> $GITHUB_OUTPUT

- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ steps.set-tag-name.outputs.ref-name }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pre-commit-optional.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pre-commit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
private_key: ${{ secrets.PRIVATE_KEY }}

- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/spell-check-differential.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Run spell-check
uses: autowarefoundation/autoware-github-actions/spell-check@v1
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/sync-files.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@ jobs:
with:
token: ${{ steps.generate-token.outputs.token }}
pr-labels: |
bot
sync-files
tag:bot
tag:sync-files
auto-merge-method: squash
1 change: 1 addition & 0 deletions .markdownlint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ MD024:
siblings_only: true
MD029:
style: ordered
MD030: false
MD033: false
MD041: false
MD046: false
Expand Down
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
# Autoware documentation

- This repository contains the [MkDocs](https://www.mkdocs.org/) source files for the [Autoware documentation hosted on GitHub Pages](https://autowarefoundation.github.io/autoware-documentation/main/).
- Since Autoware is made up of [multiple repositories](https://github.com/autowarefoundation/), a central documentation repository is important to make information accessible from a single place.
Welcome to the Autoware Documentation! This repository is specifically designed to manage the source files for Autoware's documentation. If you wish to access the actual documentation, please visit [this link](https://autowarefoundation.github.io/autoware-documentation/main/).

![autoware_front_image](docs/assets/images/autoware_front_image.png)

## Notation

- This source is deployed using [MKDocs](https://www.mkdocs.org/).
- Autoware consists of [multiple repositories](https://github.com/autowarefoundation/), and this documentation serves as a central hub to access information from each of them.
- For more information about Autoware and its related repositories, refer to the [Autoware Foundation's organization profile](https://github.com/autowarefoundation/.github/blob/main/profile/README.md).

## Contributions
Expand Down
1 change: 1 addition & 0 deletions docs/.pages
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@ nav:
- Reference HW: reference-hw
- contributing
- datasets
- models
- support
- Competitions: autoware-competitions
Binary file added docs/assets/images/autoware_front_image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 5 additions & 4 deletions docs/autoware-competitions/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@

This page is a collection of the links to the competitions that are related to the Autoware Foundation.

| Title | Status | Description |
| :-----------------------------------------------------------: | :-----: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <img src="images/autoware_challenge_2023.png" width = 640px > | Ongoing | **[Autoware / TIER IV Challenge 2023](https://autoware.org/autoware-challenge-2023)** <br> **Date:** May 15, 2023 - Nov. 1st, 2023 <br><br> As one of the main contributors of Autoware, TIER IV has been facing many difficult challenges through development, and TIER IV would like to sponsor a challenge to solve such engineering challenges. Any researchers, students, individuals or organizations are welcome to participate and submit their solution to any of the challenges we propose. |
| <img src="images/ai_challenge_2023.png" width = 640px > | Ongoing | **[Japan Automotive AI Challenge 2023](https://www.jsae.or.jp/jaaic/)** <br> **Registration:** June 5, 2023 - July 14, 2023 <br>**Qualifiers:** July 3, 2023 - Aug. 31, 2023 <br>**Finals:** Nov. 12, 2023<br><br> In this competition, we focus on challenging tasks posed by autonomous driving in factory environments and aim to develop Autoware-based AD software that can overcome them. The qualifiers use the [digital twin autonomous driving simulator AWSIM](https://tier4.github.io/AWSIM/) to complete specific tasks within a virtual environment. Teams that make it to the finals have the opportunity to run their software on actual vehicles in a test course in Japan. |
| Title | Status | Description |
| :-----------------------------------------------------------: | :------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <img src="images/autoware_challenge_2023.png" width = 640px > | Ongoing | **[Autoware / TIER IV Challenge 2023](https://autoware.org/autoware-challenge-2023)** <br> **Date:** May 15, 2023 - Nov. 1st, 2023 <br><br> As one of the main contributors of Autoware, TIER IV has been facing many difficult challenges through development, and TIER IV would like to sponsor a challenge to solve such engineering challenges. Any researchers, students, individuals or organizations are welcome to participate and submit their solution to any of the challenges we propose. |
| <img src="images/ai_challenge_2023.png" width = 640px > | Finished | **[Japan Automotive AI Challenge 2023 (Integration)](https://www.jsae.or.jp/jaaic/2023_summary.php)** <br> **Registration:** June 5, 2023 - July 14, 2023 <br>**Qualifiers:** July 3, 2023 - Aug. 31, 2023 <br>**Finals:** Nov. 12, 2023<br><br> In this competition, we focus on challenging tasks posed by autonomous driving in factory environments and aim to develop Autoware-based AD software that can overcome them. The qualifiers use the [digital twin autonomous driving simulator AWSIM](https://tier4.github.io/AWSIM/) to complete specific tasks within a virtual environment. Teams that make it to the finals have the opportunity to run their software on actual vehicles in a test course in Japan. |
| <img src="images/ai_challenge2023-racing.jpg" width = 640px > | Ongoing | **[Japan Automotive AI Challenge 2023 (Simulation)](https://www.jsae.or.jp/jaaic/2023_simulation.php)** <br> **Registration:** Nov 6, 2023 - Dec 28, 2023 <br>**Date:** Dec 4, 2023 - Jan. 31, 2024 <br><br> This contest is a software development contest with a motorsports theme. Participants will develop autonomous driving software based on [Autoware.Universe](https://github.com/autowarefoundation/autoware.universe), and integrate it into a racing car that runs in the End to End simulation space (AWSIM). The goal is simple, win the race while driving safely! |

## Proposing New Competition

Expand Down
23 changes: 23 additions & 0 deletions docs/contributing/coding-guidelines/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,29 @@ Also, keep in mind the following concepts.

- Keep things consistent.
- Automate where possible, using simple checks for formatting, syntax, etc.
- Write comments and documentation in English.
- Functions that are too complex (low cohesion) should be appropriately split into smaller functions (e.g. less than 40 lines in one function is recommended in the [google style guideline](https://google.github.io/styleguide/cppguide.html#Write_Short_Functions)).
- Try to minimize the use of member variables or global variables that have a large scope.
- Whenever possible, break large pull requests into smaller, manageable PRs (less than 200 lines of change is recommended in some research e.g. [here](https://opensource.com/article/18/6/anatomy-perfect-pull-request)).
- When it comes to code reviews, don't spend too much time on trivial disagreements. For details see:
- <https://en.wikipedia.org/wiki/Law_of_triviality>
- <https://steemit.com/programming/@emrebeyler/code-reviews-and-parkinson-s-law-of-triviality>
- Please follow the guidelines for each language.
- [C++](./languages/cpp.md)
- [Python](./languages/python.md)
- [Shell script](./languages/shell-scripts.md)

## Autoware Style Guide

For Autoware-specific styles, refer to the following:

- Use the `autoware_` prefix for package names.
- cf. [Directory structure guideline, Package name](./ros-nodes/directory-structure.md#package-name)
- cf. [Prefix packages with autoware\_](https://github.com/orgs/autowarefoundation/discussions/4097)
- Add implementations within the `autoware` namespace.
- cf. [Class design guideline, Namespaces](./ros-nodes/class-design.md#namespaces)
- cf. [Prefix packages with autoware\_, Option 3:](https://github.com/orgs/autowarefoundation/discussions/4097#discussioncomment-8384169)
- The header files to be exported must be placed in the `PACKAGE_NAME/include/autoware/` directory.
- cf. [Directory structure guideline, Exporting headers](./ros-nodes/directory-structure.md#exporting-headers)
- In `CMakeLists.txt`, use `autoware_package()`.
- cf. [autoware_cmake README](https://github.com/autowarefoundation/autoware_cmake/tree/main/autoware_cmake)
23 changes: 23 additions & 0 deletions docs/contributing/coding-guidelines/languages/cpp.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,3 +202,26 @@ constexpr double gravity = 9.80665;
class RosApi;
RosApi ros_api;
```

### Do not use the auto keywords with Eigen's expressions (required)

#### Rationale

- Avoid using auto with `Eigen::Matrix` or `Eigen::Vector` variables, as it can lead to bugs.

#### Reference

- [Eigen, C++11 and the auto keyword](https://eigen.tuxfamily.org/dox/TopicPitfalls.html)

### Use RCLCPP\_\* (e.g. RCLCPP_INFO) macros instead of printf or std::cout for logging (required)

#### Rationale

- Reasons include the following:
- It allows for consistent log level management. For instance, with RCLCPP\_\* macros, you can simply set --log_level to adjust the log level uniformly across the application.
- You can standardize the format using RCUTILS_CONSOLE_OUTPUT_FORMAT.
- With RCLCPP\_\* macros, logs are automatically recorded to /rosout. These logs can be saved to a rosbag, which can then be replayed to review the log data.

#### Reference

- [Autoware Documentation for Console logging in ROS Node](../ros-nodes/console-logging.md)
1 change: 1 addition & 0 deletions docs/contributing/coding-guidelines/ros-nodes/.pages
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ nav:
- parameters.md
- task-scheduling.md
- topic-namespaces.md
- topic-message-handling
63 changes: 63 additions & 0 deletions docs/contributing/coding-guidelines/ros-nodes/class-design.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,68 @@
# Class design

We'll use the `autoware_gnss_poser` package as an example.

## Namespaces

```cpp
namespace autoware::gnss_poser
{
...
} // namespace autoware::gnss_poser
```

- Everything should be under `autoware::gnss_poser` namespace.
- Closing braces must contain a comment with the namespace name. (Automated with `cpplint`)

## Classes

### Nodes

#### `gnss_poser_node.hpp`

```cpp
class GNSSPoser : public rclcpp::Node
{
public:
explicit GNSSPoser(const rclcpp::NodeOptions & node_options);
...
}
```

#### `gnss_poser_node.cpp`

```cpp
GNSSPoser::GNSSPoser(const rclcpp::NodeOptions & node_options)
: Node("gnss_poser", node_options)
{
...
}
```

- The class name should be in `CamelCase`.
- Node classes should inherit from `rclcpp::Node`.
- The constructor must be marked be explicit.
- The constructor must take `rclcpp::NodeOptions` as an argument.
- Default node name:
- should not have `autoware_` prefix.
- should **NOT** have `_node` suffix.
- **Rationale:** Node names are useful in the runtime. And output of `ros2 node list` will show only nodes anyway. Having `_node` is redundant.
- **Example:** `gnss_poser`.

##### Component registration

```cpp
...
} // namespace autoware::gnss_poser

#include <rclcpp_components/register_node_macro.hpp>
RCLCPP_COMPONENTS_REGISTER_NODE(autoware::gnss_poser::GNSSPoser)
```

- The component should be registered at the end of the `gnss_poser_node.cpp` file, outside the namespaces.

### Libraries

!!! warning

Under Construction
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,10 @@ References:

1. Calibration of sensor

The conversion relationship between every sensor coordinate system and `base_link` can be obtained through sensor calibration technology. How to calibrating your sensors refer to this link [calibrating your sensors](../../../how-to-guides/integrating-autoware/creating-vehicle-and-sensor-description/calibrating-sensors.md).
The conversion relationship between every sensor coordinate system and `base_link` can be obtained through sensor calibration technology.
Please consult the following link
[calibrating your sensors](../../../how-to-guides/integrating-autoware/creating-vehicle-and-sensor-model/calibrating-sensors/index.md) for instructions
on how to calibrate your sensors.

2. Localization

Expand Down
Loading
Loading