Skip to content

Examples

from commonroad_velocity_planner.velocity_planner_interface import ImplementedPlanners

Example 1

General planning

# commonroad
from commonroad.common.file_reader import CommonRoadFileReader
from commonroad_velocity_planner.global_trajectory import GlobalTrajectory

# own code base
from commonroad_global_planner.global_planner import GlobalPlanner
from commonroad_global_planner.utils.visualization import visualize_global_trajectory

# cr-io
scenario, planning_problem_set = CommonRoadFileReader("PATH/TO/XML").open()
planning_problem = list(planning_problem_set.planning_problem_dict.values())[0]

global_planner: GlobalPlanner = GlobalPlanner(
    scenario=scenario,
    planning_problem=planning_problem
)
global_trajectory: GlobalTrajectory = global_planner.plan_global_trajectory()

visualize_global_trajectory(
    scenario=scenario,
    planning_problem=planning_problem,
    global_trajectory=global_trajectory,
    save_img=True,
    save_path="PATH/TO/SAVEV/TO",
)

Example 2

Planning with traffic lights and stop signs. The traffic light states are evaluated at the time step set with regulatory_stop_elements_step.

# commonroad
from commonroad.common.file_reader import CommonRoadFileReader
from commonroad_velocity_planner.global_trajectory import GlobalTrajectory

# own code base
from commonroad_global_planner.global_planner import GlobalPlanner
from commonroad_global_planner.utils.visualization import visualize_global_trajectory

# cr-io
scenario, planning_problem_set = CommonRoadFileReader("PATH/TO/XML").open()
planning_problem = list(planning_problem_set.planning_problem_dict.values())[0]

global_planner: GlobalPlanner = GlobalPlanner(
    scenario=scenario,
    planning_problem=planning_problem
)
global_trajectory: GlobalTrajectory = global_planner.plan_global_trajectory(
    use_regulatory_stop_elements=True,
    regulatory_elements_time_step=0
)

visualize_global_trajectory(
    scenario=scenario,
    planning_problem=planning_problem,
    global_trajectory=global_trajectory,
    save_img=True,
    save_path="PATH/TO/SAVEV/TO",
)

Example 3

Change to another velocity profile planner by using the velocity_planner kwarg. Here, we use a much more speed-focused planner based on bang-bang control.

# commonroad
from commonroad.common.file_reader import CommonRoadFileReader
from commonroad_velocity_planner.global_trajectory import GlobalTrajectory

# own code base
from commonroad_global_planner.global_planner import GlobalPlanner
from commonroad_global_planner.utils.visualization import visualize_global_trajectory
from commonroad_velocity_planner.velocity_planner_interface import ImplementedPlanners

# cr-io
scenario, planning_problem_set = CommonRoadFileReader("PATH/TO/XML").open()
planning_problem = list(planning_problem_set.planning_problem_dict.values())[0]

global_planner: GlobalPlanner = GlobalPlanner(
    scenario=scenario,
    planning_problem=planning_problem
)
global_trajectory: GlobalTrajectory = global_planner.plan_global_trajectory(
    velocity_planner=ImplementedPlanners.BangBangSTPlanner
)

visualize_global_trajectory(
    scenario=scenario,
    planning_problem=planning_problem,
    global_trajectory=global_trajectory,
    save_img=True,
    save_path="PATH/TO/SAVEV/TO",
)