BerkeleyLearnVerify / Scenic

A compiler and scenario generator for the Scenic scenario description language.
https://scenic-lang.org/
Other
274 stars 92 forks source link

Problem with carla simulation (only 2d allowed) #229

Closed davidscientistcom closed 5 months ago

davidscientistcom commented 6 months ago

System Details

  1. python version: Python 3.10.0
  2. Scenic version: Scenic 3.0.0b2
  3. OS Version: Microsoft Windows 11
  4. Simulator version: Carla 0.9.15

Detailed Description

It is impossible to load carla in 3d simulator. Only the 2d version is possible to load even with the simplest possible script.

error (3_10) PS D:\carla_dev\Scenic\examples\carla> scenic -b .\car.scenic Beginning scenario construction... Loading cached version of road network... Loaded cached network in 0.11 seconds. D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\shapely\set_operations.py:419: RuntimeWarning: divide by zero encountered in unary_union return lib.unary_union(collections, *kwargs) Traceback (most recent call last): File "C:\Users\battl\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\battl\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code exec(code, run_globals) File "D:\carla_dev\Scenic\examples\carla\3_10\Scripts\scenic.exe__main.py", line 4, in from scenic.main import dummy File "D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\scenic\main.py", line 194, in scenario = errors.callBeginningScenicTrace( File "D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\scenic\core\errors.py", line 282, in callBeginningScenicTrace return func() File "D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\scenic\main.py", line 195, in lambda: translator.scenarioFromFile( File "D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\scenic\syntax\translator.py", line 142, in scenarioFromFile return _scenarioFromStream( File "D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\scenic\syntax\translator.py", line 172, in _scenarioFromStream compileStream(stream, namespace, compileOptions, filename) File "D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\scenic\syntax\translator.py", line 321, in compileStream executeCodeIn(code, namespace) File "D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\scenic\syntax\translator.py", line 560, in executeCodeIn exec(code, namespace) File "D:\carla_dev\Scenic\examples\carla\car.scenic", line 1, in param map = localPath('Town01.xodr') File "D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\scenic\syntax\veneer.py", line 910, in model module = importlib.import_module(modelName) File "C:\Users\battl\AppData\Local\Programs\Python\Python310\lib\importlib\init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1050, in _gcd_import File "", line 1027, in _find_and_load File "", line 1006, in _find_and_load_unlocked File "", line 688, in _load_unlocked File "D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\scenic\syntax\translator.py", line 398, in exec_module code, pythonSource = compileStream( File "D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\scenic\syntax\translator.py", line 321, in compileStream executeCodeIn(code, namespace) File "D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\scenic\syntax\translator.py", line 560, in executeCodeIn exec(code, namespace) File "D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\scenic\simulators\carla\model.scenic", line 43, in from scenic.domains.driving.model import File "", line 1027, in _find_and_load File "", line 1006, in _find_and_load_unlocked File "", line 688, in _load_unlocked File "D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\scenic\syntax\translator.py", line 398, in exec_module code, pythonSource = compileStream( File "D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\scenic\syntax\translator.py", line 321, in compileStream executeCodeIn(code, namespace) File "D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\scenic\syntax\translator.py", line 560, in executeCodeIn exec(code, namespace) File "D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\scenic\domains\driving\model.scenic", line 248, in class Vehicle(DrivingObject): File "D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\scenic\core\object_types.py", line 131, in __init_subclass__ spec = primary.resolveFor(prop, rest) File "D:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\scenic\core\specifiers.py", line 120, in resolveFor raise InvalidScenarioError(msg) scenic.core.errors.InvalidScenarioError: "heading" property cannot be overridden (perhaps this scenario requires the --2d flag?)

DEBUGGING NEW INFO:

d:\carla_dev\Scenic\examples\carla\3_10\lib\site-packages\shapely\set_operations.py:419: RuntimeWarning: divide by zero encountered in unary_union return lib.unary_union(collections, **kwargs)

Steps To Reproduce

param map = localPath('Town01.xodr') model scenic.simulators.carla.model

ego = new Car

THE MAP TOWN01 IS TAKEN FROM SCENIC MAPS

scenic -b .\car.scenic

Issue Submission Checklist

Eric-Vin commented 5 months ago

Sorry about the delayed response! As of right now, the driving domain is only available when using 2D mode, documented here. We've been looking into making the driving domain available outside of 2D mode for the 3.0 release, and in a future release we plan to add the ability to parse 3D Opendrive map information.

davidscientistcom commented 5 months ago

Ok. I will use Scenic 2. Thanks!!