You need to agree to share your Hugging Face information to access this model

This repository is publicly accessible, but you have to accept the conditions to access its files and content.

Work in progress, shared for review only. Access is approved by hand.

Log in or Sign Up to review the conditions and access this model content.

Pedestrian groups as a direct input (RSS27 Task 1) – agents and held-out results

Work in progress, shared for review only. Not for reuse or redistribution.

PPO agents for the Arena (ROS 2 Jazzy) navigation stack, trained to test whether giving the policy the nearest pedestrian group as six scalars (member count, centroid position and velocity relative to the robot, gap between the outermost members) helps social navigation.

Arm Agent Group input
agent5 AGENT_5 (backbone) none
labels AGENT_5_GROUPS from simulator group labels
clusters AGENT_5_GROUPS same six scalars from proximity clustering (< 1.5 m, agreeing velocities)

All three were trained from scratch with the same settings, seeds and code, and are evaluated at tick_700000.

Contents

Path What
agents/groups_<arm>_t700k/ training_config.yaml and best_model.zip (= tick_700000.zip)
configs/groups_<arm>.yaml Training configs as run
logs/train_*.meta Commit hash and modified-file count of every repo at the start of each run (*_run1 and *_aborted1 are earlier runs, not used)
benchmark/ Suites and contests for arena evaluation benchmark
runs/heldout_<arm>/progress.csv Outcome per held-out episode; heldout_default is the classical default planner
readout.md Full readout: means, deltas per split and pooled, verdict

The per-step metrics (combined_metrics.parquet, ~85 MB per arm) are not included.

Use

The rosnav_rl driver loads <ROSNAV_AGENTS_DIR>/<agent>/best_model.zip. Copy an agents/ folder there and name it in a contest entry: mobile: {driver: rosnav_rl, agent: groups_labels_t700k}.

Code (branch feature/pedestrian-groups): Arena, Arena-Training, rosnav-rl. The evaluation kit is in Arena-Training under evaluation/groups_heldout/ (commit d9c23aa); readout.py there reproduces readout.md exactly.

Training

3 envs, total_batch_size 768, minibatch 64, learning rate 1.667e-4 β†’ 1.667e-5, curriculum stage_ticks [0, 60k, 119k, 178k, 255k] (walking-group scenarios from 255k), seed 1, env_seed 1, no early stop, shared RTX 3060.

Commits for every arm: Arena e1206c8a, Arena-Training d146ef4, rosnav-rl 1ebec90, humansim 022b183, flatsim e2ce72b, arena_evaluation a52b08c, arena_robots e5b37e7, arena_planners 760b63b, arena_assets be87819.

Held-out evaluation

  • Three families not seen in training: T-junction of hospital_1_bare, sbend_corridor, reception. Each has walking and talking groups plus singles: 15 or 20 pedestrians. Scenarios in Arena 3dae3e84.
  • 12 splits: pedestrian driver {socialgail, nsp} Γ— 3 families Γ— {15, 20}. 12 episodes per split, stage seeds 27000, 27100, …, 28100, episodes 0–11, same for every arm.
  • Goal tolerance 0.8 m, timeout 60 s, max_collisions: 1, lockstep, mean actions, CPU inference. References off, so there is no pedestrian-deviation metric.

Results

The default planner solves 23 of 36 held-out episodes (3 per split). Means per arm over 144 episodes:

Arm Zero-contact success Contacts / episode Final distance to goal [m] Stuck Mean speed [m/s] Path length [m]
agent5 0.00 5.01 10.48 0.57 0.28 24.0
labels 0.00 7.37 11.51 0.18 0.40 26.5
clusters 0.00 3.89 10.03 0.91 0.33 23.4

Pooled deltas, labels minus control, 95 % bootstrap interval:

Metric labels βˆ’ agent5 labels βˆ’ clusters
Contacts / episode +2.35 [+0.79, +3.73] +3.48 [+2.03, +5.05]
Final distance to goal [m] +0.92 [+0.19, +1.66] +1.65 [+1.07, +2.27]
Stuck βˆ’0.39 [βˆ’0.56, βˆ’0.23] βˆ’0.73 [βˆ’0.80, βˆ’0.66]
Mean speed [m/s] +0.12 [+0.11, +0.13] +0.06 [+0.05, +0.08]

No arm reaches the goal, so the success comparison has no power. The arms fail in different ways: clusters mostly stands still, labels keeps moving without getting closer and is touched more. With the mean action, all three policies shake on the spot: the linear command flips between +0.5 and βˆ’0.5 m/s, driven by the policy's own last-action input. Sampled actions do not fix it. At this training budget the group input changes how the policy fails, not whether it succeeds.

Downloads last month
-
Video Preview
loading