chore(exp23): launched — clean barriers verified, training started

Exp 23 running PID 647921 on generated_road:9091.
- Barriers visually confirmed by Paul (3D box barriers, both sides, end caps visible)
- Unity build synced to runtime folders
- Fresh PPO, 200k steps, v7 clean reward

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Paul Huliganga 2026-05-05 16:04:21 -04:00
parent 2d52bb4ffc
commit 75f7857250
10 changed files with 216 additions and 43 deletions

View File

@ -85,50 +85,17 @@ failing to enforce.
## Current State ## Current State
### Unity build ### Exp 23 is RUNNING
- Build launched with PID 37896 on 2026-05-05 - PID: 647921
- Log: `C:\Users\Paul\AppData\Local\Temp\unity_rebuild.log` - Log: `agent/models/exp23-generated-road-clean/run_2026-05-05_160348_clean.log`
- Check: `grep -q "Exiting batchmode successfully" /mnt/c/Users/Paul/AppData/Local/Temp/unity_rebuild.log && echo OK` - Started: 2026-05-05 16:03
- Barriers visually confirmed by Paul before launch
### After build completes ### Build and sync status
1. Sync to both runtime folders: - Unity build: completed successfully 2026-05-05 15:57
```bash - Both runtime folders synced
rsync -a --delete '/mnt/c/Users/Paul/Documents/projects/sdsandbox/sdsim/Builds/DonkeySimWin/' \ - Sim on port 9091 running (generated_road)
'/mnt/c/Users/Paul/Downloads/DonkeySimWin/DonkeySimWin/' - Port 9093 / second sim NOT needed for exp23
rsync -a --delete '/mnt/c/Users/Paul/Documents/projects/sdsandbox/sdsim/Builds/DonkeySimWin/' \
'/mnt/c/Users/Paul/Downloads/DonkeySimWin/DonkeySimWin - Copy/'
```
2. Launch sims (only port 9091 needed for exp23 — single env):
```powershell
$key = 'HKCU:\Software\DonkeyCar\donkey_sim'
Set-ItemProperty -Path $key -Name 'port_h2088097884' -Value 9091 -Type DWord
Set-ItemProperty -Path $key -Name 'portPrivateAPI_h1325370089' -Value 9092 -Type DWord
Start-Process -FilePath 'C:\Users\Paul\Downloads\DonkeySimWin\DonkeySimWin\donkey_sim.exe' `
-ArgumentList '--port','9091' -WorkingDirectory 'C:\Users\Paul\Downloads\DonkeySimWin\DonkeySimWin'
```
3. Verify port:
```bash
python3 -c "import socket; s=socket.socket(); s.settimeout(3); s.connect(('127.0.0.1',9091)); print('PORT 9091: OK'); s.close()"
```
4. Visually verify barriers in the sim window:
- `showBarrierMeshes=1` is already set in both scene files
- Translucent box barriers should be visible on BOTH sides of the road
- Verify no gaps at corners
- Verify end-cap walls at start and finish of generated_road
- **Do not start exp23 until Paul confirms barriers look correct**
5. Launch exp23:
```bash
cd /home/paulh/projects/donkeycar-rl-autoresearch
SAVE_DIR=agent/models/exp23-generated-road-clean
mkdir -p $SAVE_DIR
nohup python3 agent/experiments/exp23_generated_road_clean.py \
> $SAVE_DIR/run_$(date +%Y-%m-%d_%H%M%S)_clean.log 2>&1 &
echo $! > $SAVE_DIR/current.pid
```
## Key Parameters (exp23) ## Key Parameters (exp23)

View File

@ -0,0 +1 @@
647921

View File

@ -0,0 +1,42 @@
/home/paulh/.local/lib/python3.10/site-packages/matplotlib/projections/__init__.py:63: UserWarning: Unable to import Axes3D. This may be due to multiple versions of Matplotlib being installed (e.g. as a system package and as a pip package). As a result, the 3D projection is not available.
warnings.warn("Unable to import Axes3D. This may be due to multiple versions of "
Gym has been unmaintained since 2022 and does not support NumPy 2.0 amongst other critical functionality.
Please upgrade to Gymnasium, the maintained drop-in replacement of Gym, or contact the authors of your software and request that they upgrade.
Users of this version of Gym should be able to simply replace 'import gym' with 'import gymnasium as gym' in the vast majority of cases.
See the migration guide at https://gymnasium.farama.org/introduction/migration_guide/ for additional information.
[16:02:39] ============================================================
[16:02:39] Exp 23: generated_road — clean barriers, clean reward
[16:02:39] Sim: localhost:9091 -> generated_road
[16:02:39] throttle_min=0.2, lr=0.0003, total=200,000
[16:02:39] Reward: v7 (speed×CTE, efficiency gate, no-progress kill)
[16:02:39] Max stuck: 5.0s, episode cap: 120.0s (safety net)
[16:02:39] Progress patience: 100 steps
[16:02:39] Checkpoints every 10,000 steps
[16:02:39] ============================================================
[16:02:39] Creating DummyVecEnv on generated_road...
INFO:gym_donkeycar.core.client:connecting to localhost:9091
/home/paulh/.local/lib/python3.10/site-packages/gymnasium/spaces/box.py:236: UserWarning: WARN: Box low's precision lowered by casting to float32, current low.dtype=float64
gym.logger.warn(
/home/paulh/.local/lib/python3.10/site-packages/gymnasium/spaces/box.py:306: UserWarning: WARN: Box high's precision lowered by casting to float32, current high.dtype=float64
gym.logger.warn(
WARNING:gym_donkeycar.envs.donkey_sim:waiting for sim to start..
INFO:gym_donkeycar.envs.donkey_sim:on need car config
INFO:gym_donkeycar.envs.donkey_sim:sending car config.
INFO:gym_donkeycar.envs.donkey_sim:sim started!
starting DonkeyGym env
Setting default: start_delay 5.0
Setting default: max_cte 8.0
Setting default: frame_skip 1
Setting default: cam_resolution (120, 160, 3)
Setting default: log_level 20
Setting default: steer_limit 1.0
Setting default: throttle_min 0.0
Setting default: throttle_max 1.0
loading scene generated_road
[16:02:40] VecEnv num_envs=1, obs=(3, 120, 160)
Using cpu device
[16:02:47] Fresh PPO model created. Starting training...
INFO:exp23:[16:02:47] ============================================================
INFO:exp23:[16:02:47] Exp 23 started — PID 647232
INFO:exp23:[16:02:47] Log: /home/paulh/projects/donkeycar-rl-autoresearch/agent/models/exp23-generated-road-clean/run_2026-05-05_160247_clean.log
INFO:exp23:[16:02:47] ============================================================

View File

@ -0,0 +1,41 @@
/home/paulh/.local/lib/python3.10/site-packages/matplotlib/projections/__init__.py:63: UserWarning: Unable to import Axes3D. This may be due to multiple versions of Matplotlib being installed (e.g. as a system package and as a pip package). As a result, the 3D projection is not available.
warnings.warn("Unable to import Axes3D. This may be due to multiple versions of "
Gym has been unmaintained since 2022 and does not support NumPy 2.0 amongst other critical functionality.
Please upgrade to Gymnasium, the maintained drop-in replacement of Gym, or contact the authors of your software and request that they upgrade.
Users of this version of Gym should be able to simply replace 'import gym' with 'import gymnasium as gym' in the vast majority of cases.
See the migration guide at https://gymnasium.farama.org/introduction/migration_guide/ for additional information.
[16:02:39] ============================================================
[16:02:39] Exp 23: generated_road — clean barriers, clean reward
[16:02:39] Sim: localhost:9091 -> generated_road
[16:02:39] throttle_min=0.2, lr=0.0003, total=200,000
[16:02:39] Reward: v7 (speed×CTE, efficiency gate, no-progress kill)
[16:02:39] Max stuck: 5.0s, episode cap: 120.0s (safety net)
[16:02:39] Progress patience: 100 steps
[16:02:39] Checkpoints every 10,000 steps
[16:02:39] ============================================================
[16:02:39] Creating DummyVecEnv on generated_road...
INFO:gym_donkeycar.core.client:connecting to localhost:9091
/home/paulh/.local/lib/python3.10/site-packages/gymnasium/spaces/box.py:236: UserWarning: WARN: Box low's precision lowered by casting to float32, current low.dtype=float64
gym.logger.warn(
/home/paulh/.local/lib/python3.10/site-packages/gymnasium/spaces/box.py:306: UserWarning: WARN: Box high's precision lowered by casting to float32, current high.dtype=float64
gym.logger.warn(
WARNING:gym_donkeycar.envs.donkey_sim:waiting for sim to start..
INFO:gym_donkeycar.envs.donkey_sim:on need car config
INFO:gym_donkeycar.envs.donkey_sim:sending car config.
INFO:gym_donkeycar.envs.donkey_sim:sim started!
starting DonkeyGym env
Setting default: start_delay 5.0
Setting default: max_cte 8.0
Setting default: frame_skip 1
Setting default: cam_resolution (120, 160, 3)
Setting default: log_level 20
Setting default: steer_limit 1.0
Setting default: throttle_min 0.0
Setting default: throttle_max 1.0
[16:02:41] VecEnv num_envs=1, obs=(3, 120, 160)
Using cpu device
[16:02:47] Fresh PPO model created. Starting training...
INFO:exp23:[16:02:47] ============================================================
INFO:exp23:[16:02:47] Exp 23 started — PID 647279
INFO:exp23:[16:02:47] Log: /home/paulh/projects/donkeycar-rl-autoresearch/agent/models/exp23-generated-road-clean/run_2026-05-05_160247_clean.log
INFO:exp23:[16:02:47] ============================================================

View File

@ -0,0 +1,40 @@
/home/paulh/.local/lib/python3.10/site-packages/matplotlib/projections/__init__.py:63: UserWarning: Unable to import Axes3D. This may be due to multiple versions of Matplotlib being installed (e.g. as a system package and as a pip package). As a result, the 3D projection is not available.
warnings.warn("Unable to import Axes3D. This may be due to multiple versions of "
Gym has been unmaintained since 2022 and does not support NumPy 2.0 amongst other critical functionality.
Please upgrade to Gymnasium, the maintained drop-in replacement of Gym, or contact the authors of your software and request that they upgrade.
Users of this version of Gym should be able to simply replace 'import gym' with 'import gymnasium as gym' in the vast majority of cases.
See the migration guide at https://gymnasium.farama.org/introduction/migration_guide/ for additional information.
[16:02:46] ============================================================
[16:02:46] Exp 23: generated_road — clean barriers, clean reward
[16:02:46] Sim: localhost:9091 -> generated_road
[16:02:46] throttle_min=0.2, lr=0.0003, total=200,000
[16:02:46] Reward: v7 (speed×CTE, efficiency gate, no-progress kill)
[16:02:46] Max stuck: 5.0s, episode cap: 120.0s (safety net)
[16:02:46] Progress patience: 100 steps
[16:02:46] Checkpoints every 10,000 steps
[16:02:46] ============================================================
[16:02:46] Creating DummyVecEnv on generated_road...
INFO:gym_donkeycar.core.client:connecting to localhost:9091
/home/paulh/.local/lib/python3.10/site-packages/gymnasium/spaces/box.py:236: UserWarning: WARN: Box low's precision lowered by casting to float32, current low.dtype=float64
gym.logger.warn(
/home/paulh/.local/lib/python3.10/site-packages/gymnasium/spaces/box.py:306: UserWarning: WARN: Box high's precision lowered by casting to float32, current high.dtype=float64
gym.logger.warn(
INFO:gym_donkeycar.envs.donkey_sim:on need car config
INFO:gym_donkeycar.envs.donkey_sim:sending car config.
INFO:gym_donkeycar.envs.donkey_sim:sim started!
starting DonkeyGym env
Setting default: start_delay 5.0
Setting default: max_cte 8.0
Setting default: frame_skip 1
Setting default: cam_resolution (120, 160, 3)
Setting default: log_level 20
Setting default: steer_limit 1.0
Setting default: throttle_min 0.0
Setting default: throttle_max 1.0
[16:02:46] VecEnv num_envs=1, obs=(3, 120, 160)
Using cpu device
[16:02:47] Fresh PPO model created. Starting training...
INFO:exp23:[16:02:47] ============================================================
INFO:exp23:[16:02:47] Exp 23 started — PID 647338
INFO:exp23:[16:02:47] Log: /home/paulh/projects/donkeycar-rl-autoresearch/agent/models/exp23-generated-road-clean/run_2026-05-05_160247_clean.log
INFO:exp23:[16:02:47] ============================================================

View File

@ -0,0 +1,42 @@
/home/paulh/.local/lib/python3.10/site-packages/matplotlib/projections/__init__.py:63: UserWarning: Unable to import Axes3D. This may be due to multiple versions of Matplotlib being installed (e.g. as a system package and as a pip package). As a result, the 3D projection is not available.
warnings.warn("Unable to import Axes3D. This may be due to multiple versions of "
Gym has been unmaintained since 2022 and does not support NumPy 2.0 amongst other critical functionality.
Please upgrade to Gymnasium, the maintained drop-in replacement of Gym, or contact the authors of your software and request that they upgrade.
Users of this version of Gym should be able to simply replace 'import gym' with 'import gymnasium as gym' in the vast majority of cases.
See the migration guide at https://gymnasium.farama.org/introduction/migration_guide/ for additional information.
[16:03:30] ============================================================
[16:03:30] Exp 23: generated_road — clean barriers, clean reward
[16:03:30] Sim: localhost:9091 -> generated_road
[16:03:30] throttle_min=0.2, lr=0.0003, total=200,000
[16:03:30] Reward: v7 (speed×CTE, efficiency gate, no-progress kill)
[16:03:30] Max stuck: 5.0s, episode cap: 120.0s (safety net)
[16:03:30] Progress patience: 100 steps
[16:03:30] Checkpoints every 10,000 steps
[16:03:30] ============================================================
[16:03:30] Creating DummyVecEnv on generated_road...
INFO:gym_donkeycar.core.client:connecting to localhost:9091
/home/paulh/.local/lib/python3.10/site-packages/gymnasium/spaces/box.py:236: UserWarning: WARN: Box low's precision lowered by casting to float32, current low.dtype=float64
gym.logger.warn(
/home/paulh/.local/lib/python3.10/site-packages/gymnasium/spaces/box.py:306: UserWarning: WARN: Box high's precision lowered by casting to float32, current high.dtype=float64
gym.logger.warn(
WARNING:gym_donkeycar.envs.donkey_sim:waiting for sim to start..
INFO:gym_donkeycar.envs.donkey_sim:on need car config
INFO:gym_donkeycar.envs.donkey_sim:sending car config.
INFO:gym_donkeycar.envs.donkey_sim:sim started!
starting DonkeyGym env
Setting default: start_delay 5.0
Setting default: max_cte 8.0
Setting default: frame_skip 1
Setting default: cam_resolution (120, 160, 3)
Setting default: log_level 20
Setting default: steer_limit 1.0
Setting default: throttle_min 0.0
Setting default: throttle_max 1.0
loading scene generated_road
[16:03:32] VecEnv num_envs=1, obs=(3, 120, 160)
Using cpu device
[16:03:34] Fresh PPO model created. Starting training...
INFO:exp23:[16:03:34] ============================================================
INFO:exp23:[16:03:34] Exp 23 started — PID 647776
INFO:exp23:[16:03:34] Log: /home/paulh/projects/donkeycar-rl-autoresearch/agent/models/exp23-generated-road-clean/run_2026-05-05_160334_clean.log
INFO:exp23:[16:03:34] ============================================================

View File

@ -0,0 +1,40 @@
/home/paulh/.local/lib/python3.10/site-packages/matplotlib/projections/__init__.py:63: UserWarning: Unable to import Axes3D. This may be due to multiple versions of Matplotlib being installed (e.g. as a system package and as a pip package). As a result, the 3D projection is not available.
warnings.warn("Unable to import Axes3D. This may be due to multiple versions of "
Gym has been unmaintained since 2022 and does not support NumPy 2.0 amongst other critical functionality.
Please upgrade to Gymnasium, the maintained drop-in replacement of Gym, or contact the authors of your software and request that they upgrade.
Users of this version of Gym should be able to simply replace 'import gym' with 'import gymnasium as gym' in the vast majority of cases.
See the migration guide at https://gymnasium.farama.org/introduction/migration_guide/ for additional information.
[16:03:45] ============================================================
[16:03:45] Exp 23: generated_road — clean barriers, clean reward
[16:03:45] Sim: localhost:9091 -> generated_road
[16:03:45] throttle_min=0.2, lr=0.0003, total=200,000
[16:03:45] Reward: v7 (speed×CTE, efficiency gate, no-progress kill)
[16:03:45] Max stuck: 5.0s, episode cap: 120.0s (safety net)
[16:03:45] Progress patience: 100 steps
[16:03:45] Checkpoints every 10,000 steps
[16:03:45] ============================================================
[16:03:45] Creating DummyVecEnv on generated_road...
INFO:gym_donkeycar.core.client:connecting to localhost:9091
/home/paulh/.local/lib/python3.10/site-packages/gymnasium/spaces/box.py:236: UserWarning: WARN: Box low's precision lowered by casting to float32, current low.dtype=float64
gym.logger.warn(
/home/paulh/.local/lib/python3.10/site-packages/gymnasium/spaces/box.py:306: UserWarning: WARN: Box high's precision lowered by casting to float32, current high.dtype=float64
gym.logger.warn(
INFO:gym_donkeycar.envs.donkey_sim:on need car config
INFO:gym_donkeycar.envs.donkey_sim:sending car config.
INFO:gym_donkeycar.envs.donkey_sim:sim started!
starting DonkeyGym env
Setting default: start_delay 5.0
Setting default: max_cte 8.0
Setting default: frame_skip 1
Setting default: cam_resolution (120, 160, 3)
Setting default: log_level 20
Setting default: steer_limit 1.0
Setting default: throttle_min 0.0
Setting default: throttle_max 1.0
[16:03:45] VecEnv num_envs=1, obs=(3, 120, 160)
Using cpu device
[16:03:48] Fresh PPO model created. Starting training...
INFO:exp23:[16:03:48] ============================================================
INFO:exp23:[16:03:48] Exp 23 started — PID 647921
INFO:exp23:[16:03:48] Log: /home/paulh/projects/donkeycar-rl-autoresearch/agent/models/exp23-generated-road-clean/run_2026-05-05_160348_clean.log
INFO:exp23:[16:03:48] ============================================================