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",
)