Paper · 2026-05-09 · cs.RO, cs.AI
REAP: Reinforcement-Learning End-to-End Autonomous Parking with Gaussian Splatting Simulator for Real2Sim2Real Transfer
REAP trains a camera-based Soft Actor-Critic parking policy in a 3D Gaussian Splatting simulator, with BEV auxiliary losses, behavior cloning from a Reeds-Shepp planner and soft predictive collision rewards. Author-reported: 83.5% parking success on standard slots and 70.0% on mechanical slots in simulation; 55-85% real-vehicle success.
Actor-criticImitation learningSim-to-real transferGaussian splattingautonomous-parkingreinforcement-learningsim-to-realgaussian-splatting
AI-compiled by claude-haiku-5-5 on 2026-10-24, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.
In plain words
Parking a car in a tight garage is hard for a robot: the space is narrow, the walls are close, and a small mistake means a collision. Traditional systems split the job into steps (see the spot, plan a path, follow the path), and an error in one step spreads to the next. This paper trains one neural network to go from camera images straight to steering and speed commands.
Training such a network by trial and error alone is slow, because most random attempts fail. The authors speed it up in two ways. First, a simple rule-based planner that knows the geometry of parking is used as a teacher, and the network learns to copy its moves early on. Second, the network's learning signal is shaped so that it is penalised for getting close to obstacles, not only for hitting them. The practice ground is a digital copy of real garages, built from scans and photos, so the learned behaviour can be tried on a real car afterwards. The authors report that the approach parks in standard slots and in a very narrow mechanical parking slot.
TL;DR
REAP is an end-to-end, camera-to-action parking policy trained with Soft Actor-Critic (SAC) in a 3D Gaussian Splatting (3DGS) simulator built from handheld LiDAR and camera scans §4.4, §5.1. Training combines behavior cloning from a Reeds-Shepp planner, auxiliary BEV perception losses, and two collision-related reward terms §4.1–§4.3. The authors report 83.5% parking success on standard slots and 70.0% on mechanical slots in simulation, and 55–85% on a real vehicle across five scenarios tab. 1 tab. 4. Results are author-reported and no code is released.
Problem
Rule-based parking pipelines depend on pre-built maps or on real-time perception, and they fail when the map is missing or perception is wrong §1. Imitation-learning end-to-end methods need large amounts of expert data and tend to average across diverse expert behaviour §1. Reinforcement learning from scratch explores poorly in vision-based parking, and offline RL or plain distillation need large static demonstration datasets and suffer distribution shift §4.2. Real-world RL training is costly and needs precise resets, and existing 3DGS simulators target manipulators and legged robots rather than wheeled vehicles §1. The paper assumes surround-view cameras, a user-selected target slot, and the simulator's privileged BEV ground truth during training only §3 §4.2.
Method
Task and inference §3. Surround-view images are converted to inverse perspective mapping (IPM) views. The user selects the target slot on an IPM view, which becomes a target heatmap in BEV space. The network maps the images and target heatmap to an action: speed and steering §3. The paper converts actions to trajectories with a kinematic bicycle model §4.4.2, eq. 12.
1. BEV encoding §4.1.
- The images from N surround-view cameras are lifted to BEV features, citing the Lift-Splat method §4.1. The number N is not stated in the text.
- The target is encoded as a BEV heatmap, so image and target features share one spatial frame §4.1.
2. Auxiliary perception tasks §4.1, eq. 1. Three decoders predict BEV maps from shared features:
- an occupancy map (OCC), which helps avoid obstacles §4.1;
- a parking slot detection map (PSD), using 2D Gaussian blobs instead of boxes so that adjacent slots stay separate, plus an asymmetric gate that marks which entry directions are accessible §4.1;
- a target map, combining PSD output with the target heatmap §4.1.
The auxiliary loss is the sum of three MSE terms eq. 1. The total network loss is the action loss plus β times the auxiliary loss eq. 3. The paper does not state β.
3. Action head §4.1, eq. 2. A planner head takes the OCC, PSD, target and BEV features and outputs an action. In stochastic RL the action is sampled from a Gaussian §4.1.
4. Asymmetric SAC §4.2, eq. 5.
- The actor uses only the surround-view images.
- The critic receives privileged, artifact-free BEV maps (occupancy, PSD, target) from the simulator, encoded by an autoencoder, plus the actor's action feature §4.2. The critic's loss is an autoencoder loss plus a value loss §4.2.
- The actor loss is the standard SAC form with an entropy term weighted by a temperature α eq. 5.
- Actions from the planner and from the network are not distinguished in the critic §4.2.
5. Hybrid rule-based and RL action loss §4.2, eq. 4, eq. 6.
- If a Reeds-Shepp (RS) planner action exists for the current state, behavior cloning (BC) is applied with probability p §4.2, eq. 4.
- Otherwise the RL loss is used eq. 4.
- The BC loss is the mean squared error between the actor's action and the planner action eq. 6.
- The probability schedule is given in §5.3 (see Hyperparameters).
# Action-loss selection per training sample [eq. 4] [§4.2]
# Planner availability and p are decided per episode (see Pitfalls)
def action_loss(actor, batch, planner_action, p):
# Behavior-cloning loss when a planner action is available [eq. 6]
if planner_action is not None and random() < p:
return mse(actor(batch.obs), planner_action)
# Otherwise the SAC actor loss [eq. 5]
return sac_actor_loss(actor, batch)6. Two replay buffers §4.2. A primary buffer stores all experience. A second buffer stores only transitions from collision-free successful episodes. Batches are drawn from both at a predefined ratio that is not stated.
7. Reward §4.3, eq. 7–eq. 11. The total reward is sparse plus dense eq. 7.
- Sparse terms eq. 8 score the whole episode: a bonus for success (R_succ), the predictive collision term (R_PC), a bonus for reaching an anchor (R_anchor), and penalties for timing out (R_timeout) or leaving the bounds (R_bound).
- Dense terms eq. 9: intersection-over-union reward R_IoU and soft collision reward R_SC.
The paper describes the R_PC and R_SC terms as the "soft predictive collision penalty" mechanism §4.3.
- Success §4.3: the episode ends with a success reward when the distance and angle to the target are within thresholds. The thresholds are not stated.
- Predictive collision §4.3: a continuous term that measures how much of the planned action trajectory would be in collision, as a share of its length [Fig. 3]. The paper calls it a penalty but does not give its sign or scale in the equation.
- Parking anchor §4.3: every start state that has a feasible RS trajectory is an anchor point. The reward is granted at most once per episode when the vehicle reaches an anchor. If the planner gave no action but the vehicle still parked, the reward is compensated into the final action §4.3.
- Soft collision §4.3, eq. 10, eq. 11: a truncated distance field T(p) = max[0, (min[D(p), d0]/d0)^τ] is computed on the occupancy grid, where D is the distance to the nearest obstacle eq. 10. The term R_SC is the minimum of T over all boundary points and all states along the trajectory, minus the same minimum at the start state eq. 11. d0 and τ are given in §5.3.
8. Simulator §4.4, §5.1, §5.2.
- Real2Sim: a handheld LiDAR scanner and camera collect scene data. LiDAR points initialise the 3DGS Gaussians, which gives real-scale reconstructions §5.1.
- Rendering: exposure and domain randomisation, plus noise on camera intrinsics and extrinsics §4.4.1. Camera parameters match the vehicle's real cameras §5.2.
- Motion: a 2.5D elevation map and a two-layer vehicle model handle slopes, speed bumps, and entry into mechanical slots, where front and rear overhangs can pass over low obstacles §4.4.2 §5.1.
- Random perturbations are added to target position and camera parameters during training §5.3.
- Between 0 and 3 extra vehicles, built from 3DRealCar assets, are placed in neighbouring slots per episode §5.3.
9. Two-stage training §5.3. Stage 1 pretrains the perception model on data from random poses with camera and image perturbations. Stage 2 trains the end-to-end policy with the hybrid strategy above, sampling a random slot and a random start pose near it for each iteration §5.3.
10. Deployment §5.3. The target slot is tracked by odometry at inference. Action commands are turned into short trajectories over a fixed interval, which the vehicle controller executes. The interval is not stated. The paper says this does not give a formal safety guarantee §5.3 §6.
Hyperparameters
| Name | Value | Where | Notes |
|---|---|---|---|
| BEV perception range | [-10 m, 10 m] | §5.3 | perception model |
| BEV grid resolution | 0.05 m | §5.3 | perception model; implies 400 × 400 cells (derived) |
| Batch size | 32 | §5.3 | stage not stated |
| Training epochs | 20,000 | §5.3 | stage not stated |
| Training GPU | NVIDIA RTX 4090 | §5.3 | |
| Onboard GPU (real vehicle) | NVIDIA RTX 2060 | §5.3 | |
| Motion prediction horizon | 0.5 s | §5.3 | |
| RS-drop schedule q(t) | q0 = 0, q_max = 1.0, linear | §5.3 | q(t) = q0 + (q_max − q0)·min(t/T_decay, 1) |
| T_decay | 8,000 epochs | §5.3 | |
| Planner probability p(t) | 1 − q(t) | §5.3 §4.2 | starts at 1, reaches 0 at T_decay |
| Soft-collision threshold d0 | 1.0 m | §5.3 | eq. 10 |
| Soft-collision exponent τ | 0.5 | §5.3 | eq. 10 |
| Auxiliary loss weight β | not stated | §4.1 | eq. 3 |
| SAC temperature α | not stated | §4.2 | eq. 5 |
| Learning rates, optimiser | not stated | — | |
| Replay buffer sizes and sampling ratio | not stated | §4.2 | "predefined ratio" |
| Success distance and angle thresholds | not stated | §4.3 | |
| Reward weights and magnitudes (R_succ, R_PC, R_anchor, R_timeout, R_bound, R_IoU, R_SC) | not stated | §4.3 | |
| Anchor reward compensation rule | not stated | §4.3 | only "compensated to the final action" |
| Number of cameras N | not stated | §4.1 | |
| Wheelbase L | not stated | §4.4.2 eq. 12 | |
| Speed and steering ranges | not stated | §4.4.2 | |
| Trajectory integration step and interval | not stated | §4.4.2 §5.3 | |
| Extra vehicles per episode | 0 to 3 | §5.3 | from 3DRealCar assets §5.3 |
| Evaluation set | 200 random start-target pairs per method | §5.4 | |
| Slot width, mechanical | 2.1 m | §5.1 fig. 4 | vehicle ~1.9 m; ~0.1 m clearance per side |
| Mechanical slot slope | ~0.1 m | §5.1 | |
| Scenes and slots | 4 garages + 1 mechanical, ~300 slots | §5.1 fig. 4 | |
| Simulator FPS | 53 at 480 × 270 | §5.6 tab. 3 | RTX 4090 |
| Real-vehicle trials | 20 per scenario, 5 scenarios | §5.7 tab. 4 |
Equations with their values: the RS-drop formula and the distance-field constants are given in §5.3 and are used directly in the pseudocode above.
# Planner-use probability at training epoch t [§5.3]
# q(t) rises linearly from 0 to 1.0 over 8,000 epochs; p = 1 - q
def planner_probability(epoch):
progress = min(epoch / 8000, 1.0) # T_decay = 8,000 epochs
drop = 0.0 + (1.0 - 0.0) * progress # q(t), with q0 = 0, q_max = 1.0
return 1.0 - drop # p(t)# Soft-collision field value for one point [eq. 10] [§5.3]
# d0 = 1.0 m and tau = 0.5 as used in the paper
def tsdf_value(distance, d0=1.0, tau=0.5):
clipped = min(distance, d0) # truncate at d0
return max(0.0, (clipped / d0) ** tau) # eq. 10 as written# Predictive collision reward [§4.3]
# Ratio of collision length to trajectory length; sign and scale not stated
def predictive_collision_term(trajectory, obstacles):
colliding = collision_length(trajectory, obstacles)
total = trajectory_length(trajectory)
return colliding / total# Kinematic bicycle motion update [eq. 12]
# Integration scheme, step size and wheelbase are not stated
def step_pose(x, y, heading, speed, steer, wheelbase, dt):
heading = heading + speed / wheelbase * tan(steer) * dt
x = x + speed * cos(heading) * dt
y = y + speed * sin(heading) * dt
return x, y, headingResults
Author-reported. Simulation setup: 200 random start-target pairs per method, standard and mechanical slots reported separately, with the same perception model for all learned methods §5.4 tab. 1. Rule-based baselines use a pre-built map with a 5 s planner timeout. Adapted baselines are not exact reproductions of their original setups tab. 1 notes 1–4.
Main comparison tab. 1:
| Type | Method | Std PSR % ↑ | Std PCR % ↓ | Std PTR % ↓ | Std PBR % ↓ | Std NGS ↓ | Mech PSR % ↑ | Mech PCR % ↓ | Mech PTR % ↓ | Mech PBR % ↓ | Mech NGS ↓ |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Rule-based | RS Curve | 37.0 | 0.0 | 63.0 | 0.0 | 1.1 | 0.0 | 0.0 | 100.0 | 0.0 | 0.0 |
| Rule-based | Hybrid A* | 67.5 | 0.0 | 32.5 | 0.0 | 12.1 | 50.0 | 0.0 | 50.0 | 0.0 | 13.1 |
| RL-based | PPO | 42.5 | 33.0 | 17.5 | 7.0 | 29.3 | 37.0 | 47.5 | 10.5 | 5.0 | 30.5 |
| RL-based | SAC | 73.0 | 22.0 | 5.0 | 0.0 | 14.3 | 58.0 | 37.5 | 3.5 | 1.0 | 10.6 |
| RL-based | HOPE | 58.0 | 33.0 | 8.5 | 0.5 | 29.7 | 36.0 | 55.5 | 7.5 | 1.0 | 28.7 |
| RL-based | HOPE + RS | 72.5 | 26.0 | 1.5 | 0.0 | 3.5 | 48.0 | 51.5 | 0.5 | 0.0 | 2.8 |
| RL-based | RL-OGM-Parking | 56.5 | 32.5 | 8.5 | 2.5 | 17.4 | 39.0 | 55.5 | 5.5 | 0.0 | 14.3 |
| RL-based | SEG-Parking | 61.5 | 30.5 | 5.5 | 2.5 | 13.7 | 42.5 | 54.0 | 3.0 | 0.5 | 6.8 |
| End-to-end | ParkingE2E | 44.0 | 38.5 | 0.0 | 17.5 | 1.9 | 38.5 | 50.5 | 0.0 | 11.0 | 3.5 |
| End-to-end | REAP-PPO | 51.5 | 34.5 | 11.0 | 3.0 | 24.0 | 40.5 | 39.0 | 18.5 | 2.0 | 31.6 |
| End-to-end | REAP-SAC (this paper) | 83.5 | 11.5 | 5.0 | 0.0 | 15.9 | 70.0 | 28.5 | 1.5 | 0.0 | 9.2 |
PSR = parking success rate, PCR = collision rate, PTR = timeout rate, PBR = boundary-crossing rate, NGS = number of gear shifts tab. 1 §5.3.
Ablation, simulation tab. 2:
| Group | Ablation | PSR % ↑ | PCR % ↓ | PTR % ↓ | PBR % ↓ | NGS ↓ |
|---|---|---|---|---|---|---|
| Baseline | retain all strategies | 83.5 | 11.5 | 5.0 | 0.0 | 15.9 |
| Training stage | w/o perception pretrain (stage 1) | 50.5 | 38.0 | 10.5 | 1.0 | 19.6 |
| Training stage | w/o hybrid RL (stage 2) | 0.0 | 9.5 | 88.5 | 2.0 | 59.8 |
| Network | w/o auxiliary tasks (actor) | 23.0 | 71.5 | 5.5 | 0.0 | 14.3 |
| Network | w/o auxiliary tasks (critic) | 40.5 | 55.5 | 4.0 | 0.0 | 8.3 |
| Reward | w/o parking anchor reward | 76.5 | 20.0 | 3.5 | 0.0 | 12.3 |
| Reward | w/o soft collision reward | 73.5 | 16.5 | 7.0 | 3.0 | 13.7 |
| Reward | w/o predictive collision reward | 77.0 | 15.0 | 6.0 | 2.0 | 16.6 |
| Perturbation | w/o target disturb | 66.5 | 25.0 | 8.5 | 0.0 | 16.2 |
| Perturbation | w/o camera disturb | 70.0 | 27.0 | 1.5 | 1.5 | 8.0 |
Ablation numbers are from tab. 2 (§5.5). The table has one set of columns and does not say which slot type it covers; its baseline row matches the standard-slot REAP-SAC row of tab. 1.
Simulator type tab. 3:
| Simulator | Build time (h) ↓ | FPS ↑ | Sim PSR % ↑ | Real PSR % ↑ |
|---|---|---|---|---|
| CAD (CARLA) | > 10 | 130 | 79.5 | 0.0 |
| Mesh | ≈ 1.0 | 95 | 76.0 | 45.0 |
| 3DGS (this paper) | ≈ 1.0 | 53 | 82.5 | 70.0 |
Real-vehicle closed loop, five scenarios tab. 4, 20 trials each:
| Scenario | PSR % ↑ | PCR % ↓ | PTR % ↓ | PBR % ↓ | APT (s) ↓ |
|---|---|---|---|---|---|
| 1 (underground, nearby obstacles) | 65.0 | 25.0 | 10.0 | 0.0 | 77 |
| 2 (underground, nearby obstacles) | 70.0 | 20.0 | 5.0 | 5.0 | 71 |
| 3 (ground lot, different poses) | 85.0 | 5.0 | 0.0 | 10.0 | 57 |
| 4 (ground lot, different poses) | 80.0 | 10.0 | 5.0 | 5.0 | 64 |
| 5 (mechanical slot) | 55.0 | 25.0 | 20.0 | 0.0 | 89 |
Scenario descriptions follow §5.7. Figures 6 and 7 fig. 6 fig. 7 show qualitative sim-to-real perception and the five real-vehicle runs.
Paper vs code
No official code.
Searched: the paper text and its LaTeX source contain no repository, project
page or code link; the arXiv metadata has no comment field. GitHub repository
searches returned nothing for "REAP autonomous parking", "end-to-end autonomous
parking gaussian splatting", "parking gaussian splatting simulator", "REAP
parking", "Changze Li parking", and "parking" inside the Horizon Robotics
organisation (one author affiliation, per the author block in main.tex).
Pitfalls
- Missing RL hyperparameters. The paper refers to a "details" section for the planner probability §4.1, but §5.3 gives only the schedule. Learning rates, the optimiser, SAC temperature α, the replay buffer sizes, the success/primary sampling ratio and β are not stated. The main LaTeX source includes an appendix line that is commented out [main.tex], so the appendix may contain them in the published version. Check the PDF before relying on any default.
- Granularity of the planner probability. The paper uses p in the action-loss equation eq. 4, calls the schedule "whole-trajectory dropping" §5.3, and measures T_decay in epochs. It is not stated whether the decision is per episode, per step, or per batch, or whether an "epoch" is one pass over the scenes or one RL update block.
- Planner dependence at training time. The anchor reward is defined by states that have a feasible RS path §4.3. The conclusion says planner queries are still needed during training and are not needed at inference §6. An implementation that drops the planner has no anchor reward.
- Anchor compensation rule. When the planner gives no action but the car parks, the anchor reward is "compensated to the final action" §4.3. How this is done is not stated.
- Predictive collision reward. The term is a ratio of collision length to trajectory length §4.3. The paper does not say how collision length is measured (which footprint, which sampling), and the sign and weight in the total reward are not stated, even though the text calls it a penalty. Eq. 8 places R_PC with a plus sign inside R_sparse eq. 8.
- Soft-collision field as written. The paper calls T a truncated signed distance field §4.3, but eq. 10 is non-decreasing in D: it is 0 at contact and grows to 1 at distance d0. Implement eq. 10 as written. The occupancy-grid resolution used for D is not stated; the 0.05 m BEV grid is given only for the perception model §5.3.
- Scale of dense and sparse rewards. R_SC is a difference of minima of T, so it is bounded but the bound depends on d0 and τ. Its weight against the other terms is not stated, and the ablation shows that removing it changes PSR and PBR tab. 2.
- Critic-only information. Ground-truth BEV maps are used only in the critic and only in simulation §4.2. The deployed actor sees only images, so the critic cannot be reused as a real-world evaluator.
- Action integration. The bicycle model eq. 12 is continuous, but the paper does not state the integration method, the step size, the wheelbase, or the speed and steering limits. The deployment interval is not stated either §5.3. Any implementation has to choose these, and the results depend on them.
- Inconsistent simulator numbers. The "3DGS (this paper)" row of tab. 3 gives Sim PSR 82.5%, while tab. 1 and the ablation baseline give 83.5% for the same method on standard slots. tab. 3 also reports a real PSR of 70.0% and describes it as a 20-trial benchmark, five per standard scenario, whereas tab. 4 has 20 trials per scenario (100 in total). The four standard real scenarios in tab. 4 average 75.0%. The paper does not explain these differences.
- Small real-vehicle samples. Each trial in tab. 4 changes PSR by 5 percentage points. The scenario results are therefore coarse, and no variance or confidence intervals are reported. Only one seed and one vehicle are reported.
- Baselines are adapted. tab. 1 notes that baseline results come from a unified camera closed-loop protocol and are not exact reproductions. HOPE uses predicted occupancy for its action mask, SEG-Parking uses the RS/expert dataset for offline RL, and PPO and SAC use the same staged training as HOPE [tab. 1 notes 2–4]. Comparisons should be read with that in mind.
- Mechanical slot margins. The mechanical slot is 2.1 m wide and the car about 1.9 m, leaving about 0.1 m per side §5.1. Slope (~0.1 m) and overhang penetration both matter for the simulated collisions §5.1. The paper does not give the heights of the two vehicle layers or the elevation-map resolution.
- Dataset and code. The scene scans, the simulator and the trained models are not released §5.1–§5.3. Only the paper's description is available.
- Cost. Training compute is given only as the epoch count §5.3. The number of environment steps, wall-clock time and simulator throughput during RL are not stated. The 3DGS build takes about 1 h for an underground lot, per tab. 3.
- Scope. The authors state that generalisation to unseen outdoor scenes and to dynamic obstacles is not established, and that the method has no formal safety guarantee §6.
Lineage
- Builds on: Soft Actor-Critic [haarnoja2018soft] (arXiv:1812.05905), with the asymmetric critic and the replay-buffer design changed by this paper §4.2; Reeds-Shepp curves as the rule-based planner [reeds1990optimal]; the Lift-Splat BEV lifting [philion2020lift].
- Compared against: HOPE [jiang2025hopereinforcementlearningbasedhybrid] (no arXiv id in the bibliography); RL-OGM-Parking [wang2025rlogmparkinglidarogmbasedhybrid] (no arXiv id in the bibliography); SEG-Parking [li2024segparking] (arXiv:2509.13956); ParkingE2E [li2024parkinge2e] (IROS 2024 in the bibliography); Hybrid A* [Kurzer1057261]; PPO and SAC.
- Superseded by: not known.
Source and license
Adapted from “REAP: Reinforcement-Learning End-to-End Autonomous Parking with Gaussian Splatting Simulator for Real2Sim2Real Transfer” by Changze Li, Zhe Chen, Shaoyu Chen, Lisen Mu, Yijian Li, Yuelong Yu, Qian Zhang, Qing Su, Ming Yang, Tong Qin (arXiv:2605.08713), used under CC BY 4.0. Changes: condensed and restructured for implementation, with tables, equations and algorithms taken from the paper and its code, each cited to its source. Not affiliated with or endorsed by the authors.