From 1b94beed0f1cbd2505d3ed6caa225f0781514913 Mon Sep 17 00:00:00 2001 From: David Gasinski Date: Sun, 11 Jan 2026 10:26:04 +0000 Subject: [PATCH 001/133] removed redundant osc2 files --- srunner/scenarios/osc2_scenario.py | 1447 ---------------------------- 1 file changed, 1447 deletions(-) delete mode 100644 srunner/scenarios/osc2_scenario.py diff --git a/srunner/scenarios/osc2_scenario.py b/srunner/scenarios/osc2_scenario.py deleted file mode 100644 index f36dc6a..0000000 --- a/srunner/scenarios/osc2_scenario.py +++ /dev/null @@ -1,1447 +0,0 @@ -from __future__ import print_function - -import copy -import math -import operator -import random -import re -import sys -from typing import List, Tuple - -import py_trees -from agents.navigation.global_route_planner import GlobalRoutePlanner - -from srunner.osc2.ast_manager import ast_node -from srunner.osc2.ast_manager.ast_vistor import ASTVisitor - -# OSC2 -from srunner.osc2.symbol_manager.method_symbol import MethodSymbol -from srunner.osc2.symbol_manager.parameter_symbol import ParameterSymbol -from srunner.osc2.utils.log_manager import (LOG_INFO, LOG_ERROR, LOG_WARNING) -from srunner.osc2.utils.relational_operator import RelationalOperator -from srunner.osc2_dm.physical_types import Physical, Range - -# from sqlalchemy import true -# from srunner.osc2_stdlib import event, variables -from srunner.osc2_stdlib.modifier import ( - AccelerationModifier, - ChangeLaneModifier, - ChangeSpeedModifier, - LaneModifier, - PositionModifier, - SpeedModifier, -) - -# OSC2 -from srunner.scenarioconfigs.osc2_scenario_configuration import ( - OSC2ScenarioConfiguration, -) -from srunner.scenariomanager.carla_data_provider import CarlaDataProvider -from srunner.scenariomanager.scenarioatomics.atomic_behaviors import ( - ActorTransformSetter, - ChangeTargetSpeed, - LaneChange, - UniformAcceleration, - WaypointFollower, - calculate_distance, -) -from srunner.scenariomanager.scenarioatomics.atomic_criteria import CollisionTest -from srunner.scenariomanager.scenarioatomics.atomic_trigger_conditions import ( - IfTriggerer, - TimeOfWaitComparison, -) -from srunner.scenariomanager.timer import TimeOut -from srunner.scenarios.basic_scenario import BasicScenario -from srunner.tools.openscenario_parser import oneshot_with_check -from srunner.tools.osc2_helper import OSC2Helper - - -def para_type_str_sequence(config, arguments, line, column, node): - retrieval_name = "" - if isinstance(arguments, List): - for arg in arguments: - if isinstance(arg, Tuple): - if isinstance(arg[1], int): - retrieval_name = retrieval_name + "#int" - elif isinstance(arg[1], float): - retrieval_name = retrieval_name + "#float" - elif isinstance(arg[1], str): - retrieval_name = retrieval_name + "#str" - elif isinstance(arg[1], bool): - retrieval_name = retrieval_name + "#bool" - elif isinstance(arg[1], Physical): - physical_type_name = OSC2Helper.find_physical_type( - config.physical_dict, arg[1].unit.physical.si_base_exponent - ) - - if physical_type_name is None: - pass - else: - physical_type = ( - node.get_scope().resolve(physical_type_name).name - ) - retrieval_name += "#" + physical_type - else: - pass - elif isinstance(arg, str): - retrieval_name = retrieval_name + arg.split(".", 1)[-1] - else: - pass - elif isinstance(arguments, Tuple): - if isinstance(arguments[1], int): - retrieval_name = retrieval_name + "#int" - elif isinstance(arguments[1], float): - retrieval_name = retrieval_name + "#float" - elif isinstance(arguments[1], str): - retrieval_name = retrieval_name + "#str" - elif isinstance(arguments[1], bool): - retrieval_name = retrieval_name + "#bool" - elif isinstance(arguments[1], Physical): - physical_type_name = OSC2Helper.find_physical_type( - config.physical_dict, arguments[1].unit.physical.si_base_exponent - ) - - if physical_type_name is None: - pass - else: - physical_type = node.get_scope().resolve(physical_type_name).name - retrieval_name += "#" + physical_type - else: - pass - elif isinstance(arguments, int): - retrieval_name = retrieval_name + "#int" - elif isinstance(arguments, float): - retrieval_name = retrieval_name + "#float" - elif isinstance(arguments, str): - retrieval_name = retrieval_name + "#str" - elif isinstance(arguments, bool): - retrieval_name = retrieval_name + "#bool" - elif isinstance(arguments, Physical): - physical_type_name = OSC2Helper.find_physical_type( - config.physical_dict, arguments.unit.physical.si_base_exponent - ) - - if physical_type_name is None: - pass - else: - physical_type = node.get_scope().resolve(physical_type_name).name - retrieval_name += "#" + physical_type - else: - pass - return retrieval_name - - -def process_speed_modifier( - config, modifiers, duration: float, all_duration: float, father_tree -): - if not modifiers: - return - - for modifier in modifiers: - actor_name = modifier.get_actor_name() - - if isinstance(modifier, SpeedModifier): - # en_value_mps() The speed unit in Carla is m/s, so the default conversion unit is m/s - target_speed = modifier.get_speed().gen_physical_value() - # target_speed = float(modifier.get_speed())*0.27777778 - actor = CarlaDataProvider.get_actor_by_name(actor_name) - car_driving = WaypointFollower(actor, target_speed) - # car_driving.set_duration(duration) - - father_tree.add_child(car_driving) - - car_config = config.get_car_config(actor_name) - car_config.set_arg({"target_speed": target_speed}) - LOG_WARNING( - f"{actor_name} car speed will be set to {target_speed * 3.6} km/h" - ) - - # # _velocity speed, go straight down the driveway, and will hit the wall - # keep_speed = KeepVelocity(actor, target_speed, duration=father_duration.num) - elif isinstance(modifier, ChangeSpeedModifier): - # speed_delta indicates the increment of velocity - speed_delta = modifier.get_speed().gen_physical_value() - speed_delta = speed_delta * 3.6 - current_car_conf = config.get_car_config(actor_name) - current_car_speed = current_car_conf.get_arg("target_speed") - current_car_speed = current_car_speed * 3.6 - target_speed = current_car_speed + speed_delta - LOG_WARNING( - f"{actor_name} car speed will be changed to {target_speed} km/h" - ) - - actor = CarlaDataProvider.get_actor_by_name(actor_name) - change_speed = ChangeTargetSpeed(actor, target_speed) - - car_driving = WaypointFollower(actor) - # car_driving.set_duration(duration) - - father_tree.add_child(change_speed) - father_tree.add_child(car_driving) - elif isinstance(modifier, AccelerationModifier): - current_car_conf = config.get_car_config(actor_name) - current_car_speed = current_car_conf.get_arg("target_speed") - accelerate_speed = modifier.get_accelerate().gen_physical_value() - target_velocity = current_car_speed + accelerate_speed * duration - actor = CarlaDataProvider.get_actor_by_name(actor_name) - start_time = all_duration - duration - uniform_accelerate_speed = UniformAcceleration( - actor, current_car_speed, target_velocity, accelerate_speed, start_time - ) - print("END ACCELERATION") - car_driving = WaypointFollower(actor) - - father_tree.add_child(uniform_accelerate_speed) - father_tree.add_child(car_driving) - else: - LOG_WARNING("not implement modifier") - - -def process_location_modifier(config, modifiers, duration: float, father_tree): - # position([distance: ] | time: