PeRoI controller — trained weights
residual_predictor.pt — the action-conditioned pedestrian-response predictor behind the PeRoI
social-navigation controller. A NeuRoSFM residual (ŷ = SocialForce + learned_correction) trained on
the real PeRoI robot–human interaction dataset; deployed on a robot as a velocity-grid MPC that
anticipates how each nearby person will react to the robot and plans around them.
The controller code, real-robot integration guide, ROS node, and sanity check live in the private
GitHub repo → github.com/elmoghany/peroi-controller. This HF repo hosts only the weights.
Download the weights
pip install huggingface_hub
hf download elmoghany/peroi-controller residual_predictor.pt --local-dir .
# (private repo — run `hf auth login` first with an account that has access)
Use
from peroi_controller import PeRoIController # from the GitHub repo
ctrl = PeRoIController("residual_predictor.pt", robot_radius=0.30, v_max=0.6)
vx, vy = ctrl.step(robot_xy, goal_xy, {track_id: (x, y), ...}, dt=loop_dt)
Architecture: 3-layer MLP residual on a Social-Force prior; input = pedestrian local-frame features (past 1 s + goal direction + robot relative state + nearest neighbours + robot-condition one-hot), output = 8×2 future deltas (2 s @ 0.25 s). ~90 KB, runs in <1 ms/step on CPU.
Provenance + metrics + videos: https://elmoghany.com/crowd-nav. License: MIT. Contact: Mohamed Elmoghany (Cornell).