PageSourceSearch

https://vamos-vla.github.io/

html vamos-vla.github.io collected 2026-10-03 10:07:45 UTC 37,332 bytes, 652 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="UTF-8">
5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
6    <title>VAMOS: A Hierarchical Vision-Language-Action Model for Capability-Modulated and Steerable Navigation</title>
7    <link rel="stylesheet" href="styles.css">
8    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
9    
9<script
10			type="module"
11			src="https://gradio.s3-us-west-2.amazonaws.com/3.12.0/gradio.js"
12		></script>
12
13</head>
14<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 14-15
14
15<script async src="https://www.googletagmanager.com/gtag/js?id=
15G-ZWM4GPQF93
vendor: 12 bytes, line 15
15"></script>
16<script>
17  
vendor: 134 bytes, lines 17-21
17window.dataLayer = window.dataLayer || [];
18  function gtag(){dataLayer.push(arguments);}
19  gtag('js', new Date());
20
21  gtag('config', '
21G-ZWM4GPQF93
vendor: 4 bytes, line 21
21');
22</script>
22
23<body>
24    <!-- Hero Section with Video Background -->
25    <header class="hero">
26        <!-- Background Video -->
27        <div class="hero-video-background">
28            <video autoplay muted loop playsinline class="hero-bg-video"> 
29                <source src="content/images/placeholder_video.mp4" type="video/mp4">
30                Your browser does not support the video tag.
31            </video>
32        </div>
33        
34        <!-- Content -->
35        <div class="container hero-content">
36            <h1 class="hero-title">VAMOS</h1>
37            <h2 class="hero-subtitle">A Hierarchical Vision-Language-Action Model for<br>Capability-Modulated and Steerable Navigation</h2>
38            
39            <!-- <div class="conference-info">
40                <p class="conference"> Mateo Guaman Castro, Sidharth Rajagopal, Daniel Gorbatov, Matt Schmittle, Rohan Baijal, Octi Zhang, Rosario Scalise, Sidharth Talia, Emma Romig, Celso de Melo, Byron Boots, Abhishek Gupta</p>
41            </div> -->
42
43            <div class="action-buttons">
44                <a href="#gradio-demo" class="btn btn-gradio">
45                    <span class="gradio-icon">🚀</span>
46                    Try VAMOS Demo
47                </a>
48                <a href="https://arxiv.org/pdf/2510.20818" class="btn btn-primary">
49                    <img src="content/images/pdf-icon.png" alt="PDF icon" class="btn-icon">
50                    Paper
51                </a>
52                <a href="https://arxiv.org/abs/2510.20818" class="btn btn-primary">
53                    <img src="content/images/arxiv-icon.png" alt="ArXiv icon" class="btn-icon">
54                    arXiv
55                </a>
56                <a href="#" class="btn btn-primary">
57                    <img src="content/images/youtube-icon.png" alt="YouTube icon" class="btn-icon">
58                    Video (Coming Soon)
59                </a>
60                <a href="https://github.com/vamos-vla/vamos" class="btn btn-primary">
61                    <img src="content/images/github-icon.png" alt="GitHub icon" class="btn-icon">
62                    Code
63                </a>
64                <a href="https://hf.co/collections/mateoguaman/vamos-a-hierarchical-vision-language-action-model-for-capab" class="btn btn-primary" target="_blank" rel="noopener">
65                    <span class="hf-icon">🤗</span>
66                    Hugging Face Collection
67                </a>
68            </div>
69
70        </div>
71        
72        <!-- Section Navigation at Bottom of Video -->
73        <div class="section-navigation-bottom">
74            <!-- Mobile Menu Toggle -->
75            <button class="mobile-menu-toggle" aria-label="Toggle navigation menu">
76                <span class="dot"></span>
77                <span class="dot"></span>
78                <span class="dot"></span>
79            </button>
80            
81            <!-- Navigation Menu -->
82            <nav class="section-nav-menu">
83                <!-- <a href="#overview" class="section-nav-btn">Overview</a> -->
84                <a href="#hierarchical" class="section-nav-btn">Hierarchical Navigation</a>
85                <a href="#cross-embodiment" class="section-nav-btn">Cross-Embodiment</a>
86                <a href="#steerability" class="section-nav-btn">Language Steerability</a>
87                <a href="#gradio-demo" class="section-nav-btn">Gradio Demo</a>
88                <a href="#results" class="section-nav-btn">Results</a>
89                <a href="#method" class="section-nav-btn">Method</a>
90                <a href="#team" class="section-nav-btn">Team</a>
91                <a href="#citation" class="section-nav-btn">Citation</a>
92            </nav>
93        </div>
94    </header>
95
96    <!-- Full-screen Teaser Section -->
97    <section id="teaser" class="teaser-section">
98        <video id="teaserVideo" class="teaser-video" controls playsinline muted loop preload="metadata" aria-label="VAMOS teaser video">
99            <source src="content/videos/vamos_teaser.mp4" type="video/mp4">
100            Your browser does not support the video tag.
101        </video>
102    </section>
103
104    <!-- Overview Section -->
105    <section id="overview" class="content-section overview-section">
106        <div class="container">
107            <div class="overview-content">
108                <div class="overview-image">
109                    <img src="content/images/vamos_fig1.png" alt="VAMOS system architecture diagram" class="system-diagram">
110                </div>
111                <div class="overview-text">
112                    <p>VAMOS is a hierarchical vision-language-action model that decouples semantic planning from embodiment grounding, enabling robust cross-embodiment navigation with natural language steerability.</p>
113                    <p>A single high-level planner can be deployed across physically distinct wheeled and legged robots by using a embodiment specific affordance model to reject physically infeasible plans.</p>
114                </div>
115            </div>
116        </div>
117    </section>
118
119
120    <!-- Gradio Demo Section -->
121    <section id="gradio-demo" class="content-section gradio-section">
122        <div class="container">
123            <h2>Gradio Demo</h2>
124            <div class="gradio-container">
125                <iframe
126                src="https://mateoguaman-vamos.hf.space"
127                frameborder="0"
128                title="VAMOS Gradio Demo"
129            ></iframe>
130            </div>
131        </div>
132    </section>
133
134    <!-- Hierarchical Navigation Section -->
135    <section id="hierarchical" class="content-section bg-light">
136        <div class="container">
137            <h2>Hierarchical Navigation with Embodiment Grounding</h2>
138            <!-- full-bleed figure placed directly under the title so it is centered beneath the heading -->
139            <div class="full-bleed">
140                <div class="full-bleed-inner">
141                    <img src="content/images/vamos_fig2.png" alt="VAMOS system architecture showing hierarchical design with VLM planner and affordance model" class="system-diagram full-width-figure">
142                </div>
143            </div>
144            <div class="hierarchical-text">
145                <div class="text-content">
146                    <p>A fundamental challenge in robot navigation lies in learning policies that generalize across diverse environments while conforming to the unique physical constraints of specific embodiments. Quadrupeds can walk up stairs, wheeled robots cannot.</p>
147                    <p>VAMOS addresses this challenge through a carefully designed hierarchical architecture that separates concerns:</p>
148                    <ul>
149                        <li><strong>High-level VLM Planner:</strong> Learns from diverse, open-world data to understand semantic navigation</li>
150                        <li><strong>Per-embodiment Affordance Model:</strong> Learns robot's physical constraints safely in simulation</li>
151                    </ul>
152                </div>
153                </div>
154            </div>
155        </div>
156    </section>
157
158    <!-- Cross-Embodiment Transfer -->
159    <section id="cross-embodiment" class="content-section">
160        <div class="container">
161            <h2>Cross-Embodiment Transfer</h2>
162            <video controls autoplay muted playsinline preload="metadata" class="video-large" aria-label="Cross-embodiment video">
163                <source src="content/videos/vamos_cross_embodiment_experiments.mp4" type="video/mp4">
164                Your browser does not support the video tag.
165            </video>
166            <div class="two-column">
167                <div class="image-content">
168                    <img src="content/images/affordance_comparisons.png" alt="Boston Dynamics Spot robot navigating stairs while wheeled robot takes ramp" class="feature-image">
169                    <img src="content/images/cross_embodiment.png" alt="Cross-embodiment navigation comparison" class="feature-image">
170                </div>
171                <div class="text-content">
172                    <p>The same high-level planner works across different robot embodiments by simply swapping lightweight, specialized affordance models.</p>
173                    <p>In our experiments, we demonstrate successful navigation on both:</p>
174                    <ul>
175                        <li><strong>Boston Dynamics Spot (Legged):</strong> Can traverse stairs, ramps, and complex terrain</li>
176                        <li><strong>UW Hound Robot (Wheeled):</strong> Limited to ramps and flat surfaces</li>
177                    </ul>
178                    <p>The affordance model automatically selects appropriate paths based on each robot's capabilities, enabling the same planner to achieve high performance across both platforms.</p>
179                </div>
180            </div>
181        </div>
182    </section>
183
184    <!-- Natural Language Steerability -->
185    <section id="steerability" class="content-section bg-light">
186        <div class="container">
187            <h2>Natural Language Steerability</h2>
188            <div class="steerability-demo">
189                <div class="text-content">
190                    <p>VAMOS enables intuitive control through natural language commands, allowing users to specify navigation preferences without complex programming.</p>
191                    <div class="cycling-hint">
192                        <span class="hint-icon">🔄</span>
193                        <span class="hint-text">Click the trajectory buttons to cycle through different path options</span>
194                    </div>
195                </div>
196                <div class="demo-grid">
197                    <div class="demo-item" data-scenario="ramp">
198                        <img src="content/images/trajectory_visualizations_all/ramp_trajectories.png" alt="Robot following 'take the ramp' command" class="demo-image" data-all="content/images/trajectory_visualizations_all/ramp_trajectories.png" data-original="content/images/trajectory_visualizations_original/ramp_trajectories.png" data-left="content/images/trajectory_visualizations_left/ramp_trajectories.png" data-right="content/images/trajectory_visualizations_right/ramp_trajectories.png">
199                        <p class="demo-caption"><em>All paths</em></p>
200                        <div class="trajectory-controls">
201                            <div class="trajectory-cycle-button" data-current="all" title="Click to cycle through trajectory options: All → Original → Left → Right">
202                                <span class="cycle-indicator">↻</span>
203                            </div>
204                        </div>
205                    </div>
206                    <div class="demo-item" data-scenario="tree">
207                        <img src="content/images/trajectory_visualizations_all/tree_trajectories.png" alt="Robot navigating around tree" class="demo-image" data-all="content/images/trajectory_visualizations_all/tree_trajectories.png" data-original="content/images/trajectory_visualizations_original/tree_trajectories.png" data-left="content/images/trajectory_visualizations_left/tree_trajectories.png" data-right="content/images/trajectory_visualizations_right/tree_trajectories.png">
208                        <p class="demo-caption"><em>All paths</em></p>
209                        <div class="trajectory-controls">
210                            <div class="trajectory-cycle-button" data-current="all" title="Click to cycle through trajectory options: All → Original → Left → Right">
211                                <span class="cycle-indicator">↻</span>
212                            </div>
213                        </div>
214                    </div>
215                    <div class="demo-item" data-scenario="grass">
216                        <img src="content/images/trajectory_visualizations_all/grass_trajectories.png" alt="Robot crossing grass area" class="demo-image" data-all="content/images/trajectory_visualizations_all/grass_trajectories.png" data-original="content/images/trajectory_visualizations_original/grass_trajectories.png" data-modified="content/images/trajectory_visualizations_left/grass_trajectories.png">
217                        <p class="demo-caption"><em>All paths</em></p>
218                        <div class="trajectory-controls">
219                            <div class="trajectory-cycle-button" data-current="all" title="Click to cycle through trajectory options: All → Original → Left → Right">
220                                <span class="cycle-indicator">↻</span>
221                            </div>
222                        </div>
223                    </div>
224                    <div class="demo-item" data-scenario="u_pole">
225                        <img src="content/images/trajectory_visualizations_all/u_pole_trajectories.png" alt="Robot navigating around U-pole obstacle" class="demo-image" data-all="content/images/trajectory_visualizations_all/u_pole_trajectories.png" data-original="content/images/trajectory_visualizations_original/u_pole_trajectories.png" data-modified="content/images/trajectory_visualizations_left/u_pole_trajectories.png">
226                        <p class="demo-caption"><em>All paths</em></p>
227                        <div class="trajectory-controls">
228                            <div class="trajectory-cycle-button" data-current="all" title="Click to cycle through trajectory options: All → Original → Left → Right">
229                                <span class="cycle-indicator">↻</span>
230                            </div>
231                        </div>
232                    </div>
233                </div>
234            </div>
235        </div>
236    </section>
237    <!-- Experimental Results -->
238    <section id="results" class="content-section">
239        <div class="container">
240            <h2>Experimental Results</h2>
241            <div class="results-content">
242                <!-- <p>VAMOS achieves state-of-the-art performance across diverse indoor and outdoor navigation tasks, significantly outperforming both modular stacks and end-to-e
242nd learning methods.</p> -->
243                
244                <div class="environments-tested">
245                    <!-- <h3>Environments Tested</h3> -->
246                     <div class="env-controls">
247                        <!-- <button class="reset-env-btn" id="resetEnvironment">Show Overall Results</button> -->
248                        <p class="env-instruction">Click on an environment to see method performance in that setting</p>
249                    </div>
250                    <div class="env-grid">
251                        <div class="env-item" data-env="hallway">
252                            <img src="content/images/hallway.png" alt="Indoor hallway navigation test" class="env-image">
253                            <p>Hallways</p>
254                        </div>
255                        <div class="env-item" data-env="atrium">
256                            <img src="content/images/atrium.png" alt="Atrium navigation in low light" class="env-image">
257                            <p>Atrium</p>
258                        </div>
259                        <div class="env-item" data-env="lab">
260                            <img src="content/images/lab.png" alt="Lab environment with obstacles" class="env-image">
261                            <p>Lab</p>
262                        </div>
263                        <div class="env-item" data-env="campus">
264                            <img src="content/images/campus.png" alt="Campus outdoor navigation with stairs" class="env-image">
265                            <p>Campus</p>
266                        </div>
267                        <div class="env-item" data-env="forest">
268                            <img src="content/images/forest.png" alt="Forest navigation with vegetation" class="env-image">
269                            <p>Forest</p>
270                        </div>
271                        <div class="env-item" data-env="downramp">
272                            <img src="content/images/downramp.png" alt="Down ramp navigation test" class="env-image">
273                            <p>Down Ramp</p>
274                        </div>
275                    </div>
276                </div>
277
278                <div class="performance-comparison">
279                    <!-- <h3>Method Performance Comparison</h3> -->
280                    <div class="current-env-display">
281                        <span id="currentEnvironment">Showing results across all environments</span>
282                        <button class="inline-reset-btn" id="inlineResetEnvironment">Show Overall Results</button>
283                    </div>
284                    <div class="method-grid">
285                        <div class="method-item" data-method="modular">
286                            <h4>Modular Stack</h4>
287                            <div class="method-metrics">
288                                <div class="metric-item">
289                                    <span class="metric-label">Success Rate</span>
290                                    <span class="metric-value" data-metric="sr">53%</span>
291                                </div>
292                                <div class="metric-item">
293                                    <span class="metric-label">Avg. Interventions</span>
294                                    <span class="metric-value" data-metric="ni">0</span>
295                                </div>
296                                <div class="metric-item">
297                                    <span class="metric-label">Number of Timeouts</span>
298                                    <span class="metric-value" data-metric="time">-</span>
299                                </div>
300                            </div>
301                        </div>
302                        <div class="method-item" data-method="viplanner">
303                            <h4>ViPlanner</h4>
304                            <div class="method-metrics">
305                                <div class="metric-item">
306                                    <span class="metric-label">Success Rate</span>
307                                    <span class="metric-value" data-metric="sr">67%</span>
308                                </div>
309                                <div class="metric-item">
310                                    <span class="metric-label">Avg. Interventions</span>
311                                    <span class="metric-value" data-metric="ni">0</span>
312                                </div>
313                                <div class="metric-item">
314                                    <span class="metric-label">Number of Timeouts</span>
315                                    <span class="metric-value" data-metric="time">-</span>
316                                </div>
317                            </div>
318                        </div>
319                        <div class="method-item" data-method="nomad">
320                            <h4>NoMaD</h4>
321                            <div class="method-metrics">
322                                <div class="metric-item">
323                                    <span class="metric-label">Success Rate</span>
324                                    <span class="metric-value" data-metric="sr">27%</span>
325                                </div>
326                                <div class="metric-item">
327                                    <span class="metric-label">Avg. Interventions</span>
328                                    <span class="metric-value" data-metric="ni">1.3</span>
329                                </div>
330                                <div class="metric-item">
331                                    <span class="metric-label">Number of Timeouts</span>
332                                    <span class="metric-value" data-metric="time">-</span>
333                                </div>
334                            </div>
335                        </div>
336                        <div class="method-item" data-method="navila">
337                            <h4>NaViLA</h4>
338                            <div class="method-metrics">
339                                <div class="metric-item">
340                                    <span class="metric-label">Success Rate</span>
341                                    <span class="metric-value" data-metric="sr">10%</span>
342                                </div>
343                                <div class="metric-item">
344                                    <span class="metric-label">Avg. Interventions</span>
345                                    <span class="metric-value" data-metric="ni">0.7</span>
346                                </div>
347                                <div class="metric-item">
348                                    <span class="metric-label">Number of Timeouts</span>
349                                    <span class="metric-value" data-metric="time">-</span>
350                                </div>
351                            </div>
352                        </div>
353                        <div class="method-item vamos-method" data-method="vamos">
354                            <h4>VAMOS (Ours)</h4>
355                            <div class="method-metrics">
356                                <div class="metric-item">
357                                    <span class="metric-label">Success Rate</span>
358                                    <span class="metric-value" data-metric="sr">90%</span>
359                                </div>
360                                <div class="metric-item">
361                                    <span class="metric-label">Avg. Interventions</span>
362                                    <span class="metric-value" data-metric="ni">0.25</span>
363                                </div>
364                                <div class="metric-item">
365                                    <span class="metric-label">Number of Timeouts</span>
366                                    <span class="metric-value" data-metric="time">-</span>
367                                </div>
368                            </div>
369                        </div>
370                    </div>
371                </div>
372
373                <!-- Video panel: plays VAMOS speedruns by default and allows switching groups -->
374                <div class="video-panel">
375                    <div class="video-panel-inner container-sm">
376                        <div class="video-header">
377                            <h3>Run Visualizations</h3>
378                            <p class="video-sub">By default: VAMOS course speedruns. Switch groups or clips below.</p>
379                        </div>
380
381                        <div class="video-selects">
382                            <label for="videoGroupSelect" class="sr-only">Video Group</label>
383                            <select id="videoGroupSelect" class="video-select">
384                                <option value="vamos">VAMOS speedruns</option>
385                                <option value="baselines">Baselines (coming soon)</option>
386                            </select>
387
388                            <label for="videoClipSelect" class="sr-only">Clip</label>
389                            <select id="videoClipSelect" class="video-select"></select>
390                        </div>
391
392                        <div class="video-player-wrapper">
393                            <video id="resultsVideo" class="video-player" controls playsinline muted autoplay>
394                                <source id="resultsVideoSource" src="content/videos/vamos_hallway_speedrun.mp4" type="video/mp4">
395                                Your browser does not support the video tag.
396                            </video>
397                            <div class="video-caption" id="resultsVideoCaption">VAMOS — Hallway</div>
398                        </div>
399                        <div class="additional-video">
400                            <h3 class="additional-video-header">Detailed Baseline Comparison</h3>
401                            <video id="baselineVideo" controls autoplay muted playsinline preload="metadata" class="video-large" aria-label="Forest experiment video">
402                                <source src="content/videos/vamos_forest_experiment.mp4" type="video/mp4">
403                                Your browser does not support the video tag.
404                            </video>
405                        </div>
406                    </div>
407                </div>
408            </div>
409        </div>
410    </section>
411
412    <!-- Method Details -->
413    <section id="method" class="content-section bg-light">
414        <div class="container">
415            <h2>Method: Hierarchical VLA Architecture</h2>
416            <div class="method-content">
417                <div class="method-overview">
418                    <p>VAMOS operationalizes the insight that navigation can be decomposed: high-level heuristics are generalizable across embodiments, while low-level traversability depends on physical capabilities.</p>
419                </div>
420                
421                <div class="method-details">
422                    <div class="method-component">
423                        <h3>High-Level VLM Planner</h3>
424                        <ul>
425                            <li>Built on PaliGemma 2 3B model</li>
426                            <li>Trained on 29.8 hours of diverse navigation data</li>
427                            <li>Predicts 2D paths in pixel space</li>
428                            <li>Enables natural language steerability</li>
429                        </ul>
430                    </div>
431                    
432                    <div class="method-component">
433                        <h3>
433Affordance Model</h3>
434                        <ul>
435                            <li>Lightweight MLP trained in simulation</li>
436                            <li>Evaluates path feasibility for specific embodiment</li>
437                            <li>Maps elevation + position + heading → traversability</li>
438                            <li>Enables safe deployment across robot types</li>
439                        </ul>
440                    </div>
441                </div>
442
443                <div class="training-data">
444                    <h3>Training Data Sources</h3>
445                    <div class="data-sources">
446                        <div class="data-item">
447                            <img src="content/images/Scand.png" alt="SCAND dataset visualization" class="data-image">
448                            <p>SCAND Dataset</p>
449                        </div>
450                        <div class="data-item">
451                            <img src="content/images/TartanDrive.png" alt="TartanDrive dataset visualization" class="data-image">
452                            <p>TartanDrive</p>
453                        </div>
454                        <div class="data-item">
455                            <img src="content/images/Coda.png" alt="CODa dataset visualization" class="data-image">
456                            <p>CODa</p>
457                        </div>
458                        <div class="data-item">
459                            <img src="content/images/Spot.png" alt="In-domain Spot dataset" class="data-image">
460                            <p>Spot Dataset</p>
461                        </div>
462                    </div>
463                </div>
464            </div>
465        </div>
466    </section>
467
468    <!-- Team Section -->
469    <section id="team" class="team-section">
470        <div class="container">
471            <h2>Our Team</h2>
472            <div class="team-grid">
473                <div class="team-member">
474                    <a href="https://mateoguaman.com/" class="team-link" aria-label="Mateo Guaman Castro">
475                        <img src="content/images/people/mateo.png" alt="Mateo Guaman Castro profile" class="team-photo">
476                        <h3>Mateo Guaman Castro</h3>
477                        <p>University of Washington</p>
478                    </a>
479                </div>
480                <div class="team-member">
481                    <a href="https://www.linkedin.com/in/sidharth-rajagopal-66932a221" class="team-link" aria-label="Sidharth Rajagopal">
482                        <img src="content/images/people/sidharth.png" alt="Sidharth Rajagopal profile" class="team-photo">
483                        <h3>Sidharth Rajagopal</h3>
484                        <p>University of Washington</p>
485                    </a>
486                </div>
487                <div class="team-member">
488                    <a href="https://www.linkedin.com/in/daniel-gorbatov-892166220" class="team-link" aria-label="Daniel Gorbatov">
489                        <img src="content/images/people/daniel.jpg" alt="Daniel Gorbatov profile" class="team-photo">
490                        <h3>Daniel Gorbatov</h3>
491                        <p>University of Washington</p>
492                    </a>
493                </div>
494                <div class="team-member">
495                    <a href="https://www.mattschmittle.com/" class="team-link" aria-label="Matt Schmittle">
496                        <img src="content/images/people/matt.png" alt="Matt Schmittle profile" class="team-photo">
497                        <h3>Matt Schmittle</h3>
498                        <p>University of Washington</p>
499                    </a>
500                </div>
501                <div class="team-member">
502                    <a href="https://rohanblueboybaijal.github.io/" class="team-link" aria-label="Rohan Baijal">
503                        <img src="content/images/people/rohan.png" alt="Rohan Baijal profile" class="team-photo">
504                        <h3>Rohan Baijal</h3>
505                        <p>University of Washington</p>
506                    </a>
507                </div>
508                <div class="team-member">
509                    <a href="https://zoctipus.github.io/" class="team-link" aria-label="Octi Zhang">
510                        <img src="content/images/people/octi.png" alt="Octi Zhang profile" class="team-photo">
511                        <h3>Octi Zhang</h3>
512                        <p>University of Washington</p>
513                    </a>
514                </div>
515                <div class="team-member">
516                    <a href="https://rosarioscalise.com/" class="team-link" aria-label="Rosario Scalise">
517                        <img src="content/images/people/rosario.png" alt="Rosario Scalise profile" class="team-photo">
518                        <h3>Rosario Scalise</h3>
519                        <p>University of Washington</p>
520                    </a>
521                </div>
522                <div class="team-member">
523                    <a href="https://www.sidharthtalia.com/" class="team-link" aria-label="Sidharth Talia">
524                        <img src="content/images/people/sidtalia.png" alt="Sidharth Talia profile" class="team-photo">
525                        <h3>Sidharth Talia</h3>
526                        <p>University of Washington</p>
527                    </a>
528                </div>
529                <div class="team-member">
530                    <a href="https://www.linkedin.com/in/emma-romig-97201617" class="team-link" aria-label="Emma Romig">
531                        <img src="content/images/people/emma.jpeg" alt="Emma Romig profile" class="team-photo">
532                        <h3>Emma Romig</h3>
533                        <p>University of Washington</p>
534                    </a>
535                </div>
536                <div class="team-member">
537                    <a href="https://celsodemelo.net/" class="team-link" aria-label="Celso de Melo">
538                        <img src="content/images/people/celso.png" alt="Celso de Melo profile" class="team-photo">
539                        <h3>Celso de Melo</h3>
540                        <p>Army Research Laboratory</p>
541                    </a>
542                </div>
543                <div class="team-member">
544                    <a href="https://homes.cs.washington.edu/~bboots/" class="team-link" aria-label="Byron Boots">
545                        <img src="content/images/people/byron.png" alt="Byron Boots profile" class="team-photo">
546                        <h3>Byron Boots</h3>
547                        <p>University of Washington</p>
548                    </a>
549                </div>
550                <div class="team-member">
551                    <a href="https://homes.cs.washington.edu/~abhgupta/" class="team-link" aria-label="Abhishek Gupta">
552                        <img src="content/images/people/abhishek.png" alt="Abhishek Gupta profile" class="team-photo">
553                        <h3>Abhishek Gupta</h3>
554                        <p>University of Washington</p>
555                    </a>
556                </div>
557            </div>
558        </div>
559    </section>
560
561    <!-- Citation -->
562    <section id="citation" class="citation-section">
563        <div class="container">
564            <h2>Citation</h2>
565            <div class="citation-box">
566                <pre><code>@article{guamancastro2025vamos,
567  title={VAMOS: A Hierarchical Vision-Language-Action Model for Capability-Modulated and Steerable Navigation},
568  author={Mateo Guaman Castro and Sidharth Rajagopal and Daniel Gorbatov and Matt Schmittle and Rohan Baijal and Octi Zhang and Rosario Scalise and Sidharth Talia and Emma Romig and Celso de Melo and Byron Boots and Abhishek Gupta},
569  journal={Under Review},
570  year={2025}
571}</code></pre>
572            </div>
573        </div>
574    </section>
575
576    <!-- Footer -->
577    <footer class="footer">
578        <div class="container">
579            <p>If you have any questions, please contact the authors.</p>
580        </div>
581    </footer>
582
583    <!-- Popup Modal -->
584    <div id="featureModal" class="modal-overlay">
585        <div class="modal-content">
586            <div class="modal-header">
587                <h3 id="modalTitle">Feature Coming Soon</h3>
588                <button class="modal-close" id="closeModal">&times;</button>
589            </div>
590            <div class="modal-body">
591                <p id="modalMessage">This feature is still in progress</p>
592            </div>
593            <div class="modal-footer">
594                <button class="btn btn-primary modal-btn" id="modalOkBtn">OK</button>
595            </div>
596        </div>
597    </div>
598
599    
599<script src="trajectory-commands.js"></script>
599
600    
600<script src="performance_data.js"></script>
600
601    
601<script src="script.js"></script>
601
602    
602<script>
603        // Play/pause teaser, results, and other large videos when they enter/leave the viewport.
604        // Observe all `.video-large` elements (including the Detailed Baseline Comparison clip)
605        // and mute them programmatically to maximize autoplay reliability across browsers.
606        document.addEventListener('DOMContentLoaded', function () {
607            if (typeof IntersectionObserver === 'undefined') return;
608
609            const teaser = document.getElementById('teaserVideo');
610            const results = document.getElementById('resultsVideo');
611            const baseline = document.getElementById('baselineVideo');
612
613            // Make sure autoplay is allowed by muting these programmatically (if present in markup it's fine too)
614            [teaser, results, baseline].forEach(v => { if (v) v.muted = true; });
615
616            // Collect all large, autoplay-capable videos so we can manage playback when needed
617            const allLargeVideos = Array.from(document.querySelectorAll('.video-large'));
618            const otherLargeVideos = allLargeVideos.filter(el => el !== results);
619
620            const handleVisibility = (entry) => {
621                const vid = entry.target;
622                if (entry.isIntersecting && entry.intersectionRatio >= 0.5) {
623                    vid.play().catch(() => {});
624
625                    // If the results video started playing, pause other large videos that are actively playing
626                    // to avoid multiple concurrent playbacks.
627                    if (vid.id === 'resultsVideo') {
628                        otherLargeVideos.forEach(o => {
629                            try { if (!o.paused) o.pause(); } catch (e) { /* ignore */ }
630                        });
631                    }
632                } else {
633                    try { vid.pause(); } catch (e) { /* ignore */ }
634                }
635            };
636
637            const observer = new IntersectionObserver((entries) => {
638                entries.forEach(handleVisibility);
639            }, { threshold: [0.5] });
640
641            // Observe teaser and results explicitly (if present)
642            if (teaser) observer.observe(teaser);
643            if (results) observer.observe(results);
644
645            // Also observe every `.video-large` element (this includes the baseline clip)
646            allLargeVideos.forEach(v => {
647                if (v && v !== teaser && v !== results) observer.observe(v);
648            });
649        });
650    </script>
650
651</body>
652</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.