From 409a7911fb8bd51eacf51145f7ad087c3110d804 Mon Sep 17 00:00:00 2001 From: mitukou1109 Date: Mon, 23 Dec 2024 12:34:37 +0900 Subject: [PATCH] add README Signed-off-by: mitukou1109 --- planning/autoware_path_generator/README.md | 41 +++++++++++++++++++ ..._overlap_interval_determination.drawio.svg | 4 ++ 2 files changed, 45 insertions(+) create mode 100644 planning/autoware_path_generator/README.md create mode 100644 planning/autoware_path_generator/media/waypoint_group_overlap_interval_determination.drawio.svg diff --git a/planning/autoware_path_generator/README.md b/planning/autoware_path_generator/README.md new file mode 100644 index 0000000000000..9900fb21547c2 --- /dev/null +++ b/planning/autoware_path_generator/README.md @@ -0,0 +1,41 @@ +# Path Generator + +The `path_generator` node receives a route from `mission_planner` and converts the centerline into a path. +If the route has waypoints set, it generates a path passing through them. + +This package is a simple alternative of `behavior_path_generator`. + +## Path generation + +When input data is ready, it first searches for the lanelet closest to the vehicle. +If found, it gets the lanelets within a distance of `backward_path_length` behind and `forward_path_length` in front. +Their centerlines are concatenated to generate a path. + +If waypoints exist in the route, it replaces the overlapped segment of the centerline with them. +The overlap interval is determined as shown in the following figure. + +![waypoint_group_overlap_interval_determination](./media/waypoint_group_overlap_interval_determination.drawio.svg) + +## Input topics + +| Name | Type | Description | +| :------------------- | :------------------------------------------ | :------------------------------- | +| `~/input/odometry` | `nav_msgs::msg::Odometry` | ego pose | +| `~/input/vector_map` | `autoware_map_msgs::msg::LaneletMapBin` | vector map information | +| `~/input/route` | `autoware_planning_msgs::msg::LaneletRoute` | current route from start to goal | + +## Output topics + +| Name | Type | Description | QoS Durability | +| :-------------- | :----------------------------------------- | :------------- | :------------- | +| `~/output/path` | `tier4_planning_msgs::msg::PathWithLaneId` | generated path | `volatile` | + +## Parameters + +| Name | Type | Description | +| :------------------------------------- | :------- | :-------------------------------------------------------------------------------------------------------------------- | +| `planning_hz` | double | planning frequency | +| `backward_path_length` | double | length of the generated path behind vehicle | +| `forward_path_length` | double | length of the generated path in front of vehicle | +| `waypoint_group_separation_threshold` | double | maximum distance at which consecutive waypoints are considered to belong to the same group (see [here](#path-generation) for details) | +| `waypoint_group_interval_margin_ratio` | double | ratio for determining length of switching section from centerline to waypoints (see [here](#path-generation) for details) | diff --git a/planning/autoware_path_generator/media/waypoint_group_overlap_interval_determination.drawio.svg b/planning/autoware_path_generator/media/waypoint_group_overlap_interval_determination.drawio.svg new file mode 100644 index 0000000000000..aed0a5c1feb6a --- /dev/null +++ b/planning/autoware_path_generator/media/waypoint_group_overlap_interval_determination.drawio.svg @@ -0,0 +1,4 @@ + + + +
larger than waypoint_group_separation_threshold
larger than waypoint_group_separation_threshold
margin
margin
overlap interval
overlap interval
margin ×
waypoint_group_interval_margin_ratio
margin ×...
smaller than waypoint_group_separation_threshold
smaller than waypoint_group_separation_threshold
waypoint group
waypoint group
waypoint
waypoint
generated path
generated path
centerline point
centerline point
overlap interval
overlap interval
\ No newline at end of file