Catch exceptions if show_observations=True
If a new observation builder is used, and show_observations=True (which is the default argument) in RenderTool, errors are thrown. The best course may be to catch the exceptions, and print a generic error saying that the provided observation builder object cannot be rendered, and ignore its rendering (i.e., treat it as show_observations=False).
Example: Traceback (most recent call last): File "/usr/lib/python3.5/runpy.py", line 184, in _run_module_as_main "main", mod_spec) File "/usr/lib/python3.5/runpy.py", line 85, in _run_code exec(code, run_globals) File "/mnt/bea74588-3d2a-448d-99d9-98e4dece6ab9/Dropbox/research/projects/flatland_19/obs_builder_tutorial/flatland/examples/dme_navigation.py", line 67, in env_renderer.render_env(show=True, frames=True) File "/mnt/bea74588-3d2a-448d-99d9-98e4dece6ab9/Dropbox/research/projects/flatland_19/obs_builder_tutorial/flatland/flatland/utils/rendertools.py", line 397, in render_env selected_agent=selected_agent File "/mnt/bea74588-3d2a-448d-99d9-98e4dece6ab9/Dropbox/research/projects/flatland_19/obs_builder_tutorial/flatland/flatland/utils/rendertools.py", line 560, in render_env_svg self.render_observation(range(env.get_num_agents()), env.dev_obs_dict) File "/mnt/bea74588-3d2a-448d-99d9-98e4dece6ab9/Dropbox/research/projects/flatland_19/obs_builder_tutorial/flatland/flatland/utils/rendertools.py", line 281, in render_observation for visited_cell in observation_dict[agent]: