From 31b0772d933f2548cd69b0fdb516d3c6e98a0359 Mon Sep 17 00:00:00 2001 From: "Takagi, Isamu" Date: Thu, 22 Feb 2024 19:11:24 +0900 Subject: [PATCH 1/4] fix release status Signed-off-by: Takagi, Isamu --- .../autoware-interfaces/ad-api/list/api/perception/objects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/design/autoware-interfaces/ad-api/list/api/perception/objects.md b/docs/design/autoware-interfaces/ad-api/list/api/perception/objects.md index ee0e27d414a..31a2543b66d 100644 --- a/docs/design/autoware-interfaces/ad-api/list/api/perception/objects.md +++ b/docs/design/autoware-interfaces/ad-api/list/api/perception/objects.md @@ -1,6 +1,6 @@ --- title: /api/perception/objects -status: v1.0.0 +status: not released method: realtime stream type: name: autoware_adapi_v1_msgs/msg/DynamicObjectArray From 557ec43774d9a5e8b08037f6dea77bb3b4e75ad2 Mon Sep 17 00:00:00 2001 From: "Takagi, Isamu" Date: Fri, 23 Feb 2024 02:00:27 +0900 Subject: [PATCH 2/4] update api list format Signed-off-by: Takagi, Isamu --- .../autoware-interfaces/ad-api/list/index.md | 62 ++++++++++--------- tools/autoware-interfaces/generate.py | 19 +++++- 2 files changed, 48 insertions(+), 33 deletions(-) diff --git a/docs/design/autoware-interfaces/ad-api/list/index.md b/docs/design/autoware-interfaces/ad-api/list/index.md index a95a73b670b..d1f99617ef0 100644 --- a/docs/design/autoware-interfaces/ad-api/list/index.md +++ b/docs/design/autoware-interfaces/ad-api/list/index.md @@ -1,32 +1,34 @@ # List of Autoware AD API -- [/api/fail_safe/mrm_state](./api/fail_safe/mrm_state.md) -- [/api/interface/version](./api/interface/version.md) -- [/api/localization/initialization_state](./api/localization/initialization_state.md) -- [/api/localization/initialize](./api/localization/initialize.md) -- [/api/motion/accept_start](./api/motion/accept_start.md) -- [/api/motion/state](./api/motion/state.md) -- [/api/operation_mode/change_to_autonomous](./api/operation_mode/change_to_autonomous.md) -- [/api/operation_mode/change_to_local](./api/operation_mode/change_to_local.md) -- [/api/operation_mode/change_to_remote](./api/operation_mode/change_to_remote.md) -- [/api/operation_mode/change_to_stop](./api/operation_mode/change_to_stop.md) -- [/api/operation_mode/disable_autoware_control](./api/operation_mode/disable_autoware_control.md) -- [/api/operation_mode/enable_autoware_control](./api/operation_mode/enable_autoware_control.md) -- [/api/operation_mode/state](./api/operation_mode/state.md) -- [/api/perception/objects](./api/perception/objects.md) -- [/api/planning/cooperation/get_policies](./api/planning/cooperation/get_policies.md) -- [/api/planning/cooperation/set_commands](./api/planning/cooperation/set_commands.md) -- [/api/planning/cooperation/set_policies](./api/planning/cooperation/set_policies.md) -- [/api/planning/steering_factors](./api/planning/steering_factors.md) -- [/api/planning/velocity_factors](./api/planning/velocity_factors.md) -- [/api/routing/clear_route](./api/routing/clear_route.md) -- [/api/routing/route](./api/routing/route.md) -- [/api/routing/set_route](./api/routing/set_route.md) -- [/api/routing/set_route_points](./api/routing/set_route_points.md) -- [/api/routing/state](./api/routing/state.md) -- [/api/vehicle/dimensions](./api/vehicle/dimensions.md) -- [/api/vehicle/doors/command](./api/vehicle/doors/command.md) -- [/api/vehicle/doors/layout](./api/vehicle/doors/layout.md) -- [/api/vehicle/doors/status](./api/vehicle/doors/status.md) -- [/api/vehicle/kinematics](./api/vehicle/kinematics.md) -- [/api/vehicle/status](./api/vehicle/status.md) +| API | Release | +| ------------------------------------------------------------------------------------------------ | ------------ | +| [/api/fail_safe/mrm_state](./api/fail_safe/mrm_state.md) | not released | +| [/api/interface/version](./api/interface/version.md) | v1.0.0 | +| [/api/localization/initialization_state](./api/localization/initialization_state.md) | v1.0.0 | +| [/api/localization/initialize](./api/localization/initialize.md) | v1.0.0 | +| [/api/motion/accept_start](./api/motion/accept_start.md) | not released | +| [/api/motion/state](./api/motion/state.md) | not released | +| [/api/operation_mode/change_to_autonomous](./api/operation_mode/change_to_autonomous.md) | v1.0.0 | +| [/api/operation_mode/change_to_local](./api/operation_mode/change_to_local.md) | v1.0.0 | +| [/api/operation_mode/change_to_remote](./api/operation_mode/change_to_remote.md) | v1.0.0 | +| [/api/operation_mode/change_to_stop](./api/operation_mode/change_to_stop.md) | v1.0.0 | +| [/api/operation_mode/disable_autoware_control](./api/operation_mode/disable_autoware_control.md) | v1.0.0 | +| [/api/operation_mode/enable_autoware_control](./api/operation_mode/enable_autoware_control.md) | v1.0.0 | +| [/api/operation_mode/state](./api/operation_mode/state.md) | v1.0.0 | +| [/api/perception/objects](./api/perception/objects.md) | not released | +| [/api/planning/cooperation/get_policies](./api/planning/cooperation/get_policies.md) | not released | +| [/api/planning/cooperation/set_commands](./api/planning/cooperation/set_commands.md) | not released | +| [/api/planning/cooperation/set_policies](./api/planning/cooperation/set_policies.md) | not released | +| [/api/planning/steering_factors](./api/planning/steering_factors.md) | not released | +| [/api/planning/velocity_factors](./api/planning/velocity_factors.md) | not released | +| [/api/routing/clear_route](./api/routing/clear_route.md) | v1.0.0 | +| [/api/routing/route](./api/routing/route.md) | v1.0.0 | +| [/api/routing/set_route](./api/routing/set_route.md) | v1.0.0 | +| [/api/routing/set_route_points](./api/routing/set_route_points.md) | v1.0.0 | +| [/api/routing/state](./api/routing/state.md) | v1.0.0 | +| [/api/vehicle/dimensions](./api/vehicle/dimensions.md) | not released | +| [/api/vehicle/doors/command](./api/vehicle/doors/command.md) | not released | +| [/api/vehicle/doors/layout](./api/vehicle/doors/layout.md) | not released | +| [/api/vehicle/doors/status](./api/vehicle/doors/status.md) | not released | +| [/api/vehicle/kinematics](./api/vehicle/kinematics.md) | not released | +| [/api/vehicle/status](./api/vehicle/status.md) | not released | diff --git a/tools/autoware-interfaces/generate.py b/tools/autoware-interfaces/generate.py index c0f6fceb392..3fe256deacd 100755 --- a/tools/autoware-interfaces/generate.py +++ b/tools/autoware-interfaces/generate.py @@ -91,6 +91,17 @@ def parse_rosidl_file(depends: set, visited: set, specs: dict, name: str): specs[name] = {"req": req, "res": res} specs[name] = {k: v for k, v in specs[name].items() if v} + +def tabulate(data, header): + widths = map(len, header) + for line in data: + widths = map(max, zip(map(len, line), widths)) + widths = list(widths) + format = "| " + " | ".join(f"{{:{width}}}" for width in widths) + " |" + border = ["-" * width for width in widths] + return "\n".join(format.format(*line) for line in [header, border, *data]) + + def main(): # Create a list of data types used in adapi. adapi = Path("docs/design/autoware-interfaces/ad-api/list/api") @@ -148,9 +159,11 @@ def main(): path.write_text(text) ## Generate api list page. - text = "# List of Autoware AD API\n\n" - for title in sorted(page["title"] for page in pages): - text += f"- [{title}](.{title}.md)\n" + data = [] + for page in sorted(pages, key=lambda page: page["title"]): + title = page["title"] + data.append([f"[{title}](.{title}.md)", page['status']]) + text = "# List of Autoware AD API\n\n" + tabulate(data, ["API", "Release"]) + "\n" Path("docs/design/autoware-interfaces/ad-api/list/index.md").write_text(text) ## Generate api type page. From 0ac834a8555907039892f7e78e6e1556e47831d1 Mon Sep 17 00:00:00 2001 From: "Takagi, Isamu" Date: Fri, 23 Feb 2024 02:06:26 +0900 Subject: [PATCH 3/4] add release notes Signed-off-by: Takagi, Isamu --- docs/design/autoware-interfaces/ad-api/.pages | 3 ++- docs/design/autoware-interfaces/ad-api/release.md | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 docs/design/autoware-interfaces/ad-api/release.md diff --git a/docs/design/autoware-interfaces/ad-api/.pages b/docs/design/autoware-interfaces/ad-api/.pages index 5e2a85e21fc..b927478a792 100644 --- a/docs/design/autoware-interfaces/ad-api/.pages +++ b/docs/design/autoware-interfaces/ad-api/.pages @@ -1,5 +1,6 @@ nav: - index.md - - features + - release.md - list - types + - features diff --git a/docs/design/autoware-interfaces/ad-api/release.md b/docs/design/autoware-interfaces/ad-api/release.md new file mode 100644 index 00000000000..9e37ecbd6cf --- /dev/null +++ b/docs/design/autoware-interfaces/ad-api/release.md @@ -0,0 +1,10 @@ +# Release notes + +## v1.0.0 + +The first release of AD API. Added basic features to start autonomous driving. + +- [New] Add [interface API](./features/interface.md) +- [New] Add [localization API](./features/localization.md) +- [New] Add [routing API](./features/routing.md) +- [New] Add [operation mode API](./features/operation_mode.md) From a0718102a9fb6d4b0803a550eae4a8f94bb1f397 Mon Sep 17 00:00:00 2001 From: "Takagi, Isamu" Date: Fri, 23 Feb 2024 02:17:20 +0900 Subject: [PATCH 4/4] release v1.1.0 Signed-off-by: Takagi, Isamu --- .../autoware-interfaces/ad-api/features/routing.md | 11 ++++++----- .../ad-api/list/api/fail_safe/mrm_state.md | 2 +- .../ad-api/list/api/vehicle/dimensions.md | 2 +- .../ad-api/list/api/vehicle/kinematics.md | 2 +- docs/design/autoware-interfaces/ad-api/list/index.md | 6 +++--- docs/design/autoware-interfaces/ad-api/release.md | 9 +++++++-- 6 files changed, 19 insertions(+), 13 deletions(-) diff --git a/docs/design/autoware-interfaces/ad-api/features/routing.md b/docs/design/autoware-interfaces/ad-api/features/routing.md index bc13a4dabd6..5010b527342 100644 --- a/docs/design/autoware-interfaces/ad-api/features/routing.md +++ b/docs/design/autoware-interfaces/ad-api/features/routing.md @@ -25,10 +25,11 @@ There are two ways to set the route. The one is a generic method that uses pose, | ARRIVED | The vehicle has arrived at the destination. | | CHANGING | Trying to change the route. Not implemented yet. | -## Goal modification +## Options -Autoware tries to look for an alternate goal when goal is unreachable (e.g., when there is an obstacle on the given goal). When setting a route from the API, applications can choose whether they allow Autoware to adjust goal pose in such situation. When set false, Autoware may get stuck until the given goal becomes reachable. +The `set_route_points` and `set_route` APIs have route options that allow applications to choose several behaviors regarding route planning. +See the sections below for supported options and details. -| Option | Description | -| ----------------------- | --------------------------------- | -| allow_goal_modification | If true, allow goal modification. | +### allow_goal_modification + +**[v1.1.0]** Autoware tries to look for an alternate goal when goal is unreachable (e.g., when there is an obstacle on the given goal). When setting a route from the API, applications can choose whether they allow Autoware to adjust goal pose in such situation. When set false, Autoware may get stuck until the given goal becomes reachable. diff --git a/docs/design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state.md b/docs/design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state.md index 55fde2bc529..84868ccb201 100644 --- a/docs/design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state.md +++ b/docs/design/autoware-interfaces/ad-api/list/api/fail_safe/mrm_state.md @@ -1,6 +1,6 @@ --- title: /api/fail_safe/mrm_state -status: not released +status: v1.1.0 method: notification type: name: autoware_adapi_v1_msgs/msg/MrmState diff --git a/docs/design/autoware-interfaces/ad-api/list/api/vehicle/dimensions.md b/docs/design/autoware-interfaces/ad-api/list/api/vehicle/dimensions.md index e4f1d37c52b..fd3eda7c421 100644 --- a/docs/design/autoware-interfaces/ad-api/list/api/vehicle/dimensions.md +++ b/docs/design/autoware-interfaces/ad-api/list/api/vehicle/dimensions.md @@ -1,6 +1,6 @@ --- title: /api/vehicle/dimensions -status: not released +status: v1.1.0 method: function call type: name: autoware_adapi_v1_msgs/srv/GetVehicleDimensions diff --git a/docs/design/autoware-interfaces/ad-api/list/api/vehicle/kinematics.md b/docs/design/autoware-interfaces/ad-api/list/api/vehicle/kinematics.md index 62513339560..578a12b1a9c 100644 --- a/docs/design/autoware-interfaces/ad-api/list/api/vehicle/kinematics.md +++ b/docs/design/autoware-interfaces/ad-api/list/api/vehicle/kinematics.md @@ -1,6 +1,6 @@ --- title: /api/vehicle/kinematics -status: not released +status: v1.1.0 method: realtime stream type: name: autoware_adapi_v1_msgs/msg/VehicleKinematics diff --git a/docs/design/autoware-interfaces/ad-api/list/index.md b/docs/design/autoware-interfaces/ad-api/list/index.md index d1f99617ef0..34115ec0570 100644 --- a/docs/design/autoware-interfaces/ad-api/list/index.md +++ b/docs/design/autoware-interfaces/ad-api/list/index.md @@ -2,7 +2,7 @@ | API | Release | | ------------------------------------------------------------------------------------------------ | ------------ | -| [/api/fail_safe/mrm_state](./api/fail_safe/mrm_state.md) | not released | +| [/api/fail_safe/mrm_state](./api/fail_safe/mrm_state.md) | v1.1.0 | | [/api/interface/version](./api/interface/version.md) | v1.0.0 | | [/api/localization/initialization_state](./api/localization/initialization_state.md) | v1.0.0 | | [/api/localization/initialize](./api/localization/initialize.md) | v1.0.0 | @@ -26,9 +26,9 @@ | [/api/routing/set_route](./api/routing/set_route.md) | v1.0.0 | | [/api/routing/set_route_points](./api/routing/set_route_points.md) | v1.0.0 | | [/api/routing/state](./api/routing/state.md) | v1.0.0 | -| [/api/vehicle/dimensions](./api/vehicle/dimensions.md) | not released | +| [/api/vehicle/dimensions](./api/vehicle/dimensions.md) | v1.1.0 | | [/api/vehicle/doors/command](./api/vehicle/doors/command.md) | not released | | [/api/vehicle/doors/layout](./api/vehicle/doors/layout.md) | not released | | [/api/vehicle/doors/status](./api/vehicle/doors/status.md) | not released | -| [/api/vehicle/kinematics](./api/vehicle/kinematics.md) | not released | +| [/api/vehicle/kinematics](./api/vehicle/kinematics.md) | v1.1.0 | | [/api/vehicle/status](./api/vehicle/status.md) | not released | diff --git a/docs/design/autoware-interfaces/ad-api/release.md b/docs/design/autoware-interfaces/ad-api/release.md index 9e37ecbd6cf..917d4034bd3 100644 --- a/docs/design/autoware-interfaces/ad-api/release.md +++ b/docs/design/autoware-interfaces/ad-api/release.md @@ -1,8 +1,13 @@ # Release notes -## v1.0.0 +## v1.1.0 + +- [New] Add {{ link_ad_api('/api/fail_safe/mrm_state') }} +- [New] Add {{ link_ad_api('/api/vehicle/dimensions') }} +- [New] Add {{ link_ad_api('/api/vehicle/kinematics') }} +- [Change] Add options to [the routing API](./features/routing.md) -The first release of AD API. Added basic features to start autonomous driving. +## v1.0.0 - [New] Add [interface API](./features/interface.md) - [New] Add [localization API](./features/localization.md)