RabbitRobot-VLN-Lab / index.html
lijinghai's picture
Polish RabbitRobot VLN Lab page
5f1830f verified
Raw
History Blame Contribute Delete
12.6 kB
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="RabbitRobot VLN Lab: real-robot VLN/VLR for AMR, with deviation detection, verifiable recovery, ROS 2, Nav2, mapping and public robot assets.">
<title>RabbitRobot VLN Lab</title>
<style>
:root {
--ink: #172033;
--muted: #667085;
--line: #d8dee8;
--bg: #f4f7fb;
--blue: #1d4ed8;
--cyan: #0e7490;
--green: #168a55;
--orange: #e87022;
--paper: #ffffff;
--dark: #101827;
}
* { box-sizing: border-box; }
body {
margin: 0;
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
color: var(--ink);
background: var(--bg);
letter-spacing: 0;
}
a { color: inherit; }
.hero {
min-height: 72vh;
display: grid;
align-items: end;
position: relative;
isolation: isolate;
color: #fff;
background-image:
linear-gradient(90deg, rgba(9, 18, 32, .88) 0%, rgba(9, 18, 32, .65) 44%, rgba(9, 18, 32, .18) 100%),
url("assets/rabbitrobot-amr-front.jpg");
background-size: cover;
background-position: center;
padding: clamp(28px, 6vw, 72px);
}
.hero-inner {
width: min(1060px, 100%);
display: grid;
grid-template-columns: minmax(0, 760px);
gap: 22px;
}
.kicker {
margin: 0;
text-transform: uppercase;
font-size: 13px;
font-weight: 800;
color: #ffcf99;
}
h1 {
margin: 0;
font-size: clamp(38px, 7vw, 78px);
line-height: .98;
letter-spacing: 0;
}
.hero p {
margin: 0;
max-width: 760px;
font-size: clamp(16px, 2vw, 22px);
line-height: 1.65;
color: #eef5ff;
}
.hero-actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.button {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 42px;
padding: 10px 16px;
border-radius: 7px;
border: 1px solid rgba(255,255,255,.34);
background: rgba(255,255,255,.12);
color: #fff;
text-decoration: none;
font-weight: 750;
}
.button.primary {
background: #fff;
color: #142033;
border-color: #fff;
}
.band {
padding: clamp(34px, 5vw, 64px) clamp(18px, 5vw, 72px);
}
.wrap {
width: min(1180px, 100%);
margin: 0 auto;
}
.section-head {
display: grid;
gap: 8px;
max-width: 860px;
margin-bottom: 22px;
}
h2 {
margin: 0;
font-size: clamp(24px, 3.2vw, 38px);
line-height: 1.15;
letter-spacing: 0;
}
.lead {
margin: 0;
color: var(--muted);
line-height: 1.75;
font-size: 16px;
}
.pipeline {
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 10px;
}
.step {
min-height: 172px;
padding: 16px;
border: 1px solid var(--line);
background: var(--paper);
border-radius: 8px;
display: grid;
align-content: start;
gap: 10px;
}
.step b {
color: var(--dark);
line-height: 1.25;
}
.step span {
color: var(--muted);
font-size: 14px;
line-height: 1.55;
}
.media-grid {
display: grid;
grid-template-columns: 1.15fr .85fr;
gap: 18px;
align-items: stretch;
}
.media {
margin: 0;
border: 1px solid var(--line);
border-radius: 8px;
overflow: hidden;
background: #fff;
}
.media img {
width: 100%;
height: 100%;
min-height: 320px;
object-fit: cover;
display: block;
}
.media figcaption {
padding: 12px 14px;
color: var(--muted);
font-size: 14px;
line-height: 1.55;
background: #fff;
}
.asset-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 14px;
}
.asset {
min-height: 230px;
display: grid;
gap: 12px;
align-content: start;
padding: 18px;
border: 1px solid var(--line);
border-radius: 8px;
background: var(--paper);
text-decoration: none;
}
.asset strong {
display: block;
color: var(--dark);
font-size: 18px;
line-height: 1.3;
}
.asset p {
margin: 0;
color: var(--muted);
line-height: 1.65;
font-size: 14px;
}
.tag-row {
display: flex;
flex-wrap: wrap;
gap: 7px;
margin-top: auto;
}
.tag {
display: inline-flex;
border-radius: 999px;
padding: 5px 8px;
background: #eff6ff;
color: #1d4ed8;
font-size: 12px;
font-weight: 750;
}
.dark-band {
background: #101827;
color: #f8fbff;
}
.dark-band .lead { color: #c6d3e5; }
.roadmap {
display: grid;
grid-template-columns: repeat(6, minmax(0, 1fr));
gap: 1px;
overflow: hidden;
border-radius: 8px;
border: 1px solid rgba(255,255,255,.14);
background: rgba(255,255,255,.14);
}
.roadmap div {
min-height: 112px;
padding: 14px;
background: #172238;
color: #dce8f7;
font-size: 14px;
line-height: 1.5;
}
.roadmap b {
display: block;
color: #fff;
margin-bottom: 6px;
}
.closing {
display: grid;
grid-template-columns: 1fr auto;
gap: 20px;
align-items: center;
border-top: 1px solid var(--line);
}
.closing p {
margin: 0;
color: var(--muted);
line-height: 1.7;
}
.closing .button {
color: #fff;
background: var(--dark);
border-color: var(--dark);
}
@media (max-width: 980px) {
.pipeline,
.asset-grid,
.roadmap {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.media-grid,
.closing {
grid-template-columns: 1fr;
}
}
@media (max-width: 620px) {
.hero {
min-height: 68vh;
padding: 26px 18px;
background-position: 62% center;
}
.pipeline,
.asset-grid,
.roadmap {
grid-template-columns: 1fr;
}
.button {
width: 100%;
}
}
</style>
</head>
<body>
<header class="hero">
<div class="hero-inner">
<p class="kicker">RabbitRobot VLN / VLR Lab</p>
<h1>真实 AMR 上的长程导航与可验证恢复</h1>
<p>RabbitRobot 是我的真实机器人研究平台:把 ROS 2、Nav2、地图、传感器、Web 工具和公开数据资产连接起来,服务 Vision-Language Navigation / Vision-Language Recovery。</p>
<div class="hero-actions">
<a class="button primary" href="https://huggingface.co/datasets/lijinghai/RabbitRobot-VLN-Recovery-Mini">Open VLN Dataset</a>
<a class="button" href="https://huggingface.co/collections/lijinghai/rabbitrobot-vln-and-open-robot-assets-6a71a24e6d087ac0ff031ef5">Open Collection</a>
</div>
</div>
</header>
<main>
<section class="band">
<div class="wrap">
<div class="section-head">
<p class="kicker">Research Spine</p>
<h2>VLN 不只是听懂指令,而是把语言目标落到真实机器人执行闭环里。</h2>
<p class="lead">当前主线关注长程 VLN 中的偏航检测、目标歧义处理、语义子目标规划、任务记忆保持和可验证恢复。公开资产会先从小而干净的数据结构开始,逐步扩展到 rosbag replay、视觉 grounding 和真实 AMR 评估。</p>
</div>
<div class="pipeline">
<div class="step"><b>Language Goal</b><span>自然语言目标、空间关系、语义子目标和任务阶段记忆。</span></div>
<div class="step"><b>Grounding</b><span>把语言目标落到地图、视觉帧、waypoint 候选和可到达区域。</span></div>
<div class="step"><b>Nav2 Execution</b><span>路径通过 ROS 2 / Nav2 / costmap / controller,而不是只画规划线。</span></div>
<div class="step"><b>Deviation Detection</b><span>用里程计、costmap、局部规划状态和视觉信号发现偏航。</span></div>
<div class="step"><b>Verifiable Recovery</b><span>恢复到安全、可解释、可继续执行的状态,并记录评估证据。</span></div>
</div>
</div>
</section>
<section class="band">
<div class="wrap media-grid">
<figure class="media">
<img src="assets/amr2-web-navigation.jpg" alt="RabbitRobot AMR web navigation interface">
<figcaption>RabbitRobot 的导航与 Web 工具链:真实机器人状态、地图和任务入口需要能被观察、复盘和继续开发。</figcaption>
</figure>
<figure class="media">
<img src="assets/coverage-generated-path.png" alt="RabbitRobot coverage path planning overlay">
<figcaption>覆盖路径规划是 VLN 执行侧的工程支撑:区域选择、known-free 裁剪、车体安全膨胀和 waypoint 生成。</figcaption>
</figure>
</div>
</section>
<section class="band">
<div class="wrap">
<div class="section-head">
<p class="kicker">Open Assets</p>
<h2>当前公开资产按 VLN 主线组织。</h2>
<p class="lead">先发布可公开、可解释、可继续扩展的小资产;真实大数据会在脱敏、切片和文档完善后逐步进入。</p>
</div>
<div class="asset-grid">
<a class="asset" href="https://huggingface.co/datasets/lijinghai/RabbitRobot-VLN-Recovery-Mini">
<strong>RabbitRobot VLN Recovery Mini</strong>
<p>长程 VLN/VLR task cards:自然语言指令、偏航事件、可观测信号、恢复策略和成功标准。</p>
<div class="tag-row"><span class="tag">VLN</span><span class="tag">Recovery</span><span class="tag">Dataset</span></div>
</a>
<a class="asset" href="https://huggingface.co/spaces/lijinghai/RabbitRobot-CoveragePath-Demo">
<strong>RabbitRobot Coverage Path Planning</strong>
<p>静态交互演示:地图约束、footprint clearance、known-free clipping 与覆盖 waypoint 生成。</p>
<div class="tag-row"><span class="tag">Nav2</span><span class="tag">Planning</span><span class="tag">Space</span></div>
</a>
<a class="asset" href="https://huggingface.co/datasets/lijinghai/R550-ROS2-Graph-Dictionary">
<strong>R550 ROS2 Graph Dictionary</strong>
<p>真实机器人 ROS 2 图谱字典:节点、Topic、Service、命令和功能域关系,服务系统理解与调试。</p>
<div class="tag-row"><span class="tag">ROS 2</span><span class="tag">Graph</span><span class="tag">Dataset</span></div>
</a>
</div>
</div>
</section>
<section class="band dark-band">
<div class="wrap">
<div class="section-head">
<p class="kicker">Roadmap</p>
<h2>从真实机器人底座走向可复现 VLN 评估。</h2>
<p class="lead">这条线的价值不是单次演示,而是让机器人系统、实验数据和评估协议逐步变成别人可以检查、复现和继续研究的开放资产。</p>
</div>
<div class="roadmap">
<div><b>1. AMR Baseline</b>ROS 2 / Nav2 / mapping / sensor integration.</div>
<div><b>2. System Graph</b>ROS 2 nodes, topics, services and launch flows.</div>
<div><b>3. Planning Demo</b>Coverage path and safe execution-chain thinking.</div>
<div><b>4. VLN Cards</b>Instruction grounding, deviation events and recovery labels.</div>
<div><b>5. Replay</b>Filtered rosbag slices, visual grounding and failure traces.</div>
<div><b>6. Evaluation</b>Success, deviation, recovery and explainability metrics.</div>
</div>
</div>
</section>
<section class="band closing">
<div>
<h2>面向猎头、导师和合作者</h2>
<p>如果你想快速判断我的方向:我是把真实机器人系统、ROS 2 工程和 VLN/VLR 研究问题放在同一条线上做的人。更完整的项目经历在个人主页和 GitHub。</p>
</div>
<a class="button" href="https://lijinghai.github.io/">Open Personal Site</a>
</section>
</main>
</body>
</html>