From 50bfa888818bda6f5f5f17c77847a6eec2e85518 Mon Sep 17 00:00:00 2001 From: TaikiYamada4 Date: Tue, 26 Nov 2024 18:17:45 +0900 Subject: [PATCH 01/10] Added a document how_to_contribute.md to lanelet2_map_validator Signed-off-by: TaikiYamada4 --- .../docs/how_to_contribute.md | 106 ++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 map/autoware_lanelet2_map_validator/docs/how_to_contribute.md diff --git a/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md b/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md new file mode 100644 index 00000000..66ab59cf --- /dev/null +++ b/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md @@ -0,0 +1,106 @@ +# How to contribute to `autoware_lanelet2_map_validator` + +Your contribution is welcome to achieve a broad view of validation for lanelet2 maps. +This document gives you the instructions on how to add a validator to `autoware_lanelet2_map_validator`. +Please take a look at the [Design Concept](#design-concept) and follow the [Contribution Guide](#contribution-guide). + +## Design Concept + +The main goal of `autoware_lanelet2_map_validator` is to validate whether the lanelet2 map matches the vector map requirements for Autoware. +`autoware_lanelet2_map_validator` achieves this by running a list of small validators. Each vector map requirement will be validated by one or more validators. It is recommended to keep validators small and they don't have to be unique to a specific requirement so that we can broaden the map requirements. (It doesn't mean that a validator should output only one kind of error!) + +The list of small validators will be defined as a JSON file (see [`autoware_requirement_set.json`](../autoware_requirement_set.json) for an example), and the output will also be a JSON file that appends validation results to a copy of the input. See [How to use `autoware_lanelet2_map_validator`](../README.md/#how-to-use) for further information about how the input and output are processed. + +Please note that the validators are categorized according to [the vector map requirements written in the Autoware Documentation](https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/map/map-requirements/vector-map-requirements-overview/). If there are any suggestions for new categories please let the pull request (PR) reviewers know. The available categories as of now are + +- Lane +- Stop line +- Intersection +- Traffic light +- Crosswalk +- Area +- Others + +## Contribution Guide + +This section is aimed for contributers who want to add their own validators. If you want to change the basis process of `autoware_lanelet2_map_validator`, please open a PR and discuss with the maintainers. + +### 1. Implement your validator + +`autoware_lanelet2_map_validator` is based on the [Lanelet2 library provided by fzi-forschungszentrum-informatik](https://github.com/fzi-forschungszentrum-informatik/Lanelet2). Contributers are encouraged to make their validators by following the class structure shown in [`validator_template.cpp`](../src/validators/validator_template.cpp) and [`validator_template.hpp`](../src/validators/validator_template.hpp). Looking into other implementations also might be helpful. + +#### Restrictions for path structure + +- The source file (`.cpp`) must belong to `src/validators/\/` +- Avoid source file names that is same to the one in other categories. +- The header file (`.hpp`) must belong to `src/include/lanelet2_map_validator/validators/\/` +- Currently, there are no naming rules for source and header files, but the pair of source and header files should have the same name. + +#### Restrictions for validator class implementation + +- Define the name of the validator in the header file (`.hpp` file). + - The name must follow the structure `aaa.bbb.ccc` + - The first part (`aaa`) must be either `mapping`, `routing` or `rule` + - The second part (`bbb`) should be either `general`, `lane`, `stop_line`, `intersection`, `traffic_light`, `crosswalk`, `area`, `others`. + - The third part can be anything unless it is hard to recognize the validators feature. + - The issue code of the validator will be generated by this name. It removes the first part of the name, converts it to an upper snake case, and adds a number for classification. (e. g. `Bbb.Ccc-001`) +- Write your implementation in the `operator()` function that outputs a [Issues (a.k.a vector\) object](https://github.com/fzi-forschungszentrum-informatik/Lanelet2/blob/master/lanelet2_validation/include/lanelet2_validation/Issue.h). Not all of the implementation has to be written in the operator that you can privately define and use functions in your validator class. +- Since `autoware_lanelet2_map_validator` is made to output issue codes, please add an issue code prefix with square brackets on top of your issue message. + - You may use the `issue_code_prefix` function to generate the issue code prefix. + - Even the validator only detects a single type of issue, please include the number `001` to your issue code. + - The issue code must correspond to the issue message one-to-one. +- Currently, there are no rules to decide the severity of the issue. If you're not confident to your severity decisions please discuss with your PR reviewers. +- Other coding rules are mentioned in the [Autoware Documentation](https://autowarefoundation.github.io/autoware-documentation/main/contributing/). However, this coding rule doesn't hold if it conflicts with the Lanelet2 library. + +### 2. Write a test code + +Contributors must also provide test codes to ensure your validator is working properly and be able to be tested again when changes occur to the validator in the future. + +#### Restrictions for path structure + +- The source code (`.cpp`) must belong to `test/src/`. + - The test codes are not categorized because there are few codes, but might be categorized in the future. +- The source code name should be `test_.cpp` +- The maps (`.osm`) for testing must belong to `test/data/map/\/` +- The JSON files (`.json`) for testing must belong to `test/data/json/` + +#### Restrictions for test code implementation + +- Tests should be executable by `colcon test`. It is strongly recommended to use the [gtest (googletest) format](https://github.com/google/googletest). +- If possible, inherit the `MapValidationTester` class for common map loading process. +- The test code must contain the follwing. + - A test function that checks whether the validator is available. + - A test function for each unique issue the validator can detect. It is recommended to create a small lanelet2 map for each unique issue. + - In this test, please also check that the issue code is emitted as it is expected. + - A test function that no issues occur when validating `test/data/map/sample_map.osm`. If `sample_map.osm` violates the validation or doesn't contain the primitive to validate, please fix or add the primitives to it. + +### 3. Test the entire validator + +Please check that the `autoware_lanelet2_map_validator` works perfectly. + +1. Execute `colcon test --packages-select autoware_lanelet2_map_validator --event-handlers console_cohesion+` and confirm that all tests have passed. +2. Execute the following command and confirm that no issues appear. + +```bash +ros2 run autoware_lanelet2_map_validator autoware_lanelet2_map_validator -p mgrs -m -i -o ./ +``` + +### 4. Write a document + +Contributors must leave a document to explain what the validator can do. +The document must explain the following. + +- The validator name (The one written in the header file (`.hpp`)) +- Feature of the validator +- In which source code the validator is implemented. +- A table of issues that the validator can detect. The following details are required. + - Issue Code + - Message + - Severity + - Primitive + - Description of the issue + - Approach to fix the issue + +### 5. Create a pull request + +Create a pull request to the [autowarefoundation/autoware_tools](https://github.com/autowarefoundation/autoware_tools) repository. From d64d24bfab1155b0451fb29f20e3f1b341d1a129 Mon Sep 17 00:00:00 2001 From: TaikiYamada4 Date: Wed, 27 Nov 2024 11:47:35 +0900 Subject: [PATCH 02/10] Added information about CMakeLists in tests. Signed-off-by: TaikiYamada4 --- map/autoware_lanelet2_map_validator/docs/how_to_contribute.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md b/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md index 66ab59cf..9c2fdc67 100644 --- a/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md +++ b/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md @@ -73,6 +73,8 @@ Contributors must also provide test codes to ensure your validator is working pr - A test function for each unique issue the validator can detect. It is recommended to create a small lanelet2 map for each unique issue. - In this test, please also check that the issue code is emitted as it is expected. - A test function that no issues occur when validating `test/data/map/sample_map.osm`. If `sample_map.osm` violates the validation or doesn't contain the primitive to validate, please fix or add the primitives to it. +- Add the test codes to `CMakeLists.txt` using the `add_validation_test` function. + - Currently we have to add this part to `CMakeLists.txt` by hand. Automation is expected in the future. ### 3. Test the entire validator From e521c429e2e125f726f2b3202d24f4d1b647921c Mon Sep 17 00:00:00 2001 From: TaikiYamada4 Date: Wed, 27 Nov 2024 17:58:28 +0900 Subject: [PATCH 03/10] Added figure illustrating the input output Signed-off-by: TaikiYamada4 --- .../docs/how_to_contribute.md | 2 + .../autoware_lanelet2_map_validator_io.svg | 385 ++++++++++++++++++ 2 files changed, 387 insertions(+) create mode 100644 map/autoware_lanelet2_map_validator/media/autoware_lanelet2_map_validator_io.svg diff --git a/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md b/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md index 9c2fdc67..0ce7996a 100644 --- a/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md +++ b/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md @@ -11,6 +11,8 @@ The main goal of `autoware_lanelet2_map_validator` is to validate whether the la The list of small validators will be defined as a JSON file (see [`autoware_requirement_set.json`](../autoware_requirement_set.json) for an example), and the output will also be a JSON file that appends validation results to a copy of the input. See [How to use `autoware_lanelet2_map_validator`](../README.md/#how-to-use) for further information about how the input and output are processed. +![autoware_lanelet2_map_validator_input_and_output](../media/autoware_lanelet2_map_validator_io.svg) + Please note that the validators are categorized according to [the vector map requirements written in the Autoware Documentation](https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/map/map-requirements/vector-map-requirements-overview/). If there are any suggestions for new categories please let the pull request (PR) reviewers know. The available categories as of now are - Lane diff --git a/map/autoware_lanelet2_map_validator/media/autoware_lanelet2_map_validator_io.svg b/map/autoware_lanelet2_map_validator/media/autoware_lanelet2_map_validator_io.svg new file mode 100644 index 00000000..5d9f36cc --- /dev/null +++ b/map/autoware_lanelet2_map_validator/media/autoware_lanelet2_map_validator_io.svg @@ -0,0 +1,385 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + [vm-02-02] + +
+
+
+
    +
  • mapping.stop_line.missing_regulatory_element
  • +
