Skip to content

Commit 5197000

Browse files
authored
[Feature] Camera rendering configuration (#2137)
* Add an initial set of masking utilities. * Add an initial set of masking utilities. * Push background improvements * Demonstrate more of observation conversion * Fix heightfield.py * Improve performance of kernel * Format * Add edge generation file. * Show minicity. * Update bitmap * Improve kernel padding. * Remove default padding from mesh2bitmap. * Fix perlin generator. * Update perlin with shift. * Rename perlin bitmap tool. * Constrain perlin tool table cache. * Move graphics tools to sstudio.graphics. * Update terminology * Warn if map source cannot be resolved. * Rename method to clarify use. * Fix observation issues. * Updated changes. * Add offroad noise. * Add loop driving example. * Initial gpu texture generation. * Update shaders. * Prepare geometry for base solution. * Add headless display back to options. * Update faq. * Investigate offscreen cameras. * Update configuration. * Update * Update shader step with padding information. * Update. * Fix logical errors. * Fix missing observation and style issues. * Update observations. * Hook up variable custom render dependencies. * Change blank space to green. * Scale simplex noise in simplex shader. * Fix formatting. * Optimize waypoint conversion. * Formatting and cleanup. * Fix math utility function. * Fix type return error with interpolate_waypoints. * Remove redundant method. * Fix type checking. * Remove cpu version of perlin noise generator. * Fix broken import. * Fix more types issues. * Switch on engine debug mode. * Fix bug with configuration utility. * make format * Add buffer configuration options. * Pass buffer dependencies. * Plan next change. * Add types information to sensor. * Add the current render look. * Solve some docs errors. * Update mask example to use constant dependency. * Reduce lidar array allocations. * Remove rogue print. * Determine shader input types. * Fix bug with rendering on smarts reset. * Embed pybullet frequency default. * Generalize offscreen camera update signature. * Add updating buffers. * Force low dimension observations to use standard python types instead of numpy. * Fix renderer test. * Ensure waypoint types types are exact. * Add remaining observation buffers. * Send only observation buffers that are in use. * Update mask.py. * Update shader file names. * Add shader uniforms test. * Update engine configuration documentation. * Further update documenation * Fix benchmark examples. * Remove rendundant utilities * Fix test * Update agent documentation. * Add missing uniform to test. * Rename to fix variable names. * Remove unused graphics. * Fix tuple addition. * Fix test failure. * Close in on release. * Fix doc. * Fix type check in renderer. * Fix type errors. * Fix docs tests. * Add missing docstring. * Fix final type issues. * Fix point distance check. * Fix shutdown test. * Run renderer test. * Update dockerfiles to add renderer dockerfile. * Update install options. * Log renderer backend. * Restore renderer test. * Enable model caching. * Use software render for tests. * Debug rendering. * Update dockerfiles. * Remove unused files. * Try running xorg in earlier step. * Add test duration information to pytest commands. * Remove model cache optimization. * Fix ray and parallel sensor resolvers. * Update faq. * Update engine configuration. * Fix broken configuration. * Make final changes. * Add missing details to changelog. * Fix docs test. * Remove document reference. * Fix sensor assignment bug.
1 parent d1777d5 commit 5197000

File tree

125 files changed

+5798
-1208
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

125 files changed

+5798
-1208
lines changed

.dockerignore

+3-1
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,14 @@
3434
**/.mypy_cache/
3535
**/nosetests.xml
3636
**/OpEn_build/
37+
**/.panda3d_cache
3738
**/pip-delete-this-directory.txt
3839
**/pip-log.txt
3940
**/pip-wheel-metadata/
4041
**/__pycache__
4142
**/.pytest_cache
4243
**/.python-version
44+
**/.pytype
4345
**/*.rou.alt.xml
4446
**/*.rou.xml
4547
**/*.sif
@@ -54,7 +56,7 @@
5456
**/.tox/
5557
**/traffic_histories.pkl
5658
**/*.trips.xml
57-
**/.venv
59+
**/.venv*
5860
**/.vscode
5961
**/wheels/
6062
**/xdummy.log

.github/workflows/ci-auto-commit-linux.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
. ${{env.venv_dir}}/bin/activate
3434
pip install --upgrade pip
3535
pip install wheel==0.38.4
36-
pip install .[camera_obs,rllib,test,torch,train]
36+
pip install .[camera-obs,rllib,test,torch,train]
3737
- name: Update requirements
3838
run: |
3939
. ${{env.venv_dir}}/bin/activate

.github/workflows/ci-auto-commit-mac.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
. ${{env.venv_dir}}/bin/activate
2929
pip install --upgrade pip
3030
pip install wheel==0.38.4
31-
pip install .[camera_obs,rllib,test,torch,train]
31+
pip install .[camera-obs,rllib,test,torch,train]
3232
pip freeze | grep -v 'smarts' | grep -v 'pkg-resources==0.0.0' > utils/setup/mac_requirements.txt
3333
- name: Commit changes
3434
uses: EndBug/add-and-commit@v7

.github/workflows/ci-base-tests-linux.yml

+6-4
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
base-tests:
1010
runs-on: ubuntu-20.04
1111
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
12-
container: ghcr.io/smarts-project/smarts:v0.6.1-minimal
12+
container: ghcr.io/smarts-project/smarts:v2.0.0-software_render
1313
strategy:
1414
matrix:
1515
tests:
@@ -30,10 +30,11 @@ jobs:
3030
. ${{env.venv_dir}}/bin/activate
3131
pip install --upgrade pip
3232
pip install wheel==0.38.4
33-
pip install -e .[camera_obs,opendrive,test,test_notebook,torch,train,gif_recorder,gymnasium,argoverse,envision,sumo]
33+
pip install -e .[camera-obs,opendrive,test,test-notebook,torch,train,gif-recorder,gymnasium,argoverse,envision,sumo]
3434
if echo ${{matrix.tests}} | grep -q -e "test_rllib_hiway_env.py"; then pip install -e .[rllib]; fi
3535
if echo ${{matrix.tests}} | grep -q -e "test_examples.py"; then pip install -e .[examples,rllib]; fi
3636
if echo ${{matrix.tests}} | grep -q -e "/smarts/ray"; then pip install -e .[ray]; fi
37+
if echo ${{matrix.tests}} | grep -q -e "/smarts/core"; then (/usr/bin/Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./xdummy.log -config /etc/X11/xorg.conf -novtswitch :1 &); fi
3738
- name: Build scenarios
3839
run: |
3940
. ${{env.venv_dir}}/bin/activate
@@ -55,6 +56,7 @@ jobs:
5556
--doctest-modules \
5657
--forked \
5758
--dist=no \
59+
--durations=10 \
5860
-n auto \
5961
--ignore-glob="**/ros.py" \
6062
--ignore-glob="**/waymo_map.py" \
@@ -85,7 +87,7 @@ jobs:
8587
. ${{env.venv_dir}}/bin/activate
8688
pip install --upgrade pip
8789
pip install wheel==0.38.4
88-
pip install -e ./../../.[camera_obs,argoverse,sumo,test]
90+
pip install -e ./../../.[camera-obs,argoverse,sumo,test]
8991
pip install -e ./inference/
9092
- name: Run smoke tests
9193
run: |
@@ -117,7 +119,7 @@ jobs:
117119
. ${{env.venv_dir}}/bin/activate
118120
pip install --upgrade pip
119121
pip install wheel==0.38.4
120-
pip install -e .[camera_obs,argoverse,test,ray,sumo]
122+
pip install -e .[camera-obs,argoverse,test,ray,sumo]
121123
scl zoo install examples/${{matrix.tests}}/inference
122124
- name: Run smoke tests
123125
run: |

.github/workflows/ci-base-tests-mac.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
- ./examples/tests --ignore=./examples/tests/test_learning.py
2222
- ./smarts/sstudio
2323
- ./smarts/env/tests/test_rllib_hiway_env.py
24-
- ./smarts/core --nb-exec-timeout 65536 --ignore=./smarts/core/tests/test_notebook.py
24+
- ./smarts/core --nb-exec-timeout 65536 --ignore=./smarts/core/tests/test_notebook.py --ignore=./smarts/core/tests/test_renderers.py::test_custom_shader_pass_buffers
2525
- ./smarts/env --ignore=./smarts/env/tests/test_rllib_hiway_env.py
2626
- ./smarts/ray
2727
steps:
@@ -46,7 +46,7 @@ jobs:
4646
pip install --upgrade pip
4747
pip install wheel==0.38.4
4848
pip install -r utils/setup/mac_requirements.txt
49-
pip install -e .[camera_obs,opendrive,rllib,test,test_notebook,torch,train,argoverse,envision,sumo]
49+
pip install -e .[camera-obs,opendrive,rllib,test,test-notebook,torch,train,argoverse,envision,sumo]
5050
if echo ${{matrix.tests}} | grep -q -e "/env"; then pip install -e .[rllib]; fi
5151
if echo ${{matrix.tests}} | grep -q -e "/examples"; then pip install -e .[examples,rllib]; fi
5252
if echo ${{matrix.tests}} | grep -q "/ray"; then pip install -e .[ray]; fi

.github/workflows/ci-format.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ jobs:
5959
python3.8 -m venv ${{env.venv_dir}}
6060
. ${{env.venv_dir}}/bin/activate
6161
pip install wheel==0.38.4
62-
pip install -e .[dev,camera_obs,train,test]
62+
pip install -e .[dev,camera-obs,train,test]
6363
- name: Get changed files on branch since branching
6464
id: changed-files
6565
shell: bash
@@ -98,7 +98,7 @@ jobs:
9898
. ${{env.venv_dir}}/bin/activate
9999
pip install --upgrade pip "setuptools<58.3.0"
100100
pip install wheel==0.38.4
101-
pip install .[camera_obs,doc,train,ray,envision,argoverse,opendrive,waymo,sumo]
101+
pip install .[camera-obs,doc,train,ray,envision,argoverse,opendrive,waymo,sumo]
102102
cd ${GITHUB_WORKSPACE}/docs
103103
make html SPHINXOPTS="-W -T -E -n --keep-going -b spelling -b linkcheck"
104104
- name: Check build output

.github/workflows/ci-pull-request.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
. ${{env.venv_dir}}/bin/activate
2323
pip install --upgrade pip
2424
pip install wheel==0.38.4
25-
pip install .[camera_obs,rllib,test,torch,train]
25+
pip install .[camera-obs,rllib,test,torch,train]
2626
- name: SMARTS benchmark
2727
run: |
2828
cd $GITHUB_WORKSPACE
@@ -32,6 +32,6 @@ jobs:
3232
scl scenario build-all --clean ./scenarios
3333
pytest --benchmark-save=previous --benchmark-min-rounds=10 --benchmark-timer=time.process_time ./smarts/env/tests/test_benchmark.py
3434
git checkout -
35-
pip install .[camera_obs,rllib,test,torch,train]
35+
pip install .[camera-obs,rllib,test,torch,train]
3636
scl scenario build-all --clean ./scenarios
3737
pytest --benchmark-compare=0001_previous --benchmark-compare-fail=mean:10% --benchmark-min-rounds=10 --benchmark-timer=time.process_time ./smarts/env/tests/test_benchmark.py

.github/workflows/ci-python-version-test.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,4 @@ jobs:
2727
. ${{env.venv_dir}}/bin/activate
2828
pip install --upgrade pip
2929
pip install wheel==0.38.4
30-
pip install .[camera_obs,rllib,sumo,test,torch,train]
30+
pip install .[camera-obs,rllib,sumo,test,torch,train]

.github/workflows/ci-test-learning.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
. ${{env.venv_dir}}/bin/activate
2828
pip install --upgrade pip
2929
pip install wheel==0.38.4
30-
pip install .[camera_obs,rllib,test,torch,train]
30+
pip install .[camera-obs,rllib,test,torch,train]
3131
- name: Verify learning
3232
run: |
3333
cd $GITHUB_WORKSPACE

.github/workflows/ci-test-long-determinism.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
python3.8 -m venv ${{env.venv_dir}}
2727
. ${{env.venv_dir}}/bin/activate
2828
pip install --upgrade pip
29-
pip install .[camera_obs,rllib,test,torch,train]
29+
pip install .[camera-obs,rllib,test,torch,train]
3030
- name: Verify long determinism
3131
run: |
3232
cd $GITHUB_WORKSPACE

.github/workflows/ci-test-memory-growth.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
pip install --upgrade pip
2929
pip install wheel==0.38.4
3030
pip install pympler
31-
pip install .[camera_obs,rllib,test,torch,train]
31+
pip install .[camera-obs,rllib,test,torch,train]
3232
- name: Test memory growth
3333
run: |
3434
cd $GITHUB_WORKSPACE

.gitignore

+5-1
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,9 @@ target/
6666
# VSCode
6767
.vscode
6868

69+
# panda3d
70+
.panda3d_cache
71+
6972
# pyenv
7073
.python-version
7174

@@ -153,4 +156,5 @@ collected_observations/
153156
**/diagnostic/reports/*
154157

155158
# Experiments
156-
outputs/
159+
outputs/
160+
vaw/

.readthedocs.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ python:
2222
- method: pip
2323
path: .
2424
extra_requirements:
25-
- camera_obs
25+
- camera-obs
2626
- doc
2727
- train
2828
- ray

CHANGELOG.md

+12
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ Copy and pasting the git commit messages is __NOT__ enough.
1414
- The following methods now exist explicitly `Vehicle.{add_sensor|detach_sensor|subscribed_to|sensor_property|}`.
1515
- Resources loaded with `load_yaml_config_with_substitution()` now substitute in SMARTS configuration with single squiggle bracket `${}` syntax. This is currently restricted to environment variable names prefixed with `"SMARTS_"`. This extends to benchmark configuration and vehicle configuration.
1616
- Default vehicle definitions can be now modified using `assets:default_vehicle_definitions_list`/`SMARTS_ASSSETS_DEFAULT_VEHICLE_DEFINITIONS_LIST` or by providing a `vehicle_definitions_list.yaml` in the scenario. These vehicle types are related to the `AgentInterface.vehicle_type` attribute.
17+
- New `CustomRender` agent interface option added. This allows using `glsl` fragment scripts to generate images from camera textures and simulation buffers.
18+
- New `ObfuscationMap` agent interface option added. This uses the `OccupancyGridMap` to help generate an image of ground viewable area from the ego vehicle's perspective.
1719
- There is now a centralized `TraCI` server mananger that can be used to prevent port collisions. It can be run using `python smarts.core.utils.sumo_server` and the use of the server can be enabled with `SMARTS_SUMO_TRACI_SERVE_MODE="central"`.
1820
### Changed
1921
- `VehicleIndex.build_agent_vehicle()` no longer has `filename` and `surface_patches` parameters.
@@ -30,6 +32,12 @@ Copy and pasting the git commit messages is __NOT__ enough.
3032
- `Vehicle.build_agent_vehicle()` and `Vehicle.build_social_vehicle()` moved to `VehicleIndex`.
3133
- `smarts.core.configuration.Configuration.get_settings()` now uses the `PyYAML` default instead of forcefully casting to `str`.
3234
- Added `AgentInterface.vehicle_class` which allows selection of a dynamics vehicle from the vehicle definitions list file.
35+
- Waypoints now have a `position` property (which will eventually replace `pos`).
36+
- You must now implement `act()` for any agent inheriting from `smarts.core.agent.Agent`.
37+
- `FunctionAgent` is now no longer dynamically defined.
38+
- `Vias.hit_via_points` is now a property.
39+
- `ViaPoint` now has an attribute `hit` which determines if the point has been "collected".
40+
- Dependencies switched back to using `-` instead of `_` (e.g. "camera-obs").
3341
### Deprecated
3442
- Module `smarts.core.models` is now deprecated in favour of `smarts.assets`.
3543
- Deprecated a few things related to vehicles in the `Scenario` class, including the `vehicle_filepath`, `tire_parameters_filepath`, and `controller_parameters_filepath`. The functionality is now handled through the vehicle definitions.
@@ -57,6 +65,8 @@ Copy and pasting the git commit messages is __NOT__ enough.
5765
- The via sensor and trip meter sensor now work without a mission.
5866
- Fixed a bug with `VehicleIndex.attach_sensors_to_vehicle()` that would generate an invalid plan.
5967
- Fixed a bug where vehicle sensor meta attributes would reference the wrong vehicle.
68+
- Resolved issue with road waypoints not showing waypoints if the horizon was larger than the start of the lane.
69+
- Fixed an issue where `SMARTS.reset()` would be unable to render cameras.
6070
- Squashed TraCI "retrying" stdout messages.
6171
### Removed
6272
### Security
@@ -126,6 +136,8 @@ Copy and pasting the git commit messages is __NOT__ enough.
126136
- Interest vehicles now show up in Envision.
127137
- Seed of `hiway-v1` env can be retrieved through a new property `seed`.
128138
- Added `TrafficEngineActor` to describe a scenario studio defined actor that is controlled by a traffic engine.
139+
- Docker images from now on out base from ``ubuntu:focal``.
140+
- A new Docker image has been added for software rendering for use cases where there is no display and GPU.
129141
### Changed
130142
- Changed waypoints in sumo maps to use more incoming lanes into junctions.
131143
- Increased the cutoff radius for filtering out waypoints that are too far away in junctions in sumo maps.

Makefile

+3-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ test: build-all-scenarios
77
--doctest-modules \
88
--forked \
99
--dist=loadscope \
10+
--durations=0 \
1011
-n `expr \( \`nproc\` \/ 2 \& \`nproc\` \> 3 \) \| 2` \
1112
--nb-exec-timeout 65536 \
1213
./examples/tests ./smarts/env ./envision ./smarts/core ./smarts/sstudio \
@@ -48,6 +49,7 @@ test-long-determinism:
4849
scl scenario build --clean scenarios/sumo/minicity
4950
PYTHONHASHSEED=42 pytest -v \
5051
--forked \
52+
--durations=0 \
5153
./smarts/env/tests/test_determinism.py::test_long_determinism
5254

5355
.PHONY: test-memory-growth
@@ -63,7 +65,7 @@ test-memory-growth: build-all-scenarios
6365

6466
.PHONY: benchmark
6567
benchmark: build-all-scenarios
66-
pytest -v ./smarts/env/tests/test_benchmark.py
68+
pytest -v --durations=0 ./smarts/env/tests/test_benchmark.py
6769

6870
.PHONY: test-zoo
6971
test-zoo: build-all-scenarios

docs/benchmarks/driving_smarts_2023_1.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ Train
256256
$ source ./.venv/bin/activate
257257
$ pip install --upgrade pip
258258
$ pip install wheel==0.38.4
259-
$ pip install -e ./../../.[camera_obs,argoverse,envision,sumo]
259+
$ pip install -e ./../../.[camera-obs,argoverse,envision,sumo]
260260
$ pip install -e ./inference/
261261
262262
+ Train locally without visualization
@@ -307,7 +307,7 @@ Evaluate
307307
$ source ./.venv/bin/activate
308308
$ pip install --upgrade pip
309309
$ pip install wheel==0.38.4
310-
$ pip install -e .[camera_obs,argoverse,envision,sumo]
310+
$ pip install -e .[camera-obs,argoverse,envision,sumo]
311311
$ scl zoo install examples/e10_drive/inference
312312
# For Driving SMARTS 2023.1
313313
$ scl benchmark run driving_smarts_2023_1 examples.e10_drive.inference:contrib-agent-v0 --auto-install

docs/benchmarks/driving_smarts_2023_3.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ Train
234234
$ source ./.venv/bin/activate
235235
$ pip install --upgrade pip
236236
$ pip install wheel==0.38.4
237-
$ pip install -e ./../../.[camera_obs,argoverse,envision,sumo]
237+
$ pip install -e ./../../.[camera-obs,argoverse,envision,sumo]
238238
$ pip install -e ./inference/
239239
240240
+ Train locally without visualization
@@ -285,7 +285,7 @@ Evaluate
285285
$ source ./.venv/bin/activate
286286
$ pip install --upgrade pip
287287
$ pip install wheel==0.38.4
288-
$ pip install -e .[camera_obs,argoverse,envision,sumo]
288+
$ pip install -e .[camera-obs,argoverse,envision,sumo]
289289
$ scl zoo install examples/e11_platoon/inference
290290
$ scl benchmark run driving_smarts_2023_3 examples.e11_platoon.inference:contrib-agent-v0 --auto-install
291291

docs/conf.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@
6060
"%s",
6161
),
6262
}
63-
6463
# Configuring automated generation of api documentation.
6564
# See: https://github.com/sphinx-contrib/apidoc
6665
apidoc_module_dir = ".."
@@ -72,6 +71,8 @@
7271
"scenarios",
7372
"smarts/ros",
7473
"zoo/policies/interaction_aware_motion_prediction",
74+
"smarts/waymo/waymo_open_dataset/protos",
75+
"zoo/evaluation/metrics",
7576
]
7677
apidoc_extra_args = [
7778
"--force",
@@ -126,6 +127,7 @@
126127
("py:class", "ObsType"),
127128
("py:class", "smarts.env.gymnasium.wrappers.metric.utils.T"),
128129
("py:class", "enum.Enum"),
130+
("py:class", "bc.BulletClient"),
129131
}
130132
nitpick_ignore_regex = {
131133
(r"py:.*", r"av2\..*"),

docs/resources/faq.rst

+22-8
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,33 @@ This is a list of frequently asked questions. Feel free to suggest new entries!
1111
2. Where can I find debug logs?
1212
In most cases SMARTS debug logs are located at ``~/.smarts``. These can be helpful to diagnose problems.
1313

14-
3. Exception: Could not open window.
15-
This may be due to some old dependencies of ``Panda3D``. Try the following instructions to solve it.
14+
3. Exception: Could not open display. (Ubuntu)
15+
This may be due to needing a display to render with a ``GL`` renderer backend setting. Try the following instructions to solve it.
1616

1717
.. code-block:: bash
1818
19-
# Set DISPLAY
20-
$ vim ~/.bashrc
21-
$ export DISPLAY=":1"
19+
# Set DISPLAY, can be as needed
20+
$ echo export DISPLAY=":1" >> ~/.bashrc
2221
$ source ~/.bashrc
2322
24-
# Set xorg server
23+
# Do once: Install x11 dummy which allows creating a fake display
24+
$ sudo apt-get install -y xserver-xorg-video-dummy x11-apps
25+
# Potentially the following if you need software rendering:
26+
# sudo apt-get install -y mesa-utils
27+
28+
# Do once: set xorg server
2529
$ sudo wget -O /etc/X11/xorg.conf http://xpra.org/xorg.conf
26-
$ sudo /usr/bin/Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./xdummy.log -config /etc/X11/xorg.conf $DISPLAY & 0
2730
28-
4. The simulation keeps crashing on connection in ``SumoTrafficSimulation``. How do I fix this?
31+
# Do as needed:
32+
$ sudo /usr/bin/Xorg -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./xdummy.log -config /etc/X11/xorg.conf $DISPLAY &
33+
34+
35+
Note that ``mesa-utils`` installs ``llvm``, which is one option out of several that emulate ``OpenGL`` using software. ``llvm`` is not needed if a GPU is available.
36+
37+
4. Custom rendering and Obfuscation maps show completely blank. (Ubuntu)
38+
This is due to needing ``OpenGL`` to render using scripts. If you have a GPU make sure ``OpenGL`` is installed and the GPU has the necessary drivers for rendering.
39+
40+
See the previous question if you need software rendering.
41+
42+
5. The simulation keeps crashing on connection in ``SumoTrafficSimulation``. How do I fix this?
2943
This is likely due to using large scale parallelization. You will want to use the centralized management server. See :ref:`centralized_traci_management`.

docs/setup.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ This includes SMARTS but none of the examples.
3535
$ bash utils/setup/install_deps.sh
3636
3737
# This should install the latest version of SMARTS from package index (generally PyPI).
38-
$ pip install 'smarts[camera_obs,sumo,example]'
38+
$ pip install 'smarts[camera-obs,sumo,example]'
3939
4040
4141
Development
@@ -79,13 +79,13 @@ Run the following commands to setup the SMARTS simulator.
7979
$ pip install --upgrade pip
8080
8181
# Install smarts with extras as needed. Extras include the following:
82-
# `camera_obs` - needed for rendering camera observations, and for testing.
82+
# `camera-obs` - needed for rendering camera observations, and for testing.
8383
# `sumo` - needed for using SUMO scenarios.
8484
# `test` - needed for running tests.
8585
# `example` - needed for running examples.
8686
# `--config-settings editable_mode=strict` - may be needed depending on version of setuptools.
8787
# See https://github.com/huawei-noah/SMARTS/issues/2090.
88-
$ pip install -e '.[camera_obs,sumo,test,example]' --config-settings editable_mode=strict
88+
$ pip install -e '.[camera-obs,sumo,test,example]' --config-settings editable_mode=strict
8989
9090
# Run sanity-test and verify they are passing.
9191
# If tests fail, check './sanity_test_result.xml' for test report.

0 commit comments

Comments
 (0)