From a19e7656131cf0f5d7b12f17eb194b34b133df26 Mon Sep 17 00:00:00 2001 From: johannaschwarz Date: Fri, 1 Nov 2024 18:23:43 +0100 Subject: [PATCH 1/4] Graph and Global Planning desc --- .../src/global_planner/global_planner.py | 16 +++++++-------- .../research_assets/planning_internal.png | Bin 0 -> 132805 bytes doc/planning/Global_Planner.md | 18 ++++++++--------- .../paf24/planning/local_v_global_planning.md | 19 ++++++++++++++++++ 4 files changed, 34 insertions(+), 19 deletions(-) create mode 100644 doc/assets/research_assets/planning_internal.png create mode 100644 doc/research/paf24/planning/local_v_global_planning.md diff --git a/code/planning/src/global_planner/global_planner.py b/code/planning/src/global_planner/global_planner.py index 291e161b..2d39ab33 100755 --- a/code/planning/src/global_planner/global_planner.py +++ b/code/planning/src/global_planner/global_planner.py @@ -1,17 +1,15 @@ #!/usr/bin/env python -import rospy -import tf.transformations -import ros_compatibility as roscomp -from ros_compatibility.node import CompatibleNode from xml.etree import ElementTree as eTree -from geometry_msgs.msg import PoseStamped, Pose, Point, Quaternion +import ros_compatibility as roscomp +import rospy +import tf.transformations from carla_msgs.msg import CarlaRoute # , CarlaWorldInfo +from geometry_msgs.msg import Point, Pose, PoseStamped, Quaternion from nav_msgs.msg import Path -from std_msgs.msg import String -from std_msgs.msg import Float32MultiArray - from preplanning_trajectory import OpenDriveConverter +from ros_compatibility.node import CompatibleNode +from std_msgs.msg import Float32MultiArray, String RIGHT = 1 LEFT = 2 @@ -29,7 +27,7 @@ class PrePlanner(CompatibleNode): - global Plan: /carla/{role_name}/global_plan - current agent position: /paf/{role_name}/current_pos Published topics: - - preplanned trajectory: /paf/{role_name}/trajectory + - preplanned trajectory: /paf/{role_name}/trajectory_global - prevailing speed limits:/paf/{role_name}/speed_limits_OpenDrive """ diff --git a/doc/assets/research_assets/planning_internal.png b/doc/assets/research_assets/planning_internal.png new file mode 100644 index 0000000000000000000000000000000000000000..ed9c9d1ccc6a25ca54851f0ecfb47a7ed36497b1 GIT binary patch literal 132805 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�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 literal 0 HcmV?d00001 diff --git a/doc/planning/Global_Planner.md b/doc/planning/Global_Planner.md index 2d3e4ea9..74d55072 100644 --- a/doc/planning/Global_Planner.md +++ b/doc/planning/Global_Planner.md @@ -9,12 +9,11 @@ to the other components of this project (acting, decision making,...). This component and so most of the documentation was taken from the previous project PAF22 (Authors: Simon Erlbacher, Niklas Vogel) -- [Global Planner](#global-planner) - - [Getting started](#getting-started) - - [Description](#description) - - [Inputs](#inputs) - - [Outputs](#outputs) - - [Testing](#testing) +- [Getting started](#getting-started) +- [Description](#description) + - [Inputs](#inputs) + - [Outputs](#outputs) +- [Testing](#testing) ## Getting started @@ -25,8 +24,7 @@ No extra installation needed. ## Description -First the global planner is responsible for collecting and preparing all data from the leaderboard and other intern -components that is needed for the preplanning component. +First the global planner is responsible for collecting and preparing all data from the leaderboard and other internal components that is needed for the preplanning component. To get an instance of the OpenDriveConverter (ODC) the received OpenDrive Map prevailing in String format has to be converted. In our case we use the @@ -56,8 +54,8 @@ The received agent spawn position is valid if it´s closer to the first waypoint parameter expresses. This is necessary to prevent unwanted behaviour in the startup phase where the current agent position is faulty. -When the ODC got initialised, the current agent position is received and the global plan is obtained from -the leaderboard the trajectory can be calculated by iterating through the global route and passing it to the ODC. +When the ODC is initialised, the current agent position is received and the global plan is obtained from +the leaderboard. The trajectory can be calculated by iterating through the global route and passing it to the ODC. After smaller outliners are removed the x and y coordinates as well as the yaw-orientation and the prevailing speed limits can be acquired from the ODC in the following form: diff --git a/doc/research/paf24/planning/local_v_global_planning.md b/doc/research/paf24/planning/local_v_global_planning.md new file mode 100644 index 00000000..8ba49e63 --- /dev/null +++ b/doc/research/paf24/planning/local_v_global_planning.md @@ -0,0 +1,19 @@ +# Relation beteween local and global planning + +Communication between Global and Local Planning is done via ros topics. Here is a graph showing the relation between the nodes. + +- Global Planning: PrePlanner +- Local Planning: ACC (Adaptive Cruise Control), CollisionCheck, MotionPlanning + +![Graph relation](/doc/assets/research_assets/planning_internal.png) + +## Global Planning + +Global planning consits of the PrePlanner Node and the OpenDriveConverter. + +- OpenDriveConverter: The class is primarily used to process OpenDrive maps and extract relevant information needed for trajectory planning. +- PrePlanner Node: The PrePlanner node is responsible for creating a trajectory out of an OpenDrive Map with the belonging road options. + - the `/paf/hero/trajectory_global` topic published is used internally for the preplanned trajectory. + +## Local Planning + From 26133f0595b69891046bd1436a32e7b8a1e7340c Mon Sep 17 00:00:00 2001 From: johannaschwarz Date: Fri, 1 Nov 2024 18:44:36 +0100 Subject: [PATCH 2/4] Update docu --- doc/planning/Collision_Check.md | 11 +++++------ doc/planning/Global_Planner.md | 5 ++--- doc/planning/README.md | 5 ++--- .../paf24/planning/local_v_global_planning.md | 12 ++++++++++++ 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/doc/planning/Collision_Check.md b/doc/planning/Collision_Check.md index d3e88572..bbf6032c 100644 --- a/doc/planning/Collision_Check.md +++ b/doc/planning/Collision_Check.md @@ -3,12 +3,11 @@ **Summary:** This module is responsible for detecting collisions and reporting them. It subscribes to topics that provide information about the current speed of the vehicle and the distances to objects detected by a LIDAR sensor. It publishes topics that provide information about emergency stops, the distance to collisions, the distance to oncoming traffic, and the approximated speed of the obstacle in front. -- [Collision Check](#collision-check) - - [Component](#component) - - [ROS Data Interface](#ros-data-interface) - - [Published Topics](#published-topics) - - [Subscribed Topics](#subscribed-topics) - - [Node Creation + Running Tests](#node-creation--running-tests) +- [Component](#component) +- [ROS Data Interface](#ros-data-interface) + - [Published Topics](#published-topics) + - [Subscribed Topics](#subscribed-topics) +- [Node Creation + Running Tests](#node-creation--running-tests) ## Component diff --git a/doc/planning/Global_Planner.md b/doc/planning/Global_Planner.md index 74d55072..08a00760 100644 --- a/doc/planning/Global_Planner.md +++ b/doc/planning/Global_Planner.md @@ -1,11 +1,10 @@ # Global Planner **Summary:** [global_planner.py](.../code/planning/global_planner/src/global_planner.py): -The global planner is responsible for collecting and preparing all data from the leaderboard and other intern +The global planner is responsible for collecting and preparing all data from the leaderboard and other internal components that is needed for the preplanning component. After finishing that this node initiates the calculation of a trajectory based on the OpenDriveConverter -from preplanning_trajectory.py. In the end the computed trajectory and prevailing speed limits are published -to the other components of this project (acting, decision making,...). +from preplanning_trajectory.py. In the end the computed trajectory and prevailing speed limits are published. This component and so most of the documentation was taken from the previous project PAF22 (Authors: Simon Erlbacher, Niklas Vogel) diff --git a/doc/planning/README.md b/doc/planning/README.md index 378d94bd..6a70faf9 100644 --- a/doc/planning/README.md +++ b/doc/planning/README.md @@ -10,11 +10,10 @@ from the leaderboard with the belonging actions. For example action number 3 mea ### [Global plan](./Global_Planner.md) -The global planner is responsible for collecting and preparing all data from the leaderboard and other intern +The global planner is responsible for collecting and preparing all data from the leaderboard and other internal components that is needed for the preplanning component. After finishing that this node initiates the calculation of a trajectory based on the OpenDriveConverter -from preplanning_trajectory.py. In the end the computed trajectory and prevailing speed limits are published -to the other components of this project (acting, decision making,...). +from preplanning_trajectory.py. In the end the computed trajectory and prevailing speed limits are published. ![img.png](../assets/Global_Plan.png) diff --git a/doc/research/paf24/planning/local_v_global_planning.md b/doc/research/paf24/planning/local_v_global_planning.md index 8ba49e63..56042fe1 100644 --- a/doc/research/paf24/planning/local_v_global_planning.md +++ b/doc/research/paf24/planning/local_v_global_planning.md @@ -17,3 +17,15 @@ Global planning consits of the PrePlanner Node and the OpenDriveConverter. ## Local Planning +Local planning consists of the ACC, CollisionCheck and MotionPlanning nodes. It uses information from the Global Planning to make decisions in the local environment of the ego vehicle. It creates a trajectory based on the global trajectory and the current position of the vehicle that is used by the acting component. + +- ACC: The Adaptive Cruise Control node is responsible for calculating the desired speed of the vehicle based on the current speed, trajectory, and speed limits. + - receives Speed from `/carla/hero/Speed` + - receives speed limits from `/paf/hero/speed_limits_OpenDrive` + - receives global trajectory from `/paf/hero/trajectory_global` +- CollisionCheck: The Collision Check node is responsible for detecting collisions and reporting them. + - receives current speed from `/carla/hero/Speed` + - receives distances to objects detected by a LIDAR sensor from `/paf/hero/Center/object_distance` +- MotionPlanning: The Motion Planning node is responsible for calculating the desired trajectory based on the current position of the vehicle and the global trajectory. + - receives speed information from ACC + - receives global trajectory from `/paf/hero/trajectory_global` \ No newline at end of file From 30d12b48f5aa53e2669120c4dc9f9782747e46ea Mon Sep 17 00:00:00 2001 From: johannaschwarz Date: Sun, 3 Nov 2024 10:21:24 +0100 Subject: [PATCH 3/4] Update Doc strings --- .../src/global_planner/global_planner.py | 6 +++--- .../global_planner/preplanning_trajectory.py | 10 +++++----- code/planning/src/local_planner/ACC.py | 17 ++++++++--------- doc/planning/Collision_Check.md | 11 ++++++----- doc/planning/Global_Planner.md | 11 ++++++----- .../paf24/planning/local_v_global_planning.md | 6 ++++-- 6 files changed, 32 insertions(+), 29 deletions(-) diff --git a/code/planning/src/global_planner/global_planner.py b/code/planning/src/global_planner/global_planner.py index 2d39ab33..deeb0f32 100755 --- a/code/planning/src/global_planner/global_planner.py +++ b/code/planning/src/global_planner/global_planner.py @@ -19,7 +19,7 @@ class PrePlanner(CompatibleNode): """ This node is responsible for collecting all data needed for the - preplanning and calculate a trajectory based on the OpenDriveConverter + preplanning and calculating a trajectory based on the OpenDriveConverter from preplanning_trajectory.py. Subscribed/needed topics: - OpenDrive Map: /carla/{role_name}/OpenDRIVE @@ -88,7 +88,7 @@ def global_route_callback(self, data: CarlaRoute) -> None: """ when the global route gets updated a new trajectory is calculated with the help of OpenDriveConverter and published into - '/paf/ self.role_name /trajectory' + '/paf/ self.role_name /trajectory_global' :param data: global Route """ if data is None: @@ -211,7 +211,7 @@ def global_route_callback(self, data: CarlaRoute) -> None: def world_info_callback(self, opendrive: String) -> None: """ - when the map gets updated a mew OpenDriveConverter instance is created + when the map gets updated a new OpenDriveConverter instance is created (needed for the trajectory preplanning) :param opendrive: updated CarlaWorldInformation """ diff --git a/code/planning/src/global_planner/preplanning_trajectory.py b/code/planning/src/global_planner/preplanning_trajectory.py index 478addd7..2300627e 100755 --- a/code/planning/src/global_planner/preplanning_trajectory.py +++ b/code/planning/src/global_planner/preplanning_trajectory.py @@ -1,9 +1,9 @@ import copy -from xml.etree import ElementTree as eTree -import help_functions +from math import cos, degrees, sin from typing import Tuple -from math import sin, cos, degrees +from xml.etree import ElementTree as eTree +import help_functions # Check small distance between two points SMALL_DIST = 0.001 @@ -220,7 +220,7 @@ def calculate_intervalls_id( ): """ The function assumes, that the current chosen road is not the only - one that is possible. The current raad is calculated based on all + one that is possible. The current road is calculated based on all possible scenarios not assuming that the succ and pred road are both junctions. :param agent: current position of the agent with x and y coordinate @@ -287,7 +287,7 @@ def calculate_intervalls_id( def get_special_case_id(self, road: int, current: int, agent: Tuple[float, float]): """When the function get_min_dist() returns two solutions with the - same distance, this function calculated the distance based on the + same distance, this function calculates the distance based on the interpolation of the two possible roads. :param road: id value of the successor or predecessor road :param current: id value of the current road diff --git a/code/planning/src/local_planner/ACC.py b/code/planning/src/local_planner/ACC.py index 74b681b2..2e3fa8c8 100755 --- a/code/planning/src/local_planner/ACC.py +++ b/code/planning/src/local_planner/ACC.py @@ -1,19 +1,18 @@ #!/usr/bin/env python +import numpy as np import ros_compatibility as roscomp -from ros_compatibility.node import CompatibleNode -from rospy import Subscriber, Publisher -from geometry_msgs.msg import PoseStamped from carla_msgs.msg import CarlaSpeedometer # , CarlaWorldInfo +from geometry_msgs.msg import PoseStamped from nav_msgs.msg import Path -from std_msgs.msg import Float32MultiArray, Float32, Bool -import numpy as np -from utils import interpolate_speed, calculate_rule_of_thumb +from ros_compatibility.node import CompatibleNode +from rospy import Publisher, Subscriber +from std_msgs.msg import Bool, Float32, Float32MultiArray +from utils import calculate_rule_of_thumb, interpolate_speed class ACC(CompatibleNode): - """ - This node recieves a possible collision and - """ + """ACC (Adaptive Cruise Control) calculates and publishes the desired speed based on + possible collisions, the current speed, the trajectory, and the speed limits.""" def __init__(self): super(ACC, self).__init__("ACC") diff --git a/doc/planning/Collision_Check.md b/doc/planning/Collision_Check.md index bbf6032c..d3e88572 100644 --- a/doc/planning/Collision_Check.md +++ b/doc/planning/Collision_Check.md @@ -3,11 +3,12 @@ **Summary:** This module is responsible for detecting collisions and reporting them. It subscribes to topics that provide information about the current speed of the vehicle and the distances to objects detected by a LIDAR sensor. It publishes topics that provide information about emergency stops, the distance to collisions, the distance to oncoming traffic, and the approximated speed of the obstacle in front. -- [Component](#component) -- [ROS Data Interface](#ros-data-interface) - - [Published Topics](#published-topics) - - [Subscribed Topics](#subscribed-topics) -- [Node Creation + Running Tests](#node-creation--running-tests) +- [Collision Check](#collision-check) + - [Component](#component) + - [ROS Data Interface](#ros-data-interface) + - [Published Topics](#published-topics) + - [Subscribed Topics](#subscribed-topics) + - [Node Creation + Running Tests](#node-creation--running-tests) ## Component diff --git a/doc/planning/Global_Planner.md b/doc/planning/Global_Planner.md index 08a00760..94a66612 100644 --- a/doc/planning/Global_Planner.md +++ b/doc/planning/Global_Planner.md @@ -8,11 +8,12 @@ from preplanning_trajectory.py. In the end the computed trajectory and prevailin This component and so most of the documentation was taken from the previous project PAF22 (Authors: Simon Erlbacher, Niklas Vogel) -- [Getting started](#getting-started) -- [Description](#description) - - [Inputs](#inputs) - - [Outputs](#outputs) -- [Testing](#testing) +- [Global Planner](#global-planner) + - [Getting started](#getting-started) + - [Description](#description) + - [Inputs](#inputs) + - [Outputs](#outputs) + - [Testing](#testing) ## Getting started diff --git a/doc/research/paf24/planning/local_v_global_planning.md b/doc/research/paf24/planning/local_v_global_planning.md index 56042fe1..506d7e1c 100644 --- a/doc/research/paf24/planning/local_v_global_planning.md +++ b/doc/research/paf24/planning/local_v_global_planning.md @@ -17,7 +17,8 @@ Global planning consits of the PrePlanner Node and the OpenDriveConverter. ## Local Planning -Local planning consists of the ACC, CollisionCheck and MotionPlanning nodes. It uses information from the Global Planning to make decisions in the local environment of the ego vehicle. It creates a trajectory based on the global trajectory and the current position of the vehicle that is used by the acting component. +Local planning consists of the ACC, CollisionCheck and MotionPlanning nodes. It uses information from the Global Planning to make decisions in the local environment of the ego vehicle. +It creates a trajectory based on the global trajectory and the current position of the vehicle that is used by the acting component. - ACC: The Adaptive Cruise Control node is responsible for calculating the desired speed of the vehicle based on the current speed, trajectory, and speed limits. - receives Speed from `/carla/hero/Speed` @@ -28,4 +29,5 @@ Local planning consists of the ACC, CollisionCheck and MotionPlanning nodes. It - receives distances to objects detected by a LIDAR sensor from `/paf/hero/Center/object_distance` - MotionPlanning: The Motion Planning node is responsible for calculating the desired trajectory based on the current position of the vehicle and the global trajectory. - receives speed information from ACC - - receives global trajectory from `/paf/hero/trajectory_global` \ No newline at end of file + - receives global trajectory from `/paf/hero/trajectory_global` + \ No newline at end of file From d9e11478da620f45af58979031ca201b4206ed24 Mon Sep 17 00:00:00 2001 From: Johanna Schwarz <76784140+johannaschwarz@users.noreply.github.com> Date: Sun, 3 Nov 2024 10:37:20 +0100 Subject: [PATCH 4/4] Update doc/research/paf24/planning/local_v_global_planning.md Co-authored-by: Niklas Rousset <75939868+niklasr22@users.noreply.github.com> --- doc/research/paf24/planning/local_v_global_planning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/research/paf24/planning/local_v_global_planning.md b/doc/research/paf24/planning/local_v_global_planning.md index 506d7e1c..73383fdf 100644 --- a/doc/research/paf24/planning/local_v_global_planning.md +++ b/doc/research/paf24/planning/local_v_global_planning.md @@ -9,7 +9,7 @@ Communication between Global and Local Planning is done via ros topics. Here is ## Global Planning -Global planning consits of the PrePlanner Node and the OpenDriveConverter. +Global planning consists of the PrePlanner Node and the OpenDriveConverter. - OpenDriveConverter: The class is primarily used to process OpenDrive maps and extract relevant information needed for trajectory planning. - PrePlanner Node: The PrePlanner node is responsible for creating a trajectory out of an OpenDrive Map with the belonging road options.