IDM Easy API
IDM Easy Api
The IDM Easy Api has some core functionalities readily available as single-line commands
Example 1: Solve Planning Problem
# commonroad
from commonroad.common.file_reader import CommonRoadFileReader
from commonroad.planning.planning_problem import PlanningProblem
from commonroad_idm_planner.idm_easy_api import solve_planning_problem
scenario, planning_problem_set = CommonRoadFileReader("PATH/TO/XML").open()
planning_problem: PlanningProblem = list(planning_problem_set.planning_problem_dict.values())[0]
idm_planner = solve_planning_problem(
scenario=scenario,
planning_problem=planning_problem
)
Example 2: Solve Planning Problem and get trajectory directly
# commonroad
from commonroad.common.file_reader import CommonRoadFileReader
from commonroad.planning.planning_problem import PlanningProblem
from commonroad_idm_planner.idm_easy_api import solve_planning_problem_and_get_trajectory
scenario, planning_problem_set = CommonRoadFileReader("PATH/TO/XML").open()
planning_problem: PlanningProblem = list(planning_problem_set.planning_problem_dict.values())[0]
idm_trajectory = solve_planning_problem_and_get_trajectory(
scenario=scenario,
planning_problem=planning_problem
)
Example 3: Solve Planning Problem and get state and input trajectory
# commonroad
from commonroad.common.file_reader import CommonRoadFileReader
from commonroad.planning.planning_problem import PlanningProblem
from commonroad_idm_planner.idm_easy_api import solve_planning_problem_and_get_state_and_input_trajectory
scenario, planning_problem_set = CommonRoadFileReader("PATH/TO/XML").open()
planning_problem: PlanningProblem = list(planning_problem_set.planning_problem_dict.values())[0]
idm_trajectory = solve_planning_problem_and_get_state_and_input_trajectory(
scenario=scenario,
planning_problem=planning_problem
)
Example 4: Solve Planning Problem and Visualize
# commonroad
from commonroad.common.file_reader import CommonRoadFileReader
from commonroad.planning.planning_problem import PlanningProblem
from commonroad_idm_planner.idm_easy_api import solve_planning_problem_and_plot_results
scenario, planning_problem_set = CommonRoadFileReader("PATH/TO/XML").open()
planning_problem: PlanningProblem = list(planning_problem_set.planning_problem_dict.values())[0]
idm_planner = solve_planning_problem_and_plot_results(
scenario=scenario,
planning_problem=planning_problem,
save_path="PATH/FOR/SAVING/IMGS"
)