+
+ + [vm-04-01] + +
+
    +
  • mapping.traffic_light.missing_regulatory_elements
  • +
  • mapping.traffic_light.missing_referrers
  • +
  • mapping.traffic_light.regulatory_element_details
  • +
+
+ + [vm-04-02] + +
+
+
    +
  • mapping.traffic_light.correct_facing
  • +
+
+ ... and so on +
+
+
+
+
+
+
+
+
+ +
+
+
+
+ + + + + + + + +
+
+
+ + autoware_requirement_set.json + +
+
+
+
+ +
+
+
+
+ + + + + + + + +
+
+
+ + ID for the map requirement + +
+
+
+
+ +
+
+
+
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+
+
+ autoware_lanelet2_map_validator +
+
+
+
+ +
+
+
+
+ + + + + + + + + + + + + + + + +
+
+
+ + validation_target_map.osm + +
+
+
+
+ +
+
+
+
+ + + + + + + + + + +
+
+
+ + lanelet2_validation_results.json + +
+
+
+
+ +
+
+
+
+ + + + + + +
+ + + + + + + + +
+
+
+ A validator is deployed for each map requirement +
+
+
+
+ +
+
+
+
+ + + + + + + + +
+
+
+ ... or a group of validators can be allocated to a requirement if there are many things to validate +
+
+
+
+ +
+
+
+
+ + + + + + +
+
+
+
From 66c4bdcb7a4717124bf97326891308dcfa256678 Mon Sep 17 00:00:00 2001 From: TaikiYamada4 Date: Wed, 27 Nov 2024 18:09:39 +0900 Subject: [PATCH 04/10] Add a link to how_to_contribute.md to README.md Signed-off-by: TaikiYamada4 --- map/autoware_lanelet2_map_validator/README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/map/autoware_lanelet2_map_validator/README.md b/map/autoware_lanelet2_map_validator/README.md index 60991d58..4e73033b 100644 --- a/map/autoware_lanelet2_map_validator/README.md +++ b/map/autoware_lanelet2_map_validator/README.md @@ -287,6 +287,10 @@ The directory structure should be the same to that of the `src/validators` direc - [mapping.crosswalk.missing_regulatory_elements](./docs/crosswalk/missing_regulatory_elements_for_crosswalk.md) - [mapping.crosswalk.regulatory_element_details](./docs/crosswalk/regulatory_element_details_for_crosswalks.md) +## How to add a new validator + +If you want to contribute to `autoware_lanelet2_map_validator`, please check out the [how_to_contribute](./docs/how_to_contribute.md) first. + ## Relationship between requirements and validators This is a table describing the correspondence between the validators that each requirement consists of. From a5c92935adf1a0ee4a0e7d0c5d8763c3a31ec3b7 Mon Sep 17 00:00:00 2001 From: TaikiYamada4 Date: Wed, 27 Nov 2024 18:26:18 +0900 Subject: [PATCH 05/10] Fixed spelling and grammar mistakes Signed-off-by: TaikiYamada4 --- .../docs/how_to_contribute.md | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md b/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md index 0ce7996a..da98488c 100644 --- a/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md +++ b/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md @@ -25,16 +25,16 @@ Please note that the validators are categorized according to [the vector map req ## Contribution Guide -This section is aimed for contributers who want to add their own validators. If you want to change the basis process of `autoware_lanelet2_map_validator`, please open a PR and discuss with the maintainers. +This section is aimed at contributers who want to add their own validators. If you want to change the core process of `autoware_lanelet2_map_validator`, please open a PR and discuss it with the maintainers. ### 1. Implement your validator -`autoware_lanelet2_map_validator` is based on the [Lanelet2 library provided by fzi-forschungszentrum-informatik](https://github.com/fzi-forschungszentrum-informatik/Lanelet2). Contributers are encouraged to make their validators by following the class structure shown in [`validator_template.cpp`](../src/validators/validator_template.cpp) and [`validator_template.hpp`](../src/validators/validator_template.hpp). Looking into other implementations also might be helpful. +`autoware_lanelet2_map_validator` is based on the [Lanelet2 library provided by fzi-forschungszentrum-informatik](https://github.com/fzi-forschungszentrum-informatik/Lanelet2). Contributers are encouraged to make their validators by following the class structure shown in [`validator_template.cpp`](../src/validators/validator_template.cpp) and [`validator_template.hpp`](../src/validators/validator_template.hpp). Looking at other implementations may also be helpful. #### Restrictions for path structure - The source file (`.cpp`) must belong to `src/validators/\/` -- Avoid source file names that is same to the one in other categories. +- Avoid source file names that are the same as those in other categories. - The header file (`.hpp`) must belong to `src/include/lanelet2_map_validator/validators/\/` - Currently, there are no naming rules for source and header files, but the pair of source and header files should have the same name. @@ -44,14 +44,14 @@ This section is aimed for contributers who want to add their own validators. If - The name must follow the structure `aaa.bbb.ccc` - The first part (`aaa`) must be either `mapping`, `routing` or `rule` - The second part (`bbb`) should be either `general`, `lane`, `stop_line`, `intersection`, `traffic_light`, `crosswalk`, `area`, `others`. - - The third part can be anything unless it is hard to recognize the validators feature. - - The issue code of the validator will be generated by this name. It removes the first part of the name, converts it to an upper snake case, and adds a number for classification. (e. g. `Bbb.Ccc-001`) -- Write your implementation in the `operator()` function that outputs a [Issues (a.k.a vector\) object](https://github.com/fzi-forschungszentrum-informatik/Lanelet2/blob/master/lanelet2_validation/include/lanelet2_validation/Issue.h). Not all of the implementation has to be written in the operator that you can privately define and use functions in your validator class. -- Since `autoware_lanelet2_map_validator` is made to output issue codes, please add an issue code prefix with square brackets on top of your issue message. - - You may use the `issue_code_prefix` function to generate the issue code prefix. - - Even the validator only detects a single type of issue, please include the number `001` to your issue code. + - The third part can be anything, as long as it is not hard to recognize the validator's feature. + - The issue code of the validator will be generated from this name. It removes the first part of the name, converts it to upper camel case, and adds a number for classification. (e. g. `Bbb.Ccc-001`) +- Write your implementation in the `operator()` function that outputs an [Issues (a.k.a vector\) object](https://github.com/fzi-forschungszentrum-informatik/Lanelet2/blob/master/lanelet2_validation/include/lanelet2_validation/Issue.h). Not all of the implementation has to be written in the operator; you can privately define and use functions in your validator class. +- Since `autoware_lanelet2_map_validator` outputs issue codes, please add an issue code prefix with square brackets on top of your issue message. + - You may use the `append_issue_code_prefix` function to generate the issue code prefix. + - Even if the validator only detects a single type of issue, please include the number `001` to your issue code. - The issue code must correspond to the issue message one-to-one. -- Currently, there are no rules to decide the severity of the issue. If you're not confident to your severity decisions please discuss with your PR reviewers. +- Currently, there are no rules to decide the severity of the issue. If you're not confident about your severity decisions please discuss them with your PR reviewers. - Other coding rules are mentioned in the [Autoware Documentation](https://autowarefoundation.github.io/autoware-documentation/main/contributing/). However, this coding rule doesn't hold if it conflicts with the Lanelet2 library. ### 2. Write a test code @@ -61,7 +61,7 @@ Contributors must also provide test codes to ensure your validator is working pr #### Restrictions for path structure - The source code (`.cpp`) must belong to `test/src/`. - - The test codes are not categorized because there are few codes, but might be categorized in the future. + - The test codes are not categorized because there are few codes, but they might be categorized in the future. - The source code name should be `test_.cpp` - The maps (`.osm`) for testing must belong to `test/data/map/\/` - The JSON files (`.json`) for testing must belong to `test/data/json/` @@ -70,19 +70,19 @@ Contributors must also provide test codes to ensure your validator is working pr - Tests should be executable by `colcon test`. It is strongly recommended to use the [gtest (googletest) format](https://github.com/google/googletest). - If possible, inherit the `MapValidationTester` class for common map loading process. -- The test code must contain the follwing. +- The test code must contain the following. - A test function that checks whether the validator is available. - A test function for each unique issue the validator can detect. It is recommended to create a small lanelet2 map for each unique issue. - - In this test, please also check that the issue code is emitted as it is expected. - - A test function that no issues occur when validating `test/data/map/sample_map.osm`. If `sample_map.osm` violates the validation or doesn't contain the primitive to validate, please fix or add the primitives to it. -- Add the test codes to `CMakeLists.txt` using the `add_validation_test` function. - - Currently we have to add this part to `CMakeLists.txt` by hand. Automation is expected in the future. + - In this test, please also check that the issue code is emitted as expected. + - A test function ensuring that no issues occur when validating `test/data/map/sample_map.osm`. If `sample_map.osm` violates the validation or doesn't contain the primitive to validate, please fix or add the primitives to it. +- Add the test code to `CMakeLists.txt` using the `add_validation_test` function. + - Currently, this part must be added to CMakeLists.txt manually. Automation is expected in the future. ### 3. Test the entire validator Please check that the `autoware_lanelet2_map_validator` works perfectly. -1. Execute `colcon test --packages-select autoware_lanelet2_map_validator --event-handlers console_cohesion+` and confirm that all tests have passed. +1. Execute `colcon test --packages-select autoware_lanelet2_map_validator --event-handlers console_cohesion+` and confirm that all tests pass. 2. Execute the following command and confirm that no issues appear. ```bash @@ -91,12 +91,12 @@ ros2 run autoware_lanelet2_map_validator autoware_lanelet2_map_validator -p mgrs ### 4. Write a document -Contributors must leave a document to explain what the validator can do. +Contributors must provide documentation to explain what the validator can do. The document must explain the following. - The validator name (The one written in the header file (`.hpp`)) - Feature of the validator -- In which source code the validator is implemented. +- The source code where the validator is implemented - A table of issues that the validator can detect. The following details are required. - Issue Code - Message @@ -105,6 +105,6 @@ The document must explain the following. - Description of the issue - Approach to fix the issue -### 5. Create a pull request +### 5. Submit a pull request -Create a pull request to the [autowarefoundation/autoware_tools](https://github.com/autowarefoundation/autoware_tools) repository. +Submit a pull request to the [autowarefoundation/autoware_tools](https://github.com/autowarefoundation/autoware_tools) repository. From eaf3e8302b15c5a2d77501b3c4a0cd02655603c0 Mon Sep 17 00:00:00 2001 From: TaikiYamada4 Date: Mon, 9 Dec 2024 10:17:17 +0900 Subject: [PATCH 06/10] Fixed some sentences Signed-off-by: TaikiYamada4 --- .../docs/how_to_contribute.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md b/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md index da98488c..23a06792 100644 --- a/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md +++ b/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md @@ -7,7 +7,9 @@ Please take a look at the [Design Concept](#design-concept) and follow the [Cont ## Design Concept The main goal of `autoware_lanelet2_map_validator` is to validate whether the lanelet2 map matches the vector map requirements for Autoware. -`autoware_lanelet2_map_validator` achieves this by running a list of small validators. Each vector map requirement will be validated by one or more validators. It is recommended to keep validators small and they don't have to be unique to a specific requirement so that we can broaden the map requirements. (It doesn't mean that a validator should output only one kind of error!) +`autoware_lanelet2_map_validator` achieves this by running a list of small validators. +In other words, each vector map requirement will be validated by one or more validators. +It is recommended to keep validators small and they don't have to be unique to a specific requirement so that we can broaden the expression of map requirements. (It doesn't mean that a validator should output only one kind of error!) The list of small validators will be defined as a JSON file (see [`autoware_requirement_set.json`](../autoware_requirement_set.json) for an example), and the output will also be a JSON file that appends validation results to a copy of the input. See [How to use `autoware_lanelet2_map_validator`](../README.md/#how-to-use) for further information about how the input and output are processed. @@ -69,7 +71,7 @@ Contributors must also provide test codes to ensure your validator is working pr #### Restrictions for test code implementation - Tests should be executable by `colcon test`. It is strongly recommended to use the [gtest (googletest) format](https://github.com/google/googletest). -- If possible, inherit the `MapValidationTester` class for common map loading process. +- If possible, the `MapValidationTester` class may be useful to inherit common map loading process. - The test code must contain the following. - A test function that checks whether the validator is available. - A test function for each unique issue the validator can detect. It is recommended to create a small lanelet2 map for each unique issue. @@ -94,7 +96,7 @@ ros2 run autoware_lanelet2_map_validator autoware_lanelet2_map_validator -p mgrs Contributors must provide documentation to explain what the validator can do. The document must explain the following. -- The validator name (The one written in the header file (`.hpp`)) +- The validator's name - Feature of the validator - The source code where the validator is implemented - A table of issues that the validator can detect. The following details are required. @@ -105,6 +107,8 @@ The document must explain the following. - Description of the issue - Approach to fix the issue +In addition, add a link of the document to the table [Relationship between requirements and validators](../README.md/#relationship-between-requirements-and-validators) in the main `README.md` to let the users know which map requirement your validator relates with. + ### 5. Submit a pull request Submit a pull request to the [autowarefoundation/autoware_tools](https://github.com/autowarefoundation/autoware_tools) repository. From e4eb1bb0b5aeaa839a2fd880fe0708a35e11769f Mon Sep 17 00:00:00 2001 From: TaikiYamada4 Date: Mon, 9 Dec 2024 10:29:05 +0900 Subject: [PATCH 07/10] Fixed spelling errors Signed-off-by: TaikiYamada4 --- .../docs/how_to_contribute.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md b/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md index 23a06792..a856984b 100644 --- a/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md +++ b/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md @@ -27,11 +27,17 @@ Please note that the validators are categorized according to [the vector map req ## Contribution Guide -This section is aimed at contributers who want to add their own validators. If you want to change the core process of `autoware_lanelet2_map_validator`, please open a PR and discuss it with the maintainers. +This section is aimed at contributors who want to add their own validators. If you want to change the core process of `autoware_lanelet2_map_validator`, please open a PR and discuss it with the maintainers. ### 1. Implement your validator -`autoware_lanelet2_map_validator` is based on the [Lanelet2 library provided by fzi-forschungszentrum-informatik](https://github.com/fzi-forschungszentrum-informatik/Lanelet2). Contributers are encouraged to make their validators by following the class structure shown in [`validator_template.cpp`](../src/validators/validator_template.cpp) and [`validator_template.hpp`](../src/validators/validator_template.hpp). Looking at other implementations may also be helpful. + + +`autoware_lanelet2_map_validator` is based on the [Lanelet2 library provided by fzi-forschungszentrum-informatik](https://github.com/fzi-forschungszentrum-informatik/Lanelet2). + + + +Contributors are encouraged to make their validators by following the class structure shown in [`validator_template.cpp`](../src/validators/validator_template.cpp) and [`validator_template.hpp`](../src/validators/validator_template.hpp). Looking at other implementations may also be helpful. #### Restrictions for path structure From 7c20b390bbf511cd00a32685ebe58bc737d70bca Mon Sep 17 00:00:00 2001 From: TaikiYamada4 Date: Mon, 9 Dec 2024 19:07:42 +0900 Subject: [PATCH 08/10] Fixed link URLs Signed-off-by: TaikiYamada4 --- .../docs/how_to_contribute.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md b/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md index a856984b..8bd70f5a 100644 --- a/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md +++ b/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md @@ -11,7 +11,7 @@ The main goal of `autoware_lanelet2_map_validator` is to validate whether the la In other words, each vector map requirement will be validated by one or more validators. It is recommended to keep validators small and they don't have to be unique to a specific requirement so that we can broaden the expression of map requirements. (It doesn't mean that a validator should output only one kind of error!) -The list of small validators will be defined as a JSON file (see [`autoware_requirement_set.json`](../autoware_requirement_set.json) for an example), and the output will also be a JSON file that appends validation results to a copy of the input. See [How to use `autoware_lanelet2_map_validator`](../README.md/#how-to-use) for further information about how the input and output are processed. +The list of small validators will be defined as a JSON file (see [`autoware_requirement_set.json`](https://github.com/autowarefoundation/autoware_tools/blob/main/map/autoware_lanelet2_map_validator/autoware_requirement_set.json) for an example), and the output will also be a JSON file that appends validation results to a copy of the input. See [How to use `autoware_lanelet2_map_validator`](../#how-to-use) for further information about how the input and output are processed. ![autoware_lanelet2_map_validator_input_and_output](../media/autoware_lanelet2_map_validator_io.svg) @@ -37,7 +37,7 @@ This section is aimed at contributors who want to add their own validators. If y -Contributors are encouraged to make their validators by following the class structure shown in [`validator_template.cpp`](../src/validators/validator_template.cpp) and [`validator_template.hpp`](../src/validators/validator_template.hpp). Looking at other implementations may also be helpful. +Contributors are encouraged to make their validators by following the class structure shown in [`validator_template.cpp`](https://github.com/autowarefoundation/autoware_tools/blob/main/map/autoware_lanelet2_map_validator/src/validators/validator_template.cpp) and [`validator_template.hpp`](https://github.com/autowarefoundation/autoware_tools/blob/main/map/autoware_lanelet2_map_validator/src/validators/validator_template.hpp). Looking at other implementations may also be helpful. #### Restrictions for path structure @@ -113,7 +113,7 @@ The document must explain the following. - Description of the issue - Approach to fix the issue -In addition, add a link of the document to the table [Relationship between requirements and validators](../README.md/#relationship-between-requirements-and-validators) in the main `README.md` to let the users know which map requirement your validator relates with. +In addition, add a link of the document to the table [Relationship between requirements and validators](../#relationship-between-requirements-and-validators) in the main `README.md` to let the users know which map requirement your validator relates with. ### 5. Submit a pull request From 86634ca891dd75c3aa622521dface7c69a512af1 Mon Sep 17 00:00:00 2001 From: TaikiYamada4 Date: Mon, 9 Dec 2024 19:35:27 +0900 Subject: [PATCH 09/10] Quit using .. to direct to README.md Signed-off-by: TaikiYamada4 --- map/autoware_lanelet2_map_validator/docs/how_to_contribute.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md b/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md index 8bd70f5a..c898b5aa 100644 --- a/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md +++ b/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md @@ -11,7 +11,7 @@ The main goal of `autoware_lanelet2_map_validator` is to validate whether the la In other words, each vector map requirement will be validated by one or more validators. It is recommended to keep validators small and they don't have to be unique to a specific requirement so that we can broaden the expression of map requirements. (It doesn't mean that a validator should output only one kind of error!) -The list of small validators will be defined as a JSON file (see [`autoware_requirement_set.json`](https://github.com/autowarefoundation/autoware_tools/blob/main/map/autoware_lanelet2_map_validator/autoware_requirement_set.json) for an example), and the output will also be a JSON file that appends validation results to a copy of the input. See [How to use `autoware_lanelet2_map_validator`](../#how-to-use) for further information about how the input and output are processed. +The list of small validators will be defined as a JSON file (see [`autoware_requirement_set.json`](https://github.com/autowarefoundation/autoware_tools/blob/main/map/autoware_lanelet2_map_validator/autoware_requirement_set.json) for an example), and the output will also be a JSON file that appends validation results to a copy of the input. See [How to use `autoware_lanelet2_map_validator`](https://github.com/autowarefoundation/autoware_tools/tree/main/map/autoware_lanelet2_map_validator#relationship-between-requirements-and-validators) for further information about how the input and output are processed. ![autoware_lanelet2_map_validator_input_and_output](../media/autoware_lanelet2_map_validator_io.svg) From 17007b8bbfb48f4a686bef5a6f2dd57f73c85076 Mon Sep 17 00:00:00 2001 From: TaikiYamada4 Date: Mon, 9 Dec 2024 19:50:51 +0900 Subject: [PATCH 10/10] Fixed link mistakes Signed-off-by: TaikiYamada4 --- map/autoware_lanelet2_map_validator/docs/how_to_contribute.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md b/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md index c898b5aa..8f097c10 100644 --- a/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md +++ b/map/autoware_lanelet2_map_validator/docs/how_to_contribute.md @@ -11,7 +11,7 @@ The main goal of `autoware_lanelet2_map_validator` is to validate whether the la In other words, each vector map requirement will be validated by one or more validators. It is recommended to keep validators small and they don't have to be unique to a specific requirement so that we can broaden the expression of map requirements. (It doesn't mean that a validator should output only one kind of error!) -The list of small validators will be defined as a JSON file (see [`autoware_requirement_set.json`](https://github.com/autowarefoundation/autoware_tools/blob/main/map/autoware_lanelet2_map_validator/autoware_requirement_set.json) for an example), and the output will also be a JSON file that appends validation results to a copy of the input. See [How to use `autoware_lanelet2_map_validator`](https://github.com/autowarefoundation/autoware_tools/tree/main/map/autoware_lanelet2_map_validator#relationship-between-requirements-and-validators) for further information about how the input and output are processed. +The list of small validators will be defined as a JSON file (see [`autoware_requirement_set.json`](https://github.com/autowarefoundation/autoware_tools/blob/main/map/autoware_lanelet2_map_validator/autoware_requirement_set.json) for an example), and the output will also be a JSON file that appends validation results to a copy of the input. See [How to use `autoware_lanelet2_map_validator`](https://github.com/autowarefoundation/autoware_tools/tree/main/map/autoware_lanelet2_map_validator#how-to-use) for further information about how the input and output are processed. ![autoware_lanelet2_map_validator_input_and_output](../media/autoware_lanelet2_map_validator_io.svg) @@ -113,7 +113,7 @@ The document must explain the following. - Description of the issue - Approach to fix the issue -In addition, add a link of the document to the table [Relationship between requirements and validators](../#relationship-between-requirements-and-validators) in the main `README.md` to let the users know which map requirement your validator relates with. +In addition, add a link of the document to the table [Relationship between requirements and validators](https://github.com/autowarefoundation/autoware_tools/tree/main/map/autoware_lanelet2_map_validator#relationship-between-requirements-and-validators) in the main `README.md` to let the users know which map requirement your validator relates with. ### 5. Submit a pull request