34 lines
836 B
Python
34 lines
836 B
Python
import gymnasium as gym
|
|
import gym_donkeycar.envs
|
|
import gym_donkeycar.envs.donkey_env
|
|
import os
|
|
import time
|
|
|
|
host = os.environ.get('DONKEY_SIM_HOST', '10.0.0.55')
|
|
port = int(os.environ.get('DONKEY_SIM_PORT', '9091'))
|
|
print(f"Connecting to DonkeyCar sim at {host}:{port}")
|
|
|
|
env = gym.make("donkey-generated-roads-v0")
|
|
viewer = env.unwrapped.viewer
|
|
handler = viewer.handler
|
|
|
|
tracks = getattr(handler, 'scene_names', None)
|
|
|
|
# Wait for the list if necessary
|
|
timeout = 10
|
|
while tracks is None and timeout > 0:
|
|
if hasattr(handler, 'scene_names') and handler.scene_names:
|
|
tracks = handler.scene_names
|
|
break
|
|
time.sleep(1)
|
|
timeout -= 1
|
|
|
|
if tracks:
|
|
print("Available tracks/scenes:")
|
|
for t in tracks:
|
|
print(f" - {t}")
|
|
else:
|
|
print("Could not retrieve track/scene list from simulator.")
|
|
|
|
env.close()
|