When trying to load this following (programatically generated) scenario in the Scenario Designer, I’m getting this error message:
I don’t think it’s an actual bug with Scenario Designer, but rather some problem with my scenario. I can’t figure out the issue, though. Would be super thankful if somebody could help me debug this or at least help me get a more meaningful error message.
Some of the lanelets are invalid / self-intersecting polygons, but I don’t think that’s what’s causing the error message, or is it?
Managed to get a more descriptive error message on the command-line. Still not entirely sure how to resolve this. Apparently my lanelets are faulty, but in what way specifically? And is there an option to simply skip loading broken lanelets?
crdesigner --input-file=/tmp/cr001_out.xml verify-map
Traceback (most recent call last):
File "/home/ferdinand/dev/atks/commonroad-scenario-designer/venv/bin/crdesigner", line 8, in <module>
sys.exit(cli())
File "/home/ferdinand/dev/atks/commonroad-scenario-designer/crdesigner/ui/command_line.py", line 95, in verify_map
sc, valid = verify_and_repair_scenario(sc)
File "/home/ferdinand/dev/atks/commonroad-scenario-designer/crdesigner/verification_repairing/map_verification_repairing.py", line 70, in verify_and_repair_scenario
network, result = verify_and_repair_map(copy.deepcopy(scenario.lanelet_network), config, scenario.scenario_id)
File "/home/ferdinand/dev/atks/commonroad-scenario-designer/crdesigner/verification_repairing/map_verification_repairing.py", line 143, in verify_and_repair_map
invalid_states = map_verifier.verify()
File "/home/ferdinand/dev/atks/commonroad-scenario-designer/crdesigner/verification_repairing/verification/map_verifier.py", line 61, in verify
invalid_states = self._unpartitioned_verify()
File "/home/ferdinand/dev/atks/commonroad-scenario-designer/crdesigner/verification_repairing/verification/map_verifier.py", line 84, in _unpartitioned_verify
valid_checker.check_validity(self._config.verification, results)
File "/home/ferdinand/dev/atks/commonroad-scenario-designer/crdesigner/verification_repairing/verification/hol/satisfaction.py", line 61, in check_validity
self._solve_formula(formula, model)
File "/home/ferdinand/dev/atks/commonroad-scenario-designer/crdesigner/verification_repairing/verification/hol/satisfaction.py", line 93, in _solve_formula
if not formula.evaluate():
File "/home/ferdinand/dev/atks/commonroad-scenario-designer/crdesigner/verification_repairing/verification/hol/formula.py", line 154, in evaluate
return self._expr.evaluate()
File "/home/ferdinand/dev/atks/commonroad-scenario-designer/crdesigner/verification_repairing/verification/hol/expression_tree/atomic/predicate.py", line 71, in evaluate
return self._func(*args)
File "/home/ferdinand/dev/atks/commonroad-scenario-designer/crdesigner/verification_repairing/verification/hol/functions/predicates/lanelet_predicates.py", line 134, in is_correct_left_right_boundary_assignment
return not _wrong_left_right_boundary_side(lanelet.center_vertices, lanelet.left_vertices, lanelet.right_vertices)
File "/home/ferdinand/dev/atks/commonroad-scenario-designer/crdesigner/verification_repairing/verification/hol/functions/predicates/lanelet_predicates.py", line 169, in _wrong_left_right_boundary_side
return sum(left - right > 0) / len(left) < config.perc_vert_wrong_side
TypeError: unsupported operand type(s) for -: 'NoneType' and 'NoneType'
Never mind, looks like I need to fix my lanelet network…