autowarefoundation / autoware-documentation Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://autowarefoundation.github.io/autoware-documentation/
License: Apache License 2.0
Home Page: https://autowarefoundation.github.io/autoware-documentation/
License: Apache License 2.0
Following these comments from @sykwer in the #282
We TIER Ⅳ members are now working on scheduling issues on Linux platforms. Our opinion is that the task scheduling document should be about how to configure the settings of a kernel scheduler to run Autoware in a predictable way. Based on workload analysis and detailed analysis of the implementation of the Linux kernel, we plan to publish a specialized functionality for the task scheduling of Autoware on Linux and the documentation about it.
Additionally, we need to deal with double scheduling problems (ROS2 executer and kernel scheduler) and scheduler settings for specialized operating systems. We are also struggling with these problems. User-defined and centralized task scheduler will be developed specialized for Autoware.
As a result, we’d like to keep this document blank until the functionality as explained above become fixed.
And this comment from @takam5f2
To my understanding, Autoware is not implemented without considering task scheduling so far. Autoware relies on task scheduling which is managed by ROS 2 and Linux. Task scheduling is one of the issue to be tackled in the future.
It is better, I think, that this section honestly tells that task scheduling is not designed and Autoware runs on a task scheduling by combination of ROS 2 and Linux kernel. "Introducing task optimized task scheduling mechanism and applying it to Autoware are one of our future work" is required statement here.
Fill in the documentation for task scheduling.
Fill in the documentation for task scheduling.
Fill in the documentation for task scheduling.
Some parameters in the sample_vehicle_launch package are missing on page Vehicle Dimensions. Parameters without description are listed below.
Adding comments makes documentation easy to follow.
Adding all the parameters that belong to the packages.
Adding all the parameters that belong to the packages.
Currently, Autoware.Auto's documents are written for Autoware.Auto (of course) and GitLab.
However, since autoware.universe has different architecture and uses GitHub, the documents should be updated.
Create guidelines based on https://github.com/orgs/autowarefoundation/discussions/3371.
How to configure ROS nodes is non-differentiating, and creating alignment in the AWF community will allow developers and users of Autoware to become more productive as less time will be spent on trivial tasks.
Add guidelines to
Once guidelines are live on the web documentation website.
Update the Open AD Kit wiki with more details of e.g., the benefits of developing and deploying Autoware as a microservices architecture
Provide more clarity and raise awareness of the benefits microsevices architecture bring to Autoware
Update the wiki https://github.com/autowarefoundation/autoware-projects/wiki/Open-AD-Kit-working-group
Once changes have been agreed on, reviewed and merged.
Update the current source installation documentation to include how to install and compile differently Autoware with arm64 hardware.
For arm64 users, specifying differences in installation of dependencies and changes in build phase.
Source installation section of the document will be updated for Jetpack users.
Autoware was compiled with a few different steps for Jetson that were not specified in the documentation.
I continuously get questions regarding what is the difference between Autoware AI, Autoware Auto, and Autoware Core/Universe. I thought it would be better if we had a page to describe the background of why we started Core/Universe development and explain history of Autoware distributions
To provide information about the differences between AI, Auto, and Core/Universe
Add a page under "Concepts" page
[ ] Document to explain the difference between different Autoware is available
Follow up from: https://gitlab.com/autowarefoundation/autoware.auto/AutowareAuto/-/issues/1178
Add some brief documentation on how to create
Update the "Goal" section of Autoware Concept page https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-concepts/.
We would like to add details for the Goal section of Autoware Concept page so that developers and users of Autoware would have better idea about the scope of Autoware in high level. This could also become guideline for the architecture design and implementation of the software.
We do a review from software architects and iteratively update the document.
Goals of Autoware is clarified in the documentation.
Now Autoware.Auto uses Doxygen, but it has some disadvantages:
Therefore, we'll propose a new documentation platform to use mkdocs-material
The advantages are:
Actually, we've already introduced this in autoware.universe as a trial.
As current perception interface is empty, I am going to add doc to it if no one else has written.
add perception interface on https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/components/
write perception interface doc.
write perception interface doc and merge it .
I plan write a guids about add a custom ROS2 message.
I plan write a guids about add a custom ROS2 message in autoware.
Adding how-to guides for add a custom ROS2 message.
In progress.
Current coordinate-system.md
in directory is empty.
I plan to write a guideline about coordinate system.
Write a guideline about coordinate system.
I plan to write the following:
@kenji-miyake Do you have any advice?
TO DO!
As written in #3, we'll change the merge criteria for Core/Universe for more efficiency.
In this issue, we'll propose concrete ideas like:
for each of Core and Universe.
Although Autoware.Auto already has the rules, it should be refined for our new process.
Also, Tier IV has previously proposed some criteria in ASWG, but it's yet high-level.
I plan write localization module interface tutorial in Autoware interfaces/Components page.
Writing localization interface.
Writing localization interface.
prepare.
As ADASTEC, we are preparing how-to-use documents for open source SLAM implementations. We want to add our documents as subpages to how-to-guides section.
Add subpages and how-to-use documents for open source SLAM implementations
Adding subpages and documentations for each open source SLAM implementation
All subpages and documentations created
Automatically generate MD table in web documentation from `.schema.json file for ROS node parameters.
Using the JSON Schema to generate the parameter table for the web documentation removes the need to duplicate effort.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Parameters for Lidar Apollo Segmentation TVM Nodes",
"type": "object",
"definitions": {
"lidar_apollo_segmentation_tvm_nodes": {
"type": "object",
"properties": {
"range": {
"type": "number",
"default": 90,
"exclusiveMinimum": 0,
"description": "The range of the 2D grid with respect to the origin."
}
},
"required": [
"range"
]
}
},
"properties": {
"/**": {
"type": "object",
"properties": {
"ros__parameters": {
"$ref": "#/definitions/lidar_apollo_segmentation_tvm_nodes"
}
},
"required": ["ros__parameters"]
}
},
"required": ["/**"]
}
should be generated to
Parameter Name | Type | Default | Description |
---|---|---|---|
range | number | 90 | The range of the 2D grid with respect to the origin. |
Once the JSON Schema is generated into a table in the web documentation, see example above.
According to the current documentation page of Autoware, little information is provided regarding the hardware requirement to run Autoware either in simulation or on real vehicle.
The only mentioned information is the target hardware and prerequisites:
Architecture
Prerequisites:
Although Autoware is scalable and does not have a universal hardware requirment, it would be helpful to provide some reference hardware platform requirements for Autoware users.
Provide reference hardware platform requirements in target platforms and vehicle integration.
This issue was created off the back of an earlier discussion about adding more detail to the hardware requirements.
Describe at least one reference hardware platform for each architecture:
amd64 may follow the requirement form AutowareArchitectureProposal
arm64 will be a distributed hardware platform where partial Autoware stack running on each
Add a new page under 'others' in the 'How to guide', and provide instructions on how to implement a new Localization node.
https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/#others
While the content of Autoware's documentation is comprehensive, the information is not organized when viewed from a specific purpose (in this case, adding a Localization node). The goal of this document is to clarify the process and organize the information related to the workflow.
Determine the steps necessary for implementing a new Localization node and write the information required at each step.
Write document and merge it.
Follow up from #223
Update the naming conventions for namespaces and launch files following discussion in https://github.com/orgs/autowarefoundation/discussions/3171
Update the documentation following up from #223
PR is merged covering the updates in the discussion.
In autoware docker installation , when it comes to the section How to setup a workspace, the instructions are using rocker.
Actually this step pull the image (equivalent to docker pull), build something, then start the container.
During the image pull, there is no any progress update bar or any information to tell about that.
Knowing that the image size may exceed 8 GB ... so for a new user it is easily to be interpreted that the rocker command is not doing anything or there is something wrong.
So adding a step before using rocker to do docker pull ghcr.io/autowarefoundation/autoware-universe:latest-cuda
then do the rocker step, is way more better as docker pull is actually telling you the pull progress
Update the How to setup a workspace section to add docker pull ghcr.io/autowarefoundation/autoware-universe:latest-cuda
before rocker step, similar to how to update a workspace
The How to setup a workspace section is updated as described in the task.
In the Behavior path planner path generation documentation , there are some images and latex equations are not loaded properly.
However, the same image and equations are shown correctly for the same document but in github readme
I will be very beneficial if this can be fixed in autoware documentation as well.
Fix the image and latex equations loading for having better reading and understanding of autware documentation
To see the same output properly shown in Behavior path planner path generation documentation , as in github readme
Documentation should be updated to include a section explaining how to uninstall Autoware.Auto (and unnecessary dependencies).
Sub ticket of autowarefoundation/autoware.universe#592
Add documentation for using calibration tools
Create instructions for calibration tool so that users can generate calibration parameters for sensors.
This includes:
Creating vehilce and sensor description is empty, I'm going to add document it.
Adding specific instructions for creating vehicle and sensor descriptions.
The following three explanations.
write document and merge it.
We'll send PRs for each item and discuss them in the PRs.
Follow up from autowarefoundation/autoware_msgs#48 (comment)
To make it clear how we name plural messages.
from @isamu-takagi
Many of the ros messages use Array sufix, so I think it's better to match them.
diagnostic_msgs/msg/DiagnosticArray geometry_msgs/msg/PoseArray visualization_msgs/msg/MarkerArray
Docs is updated.
There are some errors.
https://github.com/autowarefoundation/autoware-documentation/runs/5800485685?check_suite_focus=true
To resolve the errors.
Replace links.
There is no CI error.
The current support guideline says we use ROS Answers for user support.
However, few people watch it and the responses are not good.
So we've proposed to use GitHub Discussions at the December TSC.
Also regarding the communication platform, Fatih-san has proposed to use Discord instead of Slack at the December TSC. It's under discussion.
It's discussed here.
I believe the discussion result should be organized like this.
(Autoware.Auto doesn't have such high-level documentation, but a bit similar one is this.)
Also regarding the messages, writing rationales like autoware_auto_msgs is nice.
But if possible, I feel a bit more detailed rationales are better.
Update current documentation to include how to do docker installation of Autoware with arm64 hardware .
Update guide for arm64 hardware users.
Document will be updated based on implementation result of Jetson AGX Xavier
Guideline provided for arm64 users to install autoware using docker method.
Related: autowarefoundation/autoware.universe#567 (comment)
There is no documentation about how to use control_performance_analysis package.
Adding documentation about how to use control_performance_analysis package.
Adding documentation about how to use control_performance_analysis package.
As discussed at the December TSC, we'll introduce explicit prototyping phases and change the merge criteria.
However, with the limited information, people cannot concretely understand how and how much Autoware will get high-quality and safety. We have to show a roadmap to the goal so that everyone can understand and agree.
Specifically, since the current Autoware.Auto's rules seem to be biased to ISO 26262, we'll propose comprehensive system-wide approaches like ISO/PAS 21448 and ISO/TR 4804.
We have to recognize we cannot build a perfect system from the beginning and that it requires some iterations.
To accomplish the approach, there are a lot of tasks. We should take the balance of each activity and improve the quality step by step.
Also, since it's difficult to guarantee everything by AWF with its limited resources, we have to show the area of responsibility and what is required for the users.
Update current documentation to include how multi-stage builds can be used with Autoware.
Ensure that users and developers can build the Autoware container image using the newly developed multi-stage build process.
TODO
When there are instructions enabling a developer to make changes to the multi-stage build process.
autowarefoundation/autoware#2447
(until changes have been made to enable multi-stage builds in Autoware CI/CD on GitHub, documentation cannot be written)
We AutoCore members are willing to contribute ourselves to preparing this part regarding: https://autowarefoundation.github.io/autoware-documentation/main/installation/related-tools/
However, we are not that clear about the definition of "related tools". Do these tools refer to some third-party tools / dependencies during installation such like pcl-tools or something else?
Get clear about the scope of "related tools"
TBD.
Prepare docs
Writing guidelines about ros2 console-logging.
Current console-logging.md in autowarefoundation/autoware-documentation/tree/main/docs/contributing/coding-guidelines/ros-nodes is empty.
Writing guidelines in console-logging.md
finisih writing
Write a guideline about ros2 topic namespaces.
Current topic-namespaces.md in autowarefoundation/autoware-documentation/tree/main/docs/contributing/coding-guidelines/ros-nodes is empty.
Write a guideline about ros2 topic namespaces.
Finished writing.
#40 (comment)
https://developers.google.com/style/person?hl=en
~/ghq/github.com/autowarefoundation/autoware-documentation main
❯ ag " our"
docs/contributing/index.md
28:To ensure our community stays open and healthy, we adhere to the [Contributor Covenant](https://www.contributor-covenant.org/), a widely used [code of conduct](https://github.com/autowarefoundation/autoware/blob/main/CODE_OF_CONDUCT.md) adopted by many other communities listed [here](https://www.contributor-covenant.org/adopters/).
52:See our [support guidelines](../help/support-guidelines.md) for the detailed steps.
68:See our [pull request guidelines](pull-request-guidelines/index.md) for the detailed steps.
docs/contributing/pull-request-guidelines/index.md
8:The following is a general example of our pull request workflow.
15: - Follow our guidelines when you write code, tests, and documentation.
19: - Follow our [Commit guidelines](commit-guidelines.md) when commit your change.
28: - The reviewers will review your code following our [review guidelines](review-guidelines.md).
80:See our [commit guidelines](commit-guidelines.md) for the detailed rules.
This proposal outlines the need for a defined versioning system for autoware_msgs
. It will also cover how various packages and tools that interact with autoware_msgs
can adapt to this versioning system.
This proposal serves as a follow-up from:
cc. @mitsudome-r @isamu-takagi @wep21 @kenji-miyake @TakaHoribe @mehmetdogru @kaancolak @miursh
autoware_msgs
to improve source control and make updates transparent and trackable.autoware_msgs
to adapt to changes or updates, ensuring smooth integration and avoiding potential conflicts.autoware_msgs
package.Semantic Versioning (SemVer): Implement Semantic Versioning (major.minor.patch), providing clarity about backward compatibility and allowing easier integration for packages interacting with autoware_msgs
.
Release Branching: Create release branches for autoware_msgs
for each major version. This allows for bug fixes and minor updates to be added to previous versions without disturbing the main development.
autoware_msgs
versioning system.Since we'll move from Autoware.Auto to Core/Universe soon, we should update the documents for that.
This is the high-level list of items that I think we should discuss for Core/Universe.
Firstly, we have to make a common understanding of the Core/Universe strategy.
After that, we'll revisit some items to match the strategy.
Then, we'll update the documents (mainly user manuals) for autoware.universe.
Also, toward the incoming Bus ODD development, we have to write some design documents and prepare a development environment.
Note: Although I wrote this like a waterfall process, we can work on each task in parallel.
I'm going to prepare docs about "Create an Autoware package" in "how to guide". However, I'm not sure if I understand this part correctly. Is this section to guide new user how to customize his own project based on Autoware (msgs, tools, etc..) or instruct people how to become an Autoware code contributor?
Get clear of the scope.
TBD
completion of docs
Follow up from https://gitlab.com/autowarefoundation/autoware.auto/AutowareAuto/-/issues/573
Disabling tests should be done via DISABLE_
prefixes on tests so that they aren't forgotten.
The Developer's Guide should contain this information.
DISABLE_
prefixes to the Developer's GuideI want to add a documentation guideline in the following content to make the instructions clear.
Provide clear contribution instructions to the developers
Add the following content to the documentation guideline page
There are two ways to contribute to the documentation page.
plan write map module interface tutorial in Autoware interfaces/Components page.
Write map interface
Write map interface
Writing
Writing guidelines about interactive dummy objects.
Current planning-simulation.md in autowarefoundation/autoware-documentation/blob/main/docs/tutorials/ad-hoc-simulation/planning-simulation.md does not explain how to use dummy objects interactively.
Writing guidelines in planning-simulation.md
Finish writing
Closes: autowarefoundation/autoware.universe#1253
autowarefoundation/autoware.universe#1253 (comment)
autowarefoundation/autoware.universe#1253 (comment)
autowarefoundation/autoware.universe#1253 (comment)
I plan to add the Autoware installation video tutorial in here, but the Autoware installation tutorial document is relatively complex. Even the Docker based installation tutorial requires a lot of additional dependencies, which is very unfriendly to beginners.
Autoware Universe now mostly provides images of the prebuilt
version (image link). Based on this image, you do not need to download the source code of Autoware, and you can run Autoware without compiling. So can I record Autoware installation videos based on the prebuilt
version images?
Autoware installation documentation (here) needs to be updated?
@kenji-miyake Do you have any suggestion?
Add video of Autoware installation tutorial.
Add video of Autoware installation tutorial.
TO DO.
Before writing design documents in #10, we have to discuss the format.
I feel Tier IV's proposal could be the base, but it should be refined a bit more.
The comments in #10 (comment) should be addressed as well.
There is a question in Q&A might be frequently asked, i.e.: user thought stderr
means build failure.
https://github.com/orgs/autowarefoundation/discussions/3269
autowarefoundation/autoware#3282
https://github.com/orgs/autowarefoundation/discussions/2731
autowarefoundation/autoware#2726
Therefore I wonder whether we should create FAQ section that specifically explains about the duplicated question.
To reduce number of duplicated question and has a page that provides explanation so that contributor can provide link to the answer.
FAQ page created
Seeing the current Autoware.Auto's documentation, some information is dispersed and some information is unnecessary.
It should be refined so that people can easily access the information they want with no confusion.
This issue addresses the tree structure and we'll consider each content in #6.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.