feat(alpasim-integration): continuation of closed loop integration - #177
Conversation
…bration Model/README.md documented the pre-autowarefoundation#77/autowarefoundation#107 forward signature (camera_params=, 3-tuple return). AutoE2E.forward takes **kwargs and forwards them to the planner, which also takes **kwargs, so camera_params= was absorbed at every layer and dropped without a word: the model ran on geometry_type="pseudo", a learned prior, while holding real calibration. Verified on main: forward(camera_params=calib) is bit-for-bit identical to forward() with no geometry (max abs diff 0.0), while projection=PinholeProjection(calib) does change the output (4.1e-03). kit_scenes/forward_pass_test.py follows that stale README verbatim, so KITScenes calibration never reaches BEV fusion. It also unpacks a planner_loss that forward has never returned. - auto_e2e.py: raise TypeError on removed geometry kwargs, naming the replacement - Model/README.md: document the real signature and the projection ABI - kit_scenes/forward_pass_test.py: port to projection= + geometry_type= - test_auto_e2e.py: pin the guard so **kwargs cannot swallow geometry again Signed-off-by: GABRIELA CORDOVA <100548769@alumnos.uc3m.es>
…nd to a live coupling Signed-off-by: GABRIELA CORDOVA <100548769@alumnos.uc3m.es>
…y-abi-kwargs-only fix(model): reject removed geometry kwargs instead of silently dropping calibration
…ulness-positive-control test(reasoning): positive control — intervention delta responds to a live coupling
bench: add NVIDIA Quadro RTX 5000 results
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
…front view Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
Signed-off-by: riita10069 <ryota10069.tech5.jizi@gmail.com>
…m of 256 since we want to retain the original feature sizes
…ition and commenting out reasoning coupling
The model has selected map-BEV fusion by registry key since autowarefoundation#94 (MAP_FUSION_REGISTRY: residual / cross_attn / deformable) and AutoE2E.__init__ accepts map_fusion_mode, but train_il never forwarded it. Every run therefore trained the constructor default, residual, whatever the experimenter intended — and nothing in the run log said so. That makes the 'Map Feature Fusion: Residual, Attention' axis of autowarefoundation#168 unreachable through the sanctioned training path: a contributor comparing the two either compared residual against residual, or left train_il for a custom script and lost comparability with everyone else. Adds a MapFusion enum beside the existing Backbone enum, threads it through train_il and wf_train_il, and records it in the checkpoint config so evaluation rebuilds the same architecture — _model_kwargs feeds that dict into AutoE2E(**config), so without the key a non-default run would be reconstructed with the constructor default and load mismatched weights. Also logs model/map_fusion_mode to MLflow so runs are distinguishable after the fact. The default reproduces the previous behaviour exactly, so runs that do not pass the argument are unchanged. Tests cover the pass-through, the workflow wiring, the checkpoint round-trip and that every enum value is a registry key; they fail without the change.
…in-il-map-fusion-mode feat(training): expose map_fusion_mode as a train_il parameter
…tx-4060-inference bench: add RTX 4060 8 GB inference speed results
…acceleration values are scaled before they are fed into the planner
…an arbitrary batch size
…y test Signed-off-by: Arseni10Lk <arseniy230606@gmail.com>
|
@riita10069, thanks for all your feedback. I really appreciate all the great ideas shared So, I examined the navigation and its potential implementation here, and I wanted to confirm/discuss one thing. Constructing a route mask shouldn't be an issue (at least not as much as map rasterization). However, when it comes to map rasterization, there is one critical difference from offline training that requires some thought.
So, the key question I wanted to ask is whether you had a chance to test live rasterization before, and how much it slows down performance in combination with a 10 Hz frequency of operation of our Reactive model |
|
I think this actually can be resolved by simply pulling a "bigger" tile than needed first and then just cropping (not literally cropping, but rather rasterizing its chunk) it in accordance with the current position. So, now I will be working on that |
Signed-off-by: Arseni10Lk <arseniy230606@gmail.com>
…documentation Signed-off-by: Arseni10Lk <arseniy230606@gmail.com>
Signed-off-by: Arseni10Lk <arseniy230606@gmail.com>
|
I think one important point is how much freedom we actually want to give the model during RL. Since the 3DGS environment is reconstructed from camera data along the original vehicle trajectory, the agent cannot deviate too far from it. For example, if it moves more than ~3 m away, we could give a negative reward and terminate the episode, since we probably shouldn’t train on clearly degraded regions of the reconstruction. So even with RL, the task is essentially to follow the same route as the original vehicle, while allowing some local freedom in how the agent drives. Given this constraint, I think we can preprocess and pack a sufficiently large rasterized map and route with each scene, similar to IL. During RL, we would only need to sample the relevant region based on the agent’s current pose, rather than rasterizing the map from scratch at every step. |
Signed-off-by: Arseni10Lk <arseniy230606@gmail.com>
Signed-off-by: Arseni10Lk <arseniy230606@gmail.com>
Signed-off-by: Arseni10Lk <arseniy230606@gmail.com>
…/Arseni10Lk/auto_e2e into restored-closed-loop-integration
Signed-off-by: Arseni10Lk <arseniy230606@gmail.com>
Signed-off-by: Arseni10Lk <arseniy230606@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com> autowarefoundation#123 v1 uses rollout comfort/progress as the base and multiplies fidelity onto the WM consequence alone, so a noisy world model cannot wipe safety or flip the ranking. The offline pair is the tensor AlpaSim (autowarefoundation#177) should call later.
This is a PR for PR #175 .
PR #166 was closed automatically due to a history revamp, and now this PR continues the work on the closed-loop integration.
Acceptance order: