CommonRoad Drivability Checker
Collision avoidance, kinematic feasibility, and road-compliance must be validated to ensure the drivability of planned motions for autonomous vehicles. The CommonRoad Drivability Checker toolbox unifies these mentioned checks and more to simplify the development and validation of motion planning algorithms. It is compatible with the CommonRoad benchmark suite, which additionally facilitates and drastically reduces the effort of the development of motion planning algorithms. Check out our Getting-Started tutorial and our advanced tutorials to learn more!

Installation:
pip install commonroad-drivability-checker
A minimal example for checking solutions and evaluating their costs:
from commonroad.common.file_reader import CommonRoadFileReader
from commonroad.common.solution import CommonRoadSolutionReader
from commonroad_dc.feasibility.solution_checker import obstacle_collision,
boundary_collision, solution_feasible
from commonroad_dc.costs.evaluation import CostFunctionEvaluator
# load scenario and planning problem set
scenario, planning_problem_set = CommonRoadFileReader('Your_Scenario.xml').open()
# load solution (see commonroad-io Tutorial 2 for creating solutions)
solution = CommonRoadSolutionReader('Your_Solution.xml')
# check obstacle collisions
collision_result = obstacle_collision(scenario, planning_problem_set, solution)
# check road compliance
boundary_result = boundary_collision(scenario, planning_problem_set, solution)
# check kinematic feasibility
feasibility_result = solution_feasible(solution, scenario.dt, planning_problem_set)
# evaluate solution w.r.t. a cost function
ce = CostFunctionEvaluator.init_from_solution(solution)
cost_result = ce.evaluate_solution(scenario, planning_problem_set, solution)