LeRobot goes to driving school: World’s largest open-source self-driving dataset
๐ ์์ฝ
L2D(Learning to Drive)๋ ๋ ์ผ 30๊ฐ ๋์์์ ์์ง๋ 90TB ์ด์์ ๋ฉํฐ๋ชจ๋ฌ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ ์ธ๊ณ ์ต๋ ๊ท๋ชจ์ ์์จ ์ฃผํ ๋ฐ์ดํฐ์ ์ ๋๋ค. ์ด ๋ฐ์ดํฐ์ ์ 6๊ฐ์ HD ์นด๋ฉ๋ผ์ ์ฐจ๋ ์ํ ์ ๋ณด๋ฅผ ํฌํจํ๋ฉฐ, ์์ฐ์ด ์ง์นจ ๋๋ ๋ฏธ๋ ์จ์ดํฌ์ธํธ๋ฅผ ์กฐ๊ฑด์ผ๋ก ํ๋ ์ข ๋จ๊ฐ ๋ชจ๋ธ ํ๋ จ์ ์ํด ์ค๊ณ๋์์ต๋๋ค. L2D๋ ์ด์ ๊ฐ์ฌ์ ์ ๋ฌธ๊ฐ ์ ์ฑ ๊ณผ ์ฐ์ต ์ด์ ์์ ํ์ ์ ์ฑ ์ ๋ชจ๋ ํฌํจํ๋ฉฐ, ์ด๋ ๋ค์ํ ์ด์ ์๋๋ฆฌ์ค๋ฅผ ํฌ๊ดํฉ๋๋ค. ์ด ๋ฐ์ดํฐ์ ์ LeRobot ํ์ดํ๋ผ์ธ๊ณผ์ ํตํฉ์ ์ง์ํ์ฌ ๋ก๋ณดํฑ์ค AI ์ปค๋ฎค๋ํฐ์์ ๊ณต๊ฐ ์ง๋ฅ ๋ชจ๋ธ ๊ฐ๋ฐ์ ์ด์งํฉ๋๋ค.
TL;DR of L2D, the world's largest self-driving dataset!
- 90+ ํ ๋ผ๋ฐ์ดํธ์ ๋ฉํฐ๋ชจ๋ฌ ๋ฐ์ดํฐ (5000์๊ฐ ์ด์ ์ฃผํ) 30๊ฐ ๋ ์ผ ๋์์์ ์์ง
- 6๊ฐ์ ์ฃผ๋ณ HD ์นด๋ฉ๋ผ ๋ฐ ์์ ํ ์ฐจ๋ ์ํ: ์๋/๋ฐฉํฅ/GPS/IMU
- ์ฐ์: ๊ฐ์/์ ๋/์กฐํฅ ๋ฐ ์ด์ฐ์ ๋์: ๊ธฐ์ด/๋ฐฉํฅ ์ง์๋ฑ
- ํ๊ฒฝ ์ํ: ์ฐจ์ ์, ๋๋ก ์ ํ (๊ณ ์๋๋ก | ์ฃผ๊ฑฐ ์ง์ญ), ๋๋ก ํ๋ฉด (์์คํํธ, ์๊ฐ, ํ์), ์ต๋ ์๋ ์ ํ.
- ํ๊ฒฝ ์กฐ๊ฑด: ๊ฐ์๋, ์ํ (๋, ๋ง์, ๋น), ์กฐ๋ช (์๋ฒฝ, ๋ฎ, ํฉํผ)
- ์์ฐ์ด ์ง์นจ ๋๋ ๋ฏธ๋ ์จ์ดํฌ์ธํธ๋ฅผ ์กฐ๊ฑด์ผ๋ก ํ๋ ์ข ๋จ๊ฐ ๋ชจ๋ธ ํ๋ จ์ ์ํด ์ค๊ณ
- ์์ฐ์ด ์ง์นจ. F.ex "์ ํธ๋ฑ์ด ๋ น์์ผ๋ก ๋ฐ๋๋ฉด, ํธ๋จ ์ ๋ก๋ฅผ ๋์ด ์ํ ๊ต์ฐจ๋ก๋ฅผ ํต๊ณผํ์ธ์" ๊ฐ ์ํผ์๋๋ณ
- ๋ฏธ๋ ์จ์ดํฌ์ธํธ OpenStreetMap ๊ทธ๋ํ์ ์ค๋ , ์ถ๊ฐ๋ก ์กฐ๊ฐ๋ ๋ ๋๋ง
- ์ ๋ฌธ๊ฐ (์ด์ ๊ฐ์ฌ) ๋ฐ ํ์ (์ฐ์ต ์ด์ ์) ์ ์ฑ
State-of-the art Vision Language Models ๋ฐ Large Language Models๋ ์ธํฐ๋ท์์ ์์ง๋ ์คํ ์์ค ์ด๋ฏธ์ง-ํ ์คํธ ์ฝํผ์ค๋ก ํ๋ จ๋๋ฉฐ, ์ด๋ ์คํ ์์ค AI์ ์ต๊ทผ ๊ฐ์ํ๋ฅผ ์ฃผ๋ํ์ต๋๋ค. ์ด๋ฌํ ํ์ ์๋ ๋ถ๊ตฌํ๊ณ , ๋ก๋ณดํฑ์ค ๋ฐ ์๋์ฐจ ์ปค๋ฎค๋ํฐ ๋ด์์ ์ข ๋จ๊ฐ AI์ ์ฑํ์ ์ฌ์ ํ ๋ฎ์ผ๋ฉฐ, ์ฃผ๋ก OXE์ ๊ฐ์ ๊ณ ํ์ง์ ๋๊ท๋ชจ ๋ฉํฐ๋ชจ๋ฌ ๋ฐ์ดํฐ์ ๋ถ์กฑ ๋๋ฌธ์ ๋๋ค. ๋ก๋ณดํฑ์ค AI์ ์ ์ฌ๋ ฅ์ ์ด๊ธฐ ์ํด Yaak๋ ๐ค์ LeRobot ํ๊ณผ ํ๋ ฅํ์ฌ ๋ก๋ณดํฑ์ค AI ์ปค๋ฎค๋ํฐ์ Learning to Drive (L2D)๋ฅผ ๋ฐํํ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค. L2D๋ ์๋์ฐจ ๋๋ฉ์ธ์ ์ํ ์คํ ์์ค ๊ณต๊ฐ ์ง๋ฅ ๊ตฌ์ถ์ ๋ชฉํ๋ก ํ๋ ์ธ๊ณ ์ต๋ ๊ท๋ชจ์ ๋ฉํฐ๋ชจ๋ฌ ๋ฐ์ดํฐ์ ์ด๋ฉฐ, ๐ค์ LeRobot ํ๋ จ ํ์ดํ๋ผ์ธ ๋ฐ ๋ชจ๋ธ์ ์ํ ์ต์์ ์ง์์ ์ ๊ณตํฉ๋๋ค. ์์ค ๋ฒ์ ๊ด๋ฆฌ์ ๋ชจ๋ฒ ์ฌ๋ก์์ ์๊ฐ์ ๋ฐ์, Yaak๋ AI ์ปค๋ฎค๋ํฐ์ ์ ์ฒด ๋ฐ์ดํฐ์ (> 1 ํํ๋ฐ์ดํธ)์์ ์๋ก์ด ์ํผ์๋๋ฅผ ๊ฒ์ํ๊ณ ๋ฐ๊ฒฌํ๊ณ , ๊ฒํ ๋ฅผ ์ํด ์ปฌ๋ ์ ์ ํ์ ๋ฃ์ด ํฅํ ๋ฆด๋ฆฌ์ค (R5+)์ ๋ณํฉํ๋๋ก ์ด๋ํฉ๋๋ค.
| Dataset | Observation | State | Actions | Task/Instructions | Episodes | Duration (hr) | Size TB |
|---|---|---|---|---|---|---|---|
| WAYMO | RGB (5x) | — | — | — | 2030 | 11.3 | 0.5* |
| NuScenes | RGB (6x) | GPS/IMU | — | — | 1000 | 5.5 | 0.67* |
| MAN | RGB (4x) | GPS/IMU | — | — | 747 | 4.15 | 0.17* |
| ZOD | RGB (1x) | GPS/IMU/CAN | ☑️ | — | 1473 | 8.2 | 0.32* |
| COMMA | RGB (1x) | GPS/IMU/CAN | ☑️ | — | 2019 | 33 | 0.1 |
| L2D (R4) | RGB (6x) | GPS/IMU/CAN | ☑️ | ☑️ | 1000000 | 5000+ | 90+ |
Table 1: Open source self-driving datasets (*excluding lidar and radar). Source
L2D๋ 3๋ ๋์ 30๊ฐ ๋ ์ผ ๋์์์ ์ด์ ํ๊ต์์ ์ด์ํ๋ 60๋์ EV์ ์ค์น๋ ๋์ผํ ์ผ์ ์ค์ํธ๋ก ์์ง๋์์ต๋๋ค. L2D์ ์ ์ฑ ์ ๋ ๊ทธ๋ฃน์ผ๋ก ๋๋ฉ๋๋ค. ์ด์ ๊ฐ์ฌ๊ฐ ์คํํ๋ ์ ๋ฌธ๊ฐ ์ ์ฑ ๊ณผ ์ฐ์ต ์ด์ ์๊ฐ ์คํํ๋ ํ์ ์ ์ฑ ์ ๋๋ค. ๋ ์ ์ฑ ๊ทธ๋ฃน ๋ชจ๋ ์ด์ ์์ ์ ๋ํ ์์ฐ์ด ์ง์นจ์ ํฌํจํฉ๋๋ค. ์๋ฅผ ๋ค์ด, "์ฐ์ ๊ถ์ด ์์ ๋, ์ํ ๊ต์ฐจ๋ก๋ฅผ ํต๊ณผํ์ฌ ๋ณดํ์ ํก๋จ๋ณด๋๋ฅผ ์กฐ์ฌ์ค๋ฝ๊ฒ ๊ฑด๋์ธ์."
| Expert policy — Driving instructor | Student policy — Learner driver |
|---|---|
![]() |
![]() |
Fig 1: Visualization: Nutron (3 of 6 cameras shown for clarity) Instructions: “When you have the right of way, drive through the roundabout and take the third exit”.
์ ๋ฌธ๊ฐ ์ ์ฑ ์ ์ด์ ์ค์๊ฐ ์์ผ๋ฉฐ ์ต์ ์ผ๋ก ๊ฐ์ฃผ๋๋ ๋ฐ๋ฉด, ํ์ ์ ์ฑ ์ ์ฑ๋ฅ์ด ์ ํ๋ ๊ฒ์ผ๋ก ์๋ ค์ ธ ์์ต๋๋ค(๊ทธ๋ฆผ 2).

Fig 2: Student policy with jerky steering to prevent going into lane of the incoming truck
๋ ๊ทธ๋ฃน ๋ชจ๋ ์ด์ ๋ฉดํ ์ทจ๋์ ์๋ฃํ๊ธฐ ์ํด ํ์์ ์ธ ๋ชจ๋ ์ด์ ์๋๋ฆฌ์ค๋ฅผ ๋ค๋ฃน๋๋ค. EU ๋ด (๋ ์ผ์ด ๋ฒ์ ), ์๋ฅผ ๋ค์ด ์ถ์, ์ํ ๊ต์ฐจ๋ก ๋ฐ ๊ธฐ์ฐป๊ธธ์ด ์์ต๋๋ค. ๋ฆด๋ฆฌ์ค (์๋ R3+ ์ฐธ์กฐ)์์๋ ์ฑ๋ฅ์ด ์ ํ๋ ํ์ ์ ์ฑ ์ ๋ํด ์ฑ๋ฅ ์ ํ์ ๋ํ ์์ฐ์ด ์ถ๋ก ์ด ํฌํจ๋ ๊ฒ์ ๋๋ค. F.ex "์ง์ ํ๋ ์ฐจ๋ ๊ทผ์ฒ์์์ ์กฐํฅ ํธ๋ค๋ง์ ๋ถ์ ํ/๊ฑฐ์น ์กฐ์" (๊ทธ๋ฆผ 2)
| Expert: Driving Instructor | Student: Learner Driver |
|---|---|
![]() |
![]() |
| Expert policies are collected when driving instructors are operating the vehicle. The driving instructors have at least 10K+ hours of experience in teaching learner drivers. The expert policies group covers the same driving tasks as the student policies group. | Student policies are collected when learner drivers are operating the vehicle. Learner drivers have varying degrees of experience (10–50 hours). By design, learner drivers cover all EU-mandated driving tasks, from high-speed lane changes on highways to navigating narrow pedestrian zones. |
L2D: Learning to Drive
L2D (R2+)๋ AI ์ปค๋ฎค๋ํฐ์ ์ข ๋จ๊ฐ ๊ณต๊ฐ ์ง๋ฅ ํ๋ จ์ ์ํ ๋ ํนํ๊ณ ๋ค์ํ '์ํผ์๋'๋ฅผ ์ ๊ณตํ๋ ๊ฐ์ฅ ํฐ ์คํ ์์ค ์์จ ์ฃผํ ๋ฐ์ดํฐ์ ์ด ๋๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ์ ์ฒด ์คํํธ๋ผ์ ์ด์ ์ ์ฑ (ํ์ ๋ฐ ์ ๋ฌธ๊ฐ)์ ํฌํจํจ์ผ๋ก์จ L2D๋ ์ฐจ๋์ ์์ ํ ์ดํ์ ๋ณต์ก์ฑ์ ํฌ์ฐฉํฉ๋๋ค. ์ด์ ์ค์ธ ์์จ ์ฃผํ ์ฐจ๋์ ์๋ฒฝํ๊ฒ ๋ํ๋ด๊ธฐ ์ํด ๋ค์ํ ํ๊ฒฝ ์กฐ๊ฑด, ์ผ์ ์ค๋ฅ, ๊ฑด์ค ํ์ฅ ๋ฐ ์๋ํ์ง ์๋ ๊ตํต ์ ํธ๋ฅผ ํฌํจํ๋ ์ํผ์๋๋ฅผ ํฌํจํฉ๋๋ค.
์ ๋ฌธ๊ฐ ๋ฐ ํ์ ์ ์ฑ ๊ทธ๋ฃน ๋ชจ๋ ์๋ ํ์ ์ค๋ช ๋ ๋์ผํ ์ผ์ ์ค์ ์ผ๋ก ์บก์ฒ๋ฉ๋๋ค. ์ฌ์ฏ ๊ฐ์ RGB ์นด๋ฉ๋ผ๊ฐ ์ฐจ๋์ 360๋ ์ปจํ ์คํธ๋ฅผ ์บก์ฒํ๊ณ , ์จ๋ณด๋ GPS๋ ์ฐจ๋ ์์น์ ๋ฐฉํฅ์ ์บก์ฒํฉ๋๋ค. IMU๋ ์ฐจ๋ ๋์ญํ์ ์์งํ๋ฉฐ, ์ฐจ๋์ CAN ์ธํฐํ์ด์ค์์ ์๋, ๊ฐ์/์ ๋ ํ๋ฌ, ์กฐํฅ ๊ฐ๋, ๋ฐฉํฅ ์ง์๋ฑ ๋ฐ ๊ธฐ์ด๋ฅผ ์ฝ์ต๋๋ค. ํด๋น Unix epoch ํ์์คํฌํ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ๋ชจ๋ฌ๋ฆฌํฐ ์ ํ์ ์ผ์ชฝ ์ ๋ฐฉ ์นด๋ฉ๋ผ(observation.images.front_left)์ ๋๊ธฐํํ์ต๋๋ค. ๋ํ ์ ํ๋๋ฅผ ํฅ์์ํค๊ธฐ ์ํด ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ํฌ์ธํธ๋ฅผ ๋ณด๊ฐํ์ผ๋ฉฐ(ํ 2 ์ฐธ์กฐ), ์ต์ข ์ ์ผ๋ก ์ํ๋ง ์๋๋ฅผ 10Hz๋ก ์ค์์ต๋๋ค.

Fig 3: Multimodal data visualization with Visualization: Nutron (only 3 of 6 cameras shown for clarity)
Table 2: Modality types, LeRobot v3.0 key, shape and interpolation strategy.
L2D๋ ๊ณต์ ๋ ์ผ ์ด์ ๊ณผ์ ์นดํ๋ก๊ทธ (์์ธํ ๋ฒ์ )์ ์ด์ ๊ณผ์ , ์ด์ ํ์ ๊ณผ์ ๋ฐ ๊ณผ์ ์ ์๋ฅผ ๋ฐ๋ฆ ๋๋ค. ๋ชจ๋ ์ํผ์๋์ ๊ณ ์ ํ ๊ณผ์ ID์ ์์ฐ์ด ์ง์นจ์ ํ ๋นํฉ๋๋ค. LeRobot:task๋ ๋ชจ๋ ์ํผ์๋์ ๋ํด "๊ตํต ๊ท์น ๋ฐ ๊ท์ ์ ์ค์ํ๋ฉด์ ์จ์ดํฌ์ธํธ๋ฅผ ๋ฐ๋ผ๊ฐ์ธ์"๋ก ์ค์ ๋ฉ๋๋ค. ๋ค์ ํ๋ ๋ช ๊ฐ์ง ์ํ ์ํผ์๋, ํด๋น ์์ฐ์ด ์ง์นจ, ์ด์ ๊ณผ์ ๋ฐ ํ์ ๊ณผ์ ๋ฅผ ๋ณด์ฌ์ค๋๋ค. ์ ๋ฌธ๊ฐ ๋ฐ ํ์ ์ ์ฑ ๋ชจ๋ ์ ์ฌํ ์๋๋ฆฌ์ค์ ๋ํด ๋์ผํ ๊ณผ์ ID๋ฅผ ๊ฐ์ง๋ง, ์ง์นจ์ ์ํผ์๋์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
| Episode | Instructions | Driving task | Driving sub-task | Task Definition | Task ID |
|---|---|---|---|---|---|
| Visualization LeRobot Visualization Nutron | Drive straight through going around the parked delivery truck and yield to the incoming traffic | 3 Passing, overtaking | 3.1 Passing obstacles and narrow spots | This sub-task involves passing obstacles or navigating narrow roads while following priority rules. | 3.1.1.3a Priority regulation without traffic signs (standard) |
| Visualization LeRobot Visualization Nutron | Drive through the unprotected left turn yielding to through traffic | 4 Intersections, junctions, entering moving traffic | 4.1 Crossing intersections & junctions | This sub-task involves crossing intersections and junctions while following priority rules and observing other traffic. | 4.1.1.3a Right before left |
| Visualization LeRobot Visualization Nutron | Drive straight up to the yield sign and take first exit from the roundabout | 5 Roundabouts | 5.1 Roundabouts | This sub-task involves safely navigating roundabouts, understanding right-of-way rules, and positioning correctly. | 5.1.1.3a With one lane |
Table 3: Sample episodes in L2D, their instructions and Task ID derived from EU driving task catalog
์ฐจ๋ ์์น (GPS), Open-Source Routing Machine, OpenStreetMap ๋ฐ LLM (Large Language Model) (์๋ ์ฐธ์กฐ)์ ์ฌ์ฉํ์ฌ ์ง์นจ๊ณผ ์จ์ดํฌ์ธํธ์ ๊ตฌ์ฑ์ ์๋ํํฉ๋๋ค. ์์ฐ์ด ์ฟผ๋ฆฌ๋ ๋๋ถ๋ถ์ GPS ๋ด๋น๊ฒ์ด์ ์ฅ์น์์ ์ ๊ณต๋๋ ํด๋ฐ์ดํด(turn-by-turn) ๋ด๋น๊ฒ์ด์ ์ ๋ฉด๋ฐํ ๋ฐ๋ฅด๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์จ์ดํฌ์ธํธ(๊ทธ๋ฆผ 4)๋ ์์ GPS ์ถ์ ์ OSM ๊ทธ๋ํ์ ๋งต ๋งค์นญํ๊ณ ์ฐจ๋์ ํ์ฌ ์์น(๋ น์)์์ 100๋ฏธํฐ ๋ฒ์์ 10๊ฐ ๊ท ์ผํ ๊ฐ๊ฒฉ์ ์ง์ (์ฃผํฉ์)์ ์ํ๋งํ์ฌ ๊ณ์ฐ๋๋ฉฐ, ์ด๋ ๋๋ผ์ด๋ธ ๋ฐ์ด ์จ์ดํฌ์ธํธ(drive-by-waypoints) ์ญํ ์ ํฉ๋๋ค.

Fig 4: L2D 6x RGB cameras, waypoints (orange) and vehicle location (green) Instructions: drive straight up to the stop stop sign and then when you have right of way, merge with the moving traffic from the left
Search & Curation
![]() |
![]() |
|
|---|---|---|
| Expert policies | Student policies | |
| GPS traces from the expert policies collected from the driving school fleet. Click here to see the full extent of expert policies in L2D. | Student policies cover the same geographical locations as expert policies. Click here to see the full extent of student policies in L2D. |
์ด์ ํ๊ต ์ฐจ๋ 60๋๋ก ๊ตฌ์ฑ๋ ์ฐจ๋์ผ๋ก ์ ๋ฌธ๊ฐ ๋ฐ ํ์ ์ ์ฑ ์ ์์งํ์ผ๋ฉฐ, 30๊ฐ ๋ ์ผ ๋์์์ ๋์ผํ ์ผ์ ์ค์ํธ๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ์ฐจ๋์ผ๋ก ์์ง๋ ๋ฉํฐ๋ชจ๋ฌ ๋ก๊ทธ๋ ๋น์ ํํ๋์ด ์์ผ๋ฉฐ ์์ ๋๋ ์ง์นจ ์ ๋ณด๊ฐ ์์ต๋๋ค. ์ํผ์๋๋ฅผ ๊ฒ์ํ๊ณ ํ๋ ์ด์ ํ๊ธฐ ์ํด OSRM์ ์ฌ์ฉํ์ฌ GPS ์ถ์ ์ ๋งต ๋งค์นญํ์ฌ ์ถ์ถํ ์ ๋ณด๋ก ์์ ๋ฉํฐ๋ชจ๋ฌ ๋ก๊ทธ๋ฅผ ํ๋ถํ๊ฒ ํ๊ณ OSM์์ ๋ ธ๋ ๋ฐ ์จ์ด ํ๊ทธ๋ฅผ ํ ๋นํฉ๋๋ค (๋ค์ ์น์ ์ฐธ์กฐ). LLM๊ณผ ๊ฒฐํฉ๋ ์ด ํ๋ถํ ๋จ๊ณ๋ ์์ ์ ๋ํ ์์ฐ์ด ์ค๋ช ์ ํตํด ์ํผ์๋๋ฅผ ๊ฒ์ํ ์ ์๊ฒ ํฉ๋๋ค.
OpenStreetMap
๊ด๋ จ ์ํผ์๋๋ฅผ ํจ์จ์ ์ผ๋ก ๊ฒ์ํ๊ธฐ ์ํด OSRM์ ์ฌ์ฉํ์ฌ ๋งต ๋งค์นญ์ ํตํด ์ป์ ํ์ ์ ๋ณด๋ฅผ GPS ์ถ์ ์ ์ถ๊ฐํฉ๋๋ค. ๋ํ ๋งต ๋งค์นญ๋ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ๊ณ OSM์ ์ฌ์ฉํ์ฌ ๊ฒฝ๋ก ๊ธฐ๋ฅ, ๊ฒฝ๋ก ์ ํ ๋ฐ ๊ฒฝ๋ก ๊ธฐ๋ (์ด์นญํ์ฌ ๊ฒฝ๋ก ์์ ์ด๋ผ๊ณ ํจ)์ ๊ถค์ ์ ํ ๋นํฉ๋๋ค (์ํ ์ง๋ ์ฐธ์กฐ). ๋ถ๋ก A1-A2๋ GPS ์ถ์ ์ ํ ๋นํ๋ ๊ฒฝ๋ก ์์ ์ ๋ํ ์์ธํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.

Fig 5: Driving tasks assigned to raw GPS trace (View map)
๋งต ๋งค์นญ๋ ๊ฒฝ๋ก์ ํ ๋น๋๋ ๊ฒฝ๋ก ์์ ์๋ ์์ ๋ฐ ์ข ๋ฃ ํ์์คํฌํ (Unix epoch)๊ฐ ํ ๋น๋๋ฉฐ, ์ด๋ ์ฐจ๋์ด ์์ ์ ์ ์๋ ์ง๋ฆฌ ๊ณต๊ฐ ๋ผ์ธ์คํธ๋ง ๋๋ ์ง์ ์ ๋ค์ด๊ฐ๊ณ ๋๊ฐ๋ ์๊ฐ์ ๋ํ๋ ๋๋ค(๊ทธ๋ฆผ 6).
| Begin: Driving task (Best viewed in a separate tab) | End: Driving task (Best viewed in a separate tab) |
|---|---|
![]() |
![]() |
Fig 6: Pink: GNSS trace, Blue: Matched route, tasks: Yield, Train crossing and Roundabout (View Map)
Multimodal search
๊ทธ๋ฆผ 5์ ์ค๋ช ๋ ๊ฒฝ๋ก ์์ ์ ์ฌ์ฉํ์ฌ ๋ฉํฐ๋ชจ๋ฌ ๋ฐ์ดํฐ์ ๋ํ ์๋ฏธ๋ก ์ ์๊ณต๊ฐ ์ธ๋ฑ์ฑ์ ์ํํฉ๋๋ค. ์ด ๋จ๊ณ๋ ๋ฉํฐ๋ชจ๋ฌ ๋ฐ์ดํฐ์ ๋ํ ํ๋ถํ ์๋ฏธ๋ก ์ ๊ฐ์๋ฅผ ์ ๊ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด, "์ํ ๊ต์ฐจ๋ก๊น์ง ์ด์ ํ๊ณ ์ฐ์ ๊ถ์ด ์์ ๋ ์ฐํ์ ํ์ธ์"์ ๊ฐ์ ์ง์นจ์ผ๋ก ์๋ฏธ๋ก ์ ๊ณต๊ฐ ๋ด์์ ๋ํ์ ์ธ ์ํผ์๋๋ฅผ ๊ฒ์ํ๊ธฐ ์ํด LLM ๊ธฐ๋ฐ์ ๋ฉํฐ๋ชจ๋ฌ ์์ฐ์ด ๊ฒ์์ ๊ตฌ์ถํ์ฌ ๋ชจ๋ ์ฃผํ ๋ฐ์ดํฐ (> 1 ํํ๋ฐ์ดํธ) ๋ด์์ ๊ฒ์ํ๊ณ ์ผ์นํ๋ ์ํผ์๋๋ฅผ ๊ฒ์ํฉ๋๋ค.
GPS ๋ด๋น๊ฒ์ด์ ์ฅ์น์์ ์ ๊ณต๋๋ ํด๋ฐ์ดํด ๋ด๋น๊ฒ์ด์ ๊ณผ ์ ์ฌํ๋๋ก ์์ฐ์ด ์ฟผ๋ฆฌ(์ง์นจ)๋ฅผ ๊ตฌ์ฑํ์ต๋๋ค. ์ง์นจ์ ๊ฒฝ๋ก ์์ ์ผ๋ก ๋ณํํ๊ธฐ ์ํด LLM์ ์ง์นจ์ ํ๋กฌํํธํ๊ณ ์ถ๋ ฅ์ ์คํฐ์ด๋งํ์ฌ ๊ฒฝ๋ก ๊ธฐ๋ฅ, ๊ฒฝ๋ก ์ ํ ๋ฐ ๊ฒฝ๋ก ๊ธฐ๋ ๋ชฉ๋ก์ผ๋ก ๋ณํํ๊ณ ํด๋น ๊ฒฝ๋ก ์์ ์ ํ ๋น๋ ์ํผ์๋๋ฅผ ๊ฒ์ํฉ๋๋ค. pydantic ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ LLM์ ์ถ๋ ฅ์ ๋ํ ์๊ฒฉํ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ํํ์ฌ ํ๊ฐ์ ์ต์ํํฉ๋๋ค. ํนํ llama-3.3-70b๋ฅผ ์ฌ์ฉํ๊ณ pydantic ๋ชจ๋ธ๋ก ์ ์๋ ์คํค๋ง๋ก ์ถ๋ ฅ์ ์คํฐ์ด๋งํฉ๋๋ค. ๊ตฌ์กฐํ๋ ์ถ๋ ฅ์ ํ์ง์ ๋์ฑ ํฅ์์ํค๊ธฐ ์ํด ์ธ์ปจํ ์คํธ ํ์ต์ ์ํด ์ฝ 30์์ ์๋ ค์ง ์์ฐ์ด ์ฟผ๋ฆฌ์ ๊ฒฝ๋ก ์์ ์ ์ฌ์ฉํ์ต๋๋ค. ๋ถ๋ก A. 2๋ ์ฌ์ฉํ ์ธ์ปจํ ์คํธ ํ์ต ์์ ๋ํ ์์ธํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.

Instructions: Drive up to the roundabout and when you have the right of way turn right
LeRobot
๐ค์ L2D๋ LeRobotDataset v2.1 ๋ฐ LeRobotDataset v3.0 ํ์์ผ๋ก ๋ณํ๋์ด LeRobot ๋ด์์ ์ง์๋๋ ํ์ฌ ๋ฐ ํฅํ ๋ชจ๋ธ์ ์ต๋ํ ํ์ฉํ ์ ์์ต๋๋ค. AI ์ปค๋ฎค๋ํฐ๋ ์ด์ ACT, Diffusion Policy ๋ฐ Pi0์ ๊ฐ์ ์ค์ ๋ก๋ด ๊ณตํ์ ์ํ ์ต์ฒจ๋จ ๋ชจ๋ฐฉ ํ์ต ๋ฐ ๊ฐํ ํ์ต ๋ชจ๋ธ์ ํ์ฉํ์ฌ ์ข ๋จ๊ฐ ์์จ ์ฃผํ ๋ชจ๋ธ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
๊ธฐ์กด์ ์์จ ์ฃผํ ๋ฐ์ดํฐ์ (์๋ ํ)์ 2D/3D ๊ฐ์ฒด ๊ฐ์ง, ์ถ์ , ์ธ๋ถํ ๋ฐ ๋ชจ์ ๊ณํ๊ณผ ๊ฐ์ ์ค๊ฐ ์ธ์ ๋ฐ ๊ณํ ์์ ์ ์ด์ ์ ๋ง์ถ๊ณ ์์ด ๊ณ ํ์ง ์ฃผ์์ด ํ์ํ๊ณ ํ์ฅํ๊ธฐ ์ด๋ ต์ต๋๋ค. ๋์ L2D๋ ์ผ์ ์ ๋ ฅ(ํ 1)์์ ์ง์ ํ๋(์ ์ฑ )์ ์์ธกํ๋ ๋ฐฉ๋ฒ์ ํ์ตํ๋ ์ข ๋จ๊ฐ ํ์ต ๊ฐ๋ฐ์ ์ด์ ์ ๋ง์ถฅ๋๋ค. ์ด๋ฌํ ๋ชจ๋ธ์ ์ธํฐ๋ท์์ ์ฌ์ ํ๋ จ๋ VLM ๋ฐ VLAM์ ํ์ฉํฉ๋๋ค.
Releases
๋ก๋ณดํฑ์ค AI ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํ๋ จ ์ธํธ ๋ด ์ํผ์๋์ ํ์ง์ ์ํด ์ ํ๋ฉ๋๋ค. ์ต๊ณ ํ์ง์ ์ํผ์๋๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด L2D์ ๋ํ ๋จ๊ณ์ ๋ฆด๋ฆฌ์ค๋ฅผ ๊ณํํ๊ณ ์์ต๋๋ค. ๊ฐ ์ ๋ฆด๋ฆฌ์ค๋ง๋ค ์ํผ์๋์ ๋ํ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ถ๊ฐํฉ๋๋ค. ๊ฐ ๋ฆด๋ฆฌ์ค R1+๋ ๊นจ๋ํ ์ํผ์๋ ๊ธฐ๋ก์ ๋ณด์ฅํ๊ธฐ ์ํด ์ด์ ๋ฆด๋ฆฌ์ค์ ์์ ์งํฉ์ ๋๋ค.
1. instructions: ์ด์ ์์ ์ ๋ํ ์์ฐ์ด ์ง์นจ 2. task_id: ์ํผ์๋๋ฅผ EU ์๋ฌด ์ด์ ๊ณผ์ Task ID๋ก ๋งคํ 3. observation.state.route : OSM์ ์ฐจ์ ์, ํ์ ์ฐจ์ ์ ๋ํ ์ ๋ณด 4. suboptimal: ์ฑ๋ฅ์ด ์ต์ ์ด ์๋ ์ ์ฑ ์ ์์ธ์ ๋ํ ์์ฐ์ด ์ค๋ช
| HF | Nutron | Date | Episodes | Duration | Size | instructions | task_id | observation.state.route | suboptimal |
|---|---|---|---|---|---|---|---|---|---|
| R0 | R0 | March 2025 | 100 | 0.5+ hr | 9,5 GB | ☑️ | |||
| R1 | R1 | April 2025 | 1K | 5+ hr | 95 GB | ☑️ | |||
| R2 | R2 | May 2025 | 10K | 50+ hr | 0.5 TB | ☑️ | ☑️ | ☑️ | |
| R3 | R3 | Sept 2025 | 100K | 500+ hr | 5 TB | ☑️ | ☑️ | ☑️ | |
| R4 | R4 | Nov 2025 | 1M | 5000+ hr | 90 TB | ☑️ | ☑️ | ☑️ | ☑️ |
Table 5: L2D release dates
์ด์ ํ๊ต ์ฐจ๋์ผ๋ก Yaak๊ฐ ์์งํ ์ ์ฒด ๋ฉํฐ๋ชจ๋ฌ ๋ฐ์ดํฐ์ ์ ๊ณํ๋ ๋ฆด๋ฆฌ์ค๋ณด๋ค 5๋ฐฐ ๋ ํฝ๋๋ค. R4๋ฅผ ๋์ด L2D์ ์ฑ์ฅ์ ๋์ฑ ๋ฐ์ ์ํค๊ธฐ ์ํด, AI ์ปค๋ฎค๋ํฐ๊ฐ ์ ์ฒด ๋ฐ์ดํฐ ์ปฌ๋ ์ ๋ด์์ ์๋๋ฆฌ์ค๋ฅผ ๊ฒ์ํ๊ณ ๋ฐ๊ฒฌํ๋ฉฐ ์ปค๋ฎค๋ํฐ ์ฃผ๋ ์คํ ์์ค L2D๋ฅผ ๊ตฌ์ถํ๋๋ก ์ด๋ํฉ๋๋ค. AI ์ปค๋ฎค๋ํฐ๋ ์ด์ ์์ฐ์ด ๊ฒ์์ ํตํด ์ํผ์๋๋ฅผ ๊ฒ์ํ๊ณ ์ปค๋ฎค๋ํฐ ๊ฒํ ๋ฅผ ์ํด ์ปฌ๋ ์ ์ ํ์ ๋ฃ์ด ๋ค๊ฐ์ค๋ ๋ฆด๋ฆฌ์ค์ ๋ณํฉํ ์ ์์ต๋๋ค. L2D๋ฅผ ํตํด ๊ณต๊ฐ ์ง๋ฅ์ ์ํ ImageNet ์๊ฐ์ ์ด๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/193_l2d/traffic-lights-left-turn-hf-01.gif" alt="Natural language search" style="width: 80%;">
Fig 7: Searching episodes by natural language instructions
Using L2D with HF/LeRobot
R0, R1์ ๊ฒฝ์ฐ LeRobotDataset์ revision=[R0|R1]๊ณผ ํจ๊ป ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด๋ LeRobot์ pypi ๋ฆด๋ฆฌ์ค์์ ์ง์ ์ฌ์ฉํ ์ ์์ต๋๋ค. R2+์ ๊ฒฝ์ฐ, R3์ด Dataset v3.0 ํ์์ด๊ธฐ ๋๋ฌธ์ StreamingLeRobotDataset ์ฌ์ฉ์ ๊ถ์ฅํ๋ฉฐ, ์ฌ๊ธฐ์ ์ค๋ช
๋ ์ค์น ์ง์นจ์ ๋ฐ๋ฅด๊ฑฐ๋ ์๋์ ๊ฐ์ด ๋ฉ์ธ์์ ์ค์นํ์ญ์์ค.
# uv for python deps
curl -LsSf https://astral.sh/uv/install.sh | sh
# install python version and pin it
uv init && uv python install 3.12.4 && uv python pin 3.12.4
# add lerobot to deps for R0, R1
uv add lerobot
# for R2+
GIT_LFS_SKIP_SMUDGE=1 uv add "git+https://github.com/huggingface/lerobot.git@main"
uv run python
>>> from lerobot.datasets.streaming_dataset import StreamingLeRobotDataset
# This will load 3 episodes=[0, 9999, 99999], to load all the episodes please remove it
>>> dataset = StreamingLeRobotDataset("yaak-ai/L2D", episodes=[0, 9999, 99999], streaming=True, buffer_size=1000)
>>> dataset.meta
LeRobotDatasetMetadata({
Repository ID: 'yaak-ai/L2D',
Total episodes: '100000',
Total frames: '19042712',
Features: '['observation.state.vehicle', 'observation.state.lanes', 'observation.state.road', 'observation.state.surface', 'observation.state.max_speed', 'observation.state.precipitation', 'observation.state.conditions', 'observation.state.lighting', 'observation.state.waypoints', 'observation.state.timestamp', 'task.policy', 'task.instructions', 'action.continuous', 'action.discrete', 'timestamp', 'frame_index', 'episode_index', 'index', 'task_index', 'observation.images.left_forward', 'observation.images.front_left', 'observation.images.right_forward', 'observation.images.left_backward', 'observation.images.rear', 'observation.images.right_backward', 'observation.images.map']',
})',
Closed Loop Testing
LeRobot driver
L2D ๋ฐ LeRobot์ผ๋ก ํ๋ จ๋ AI ๋ชจ๋ธ์ ์ค์ ํ ์คํธ๋ฅผ ์ํด, 2025๋ ์ฌ๋ฆ๋ถํฐ ์์ ์ด์ ์์ ํจ๊ปํ๋ ํ์ ๋ฃจํ ํ ์คํธ๋ฅผ ์ํ ๋ชจ๋ธ ์ ์ถ์ ์ด๋ํฉ๋๋ค. AI ์ปค๋ฎค๋ํฐ๋ ๋น์ฌ ์ฐจ๋์์ ํ์ ๋ฃจํ ํ ์คํธ๋ฅผ ์ํด ๋ชจ๋ธ์ ํ์ ๋ฃ๊ณ , ๋ชจ๋ธ์ ํ๊ฐํ ์์ (์: ์ํ ๊ต์ฐจ๋ก ํ์ ๋๋ ์ฃผ์ฐจ)์ ์ ํํ ์ ์์ต๋๋ค. ๋ชจ๋ธ์ ์ฐจ๋ ์จ๋ณด๋์์ ์ถ๋ก ๋ชจ๋(Jetson AGX ๋๋ ์ ์ฌ ์ ํ)๋ก ์คํ๋ฉ๋๋ค. ๋ชจ๋ธ์ ๋ ๊ฐ์ง ๋ชจ๋์์ LeRobot ๋๋ผ์ด๋ฒ๋ก ์ฐจ๋์ ์ด์ ํฉ๋๋ค.
- drive-by-waypoints: "observation.state.vehicle.waypoints์ ์ ๊ณต๋ '์ด์ ๊ท์น ๋ฐ ๊ท์ ์ ์ค์ํ๋ฉด์ ์จ์ดํฌ์ธํธ๋ฅผ ๋ฐ๋ผ๊ฐ์ธ์'".
- drive-by-language: "์ง์งํ๊ณ ํก๋จ๋ณด๋์์ ์ฐํ์ ํ์ธ์".
Additional Resources
- Driving task catalog (Fahraufgabenkatalog)
- Official German practical driving exam
- Groq
References
@article{yaak2023novel,
author = {Yaak team},
title ={A novel test for autonomy},
journal = {https://www.yaak.ai/blog/a-novel-test-for-autonomy},
year = {2023},
}
@article{yaak2023actiongpt,
author = {Yaak team},
title ={Next action prediction with GPTs},
journal = {https://www.yaak.ai/blog/next-action-prediction-with-gpts},
year = {2023},
}
@article{yaak2024si-01,
author = {Yaak team},
title ={Building spatial intelligence part - 1},
journal = {https://www.yaak.ai/blog/buildling-spatial-intelligence-part1},
year = {2024},
}
@article{yaak2024si-01,
author = {Yaak team},
title ={Building spatial intelligence part - 2},
journal = {https://www.yaak.ai/blog/building-spatial-intelligence-part-2},
year = {2024},
}
Appendix
A.1 Route tasks
๊ฒฝ๋ก ์ ํ ๋ชฉ๋ก. OSM์ ๊ฒฝ๋ก ํ๊ทธ๋ฅผ ์๋ ์ ํ, ์๋ณด ๋๋ ๊ณต์ฌ์ ๊ฐ์ด ์ ์ฑ ์ ์ ํ์ ๋ถ๊ณผํ๋ ๊ฒฝ์ฐ ์ ํ์ผ๋ก ๊ฐ์ฃผํฉ๋๋ค. ๊ฒฝ๋ก ๊ธฐ๋ฅ์ ๊ฒฝ์ฌ, ํฐ๋ ๋ฐ ํก๋จ๋ณด๋์ ๊ฐ์ด ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ์๋ ๋ฌผ๋ฆฌ์ ๊ตฌ์กฐ๋ฌผ์ ๋๋ค. ๊ฒฝ๋ก ๊ธฐ๋์ ์ด์ ์๊ฐ ๋์ ํ๊ฒฝ์์ ์ฐจ๋์ ์ ์์ ์ผ๋ก ์ดํํ๋ ๋์ ๋ฐ์ํ๋ ๋ค์ํ ์๋๋ฆฌ์ค(์: ๋ค์ฐจ์ ์ขํ์ ๋ฐ ์ํ ๊ต์ฐจ๋ก)์ ๋๋ค.
| Type | Name | Assignment | Task ID | Release |
|---|---|---|---|---|
| Route restriction | CONSTRUCTION | VLM | R1 | |
| Route restriction | CROSS_TRAFFIC | VLM | 4.3.1.3a, 4.3.1.3b, 4.3.1.3d, 4.2.1.3a, 4.2.1.3b, 4.2.1.3d | R2 |
| Route restriction | INCOMING_TRAFFIC | VLM | R2 | |
| Route restriction | LIMITED_ACCESS_WAY | OSM | R0 | |
| Route restriction | LIVING_STREET | OSM | R0 | |
| Route restriction | LOW_SPEED_REGION (5, 10, 20 kph) | OSM | R0 | |
| Route restriction | ONE_WAY | OSM | 3.2.1.3b | R0 |
| Route restriction | PEDESTRIANS | VLM | 7.2.1.3b | R1 |
| Route restriction | PRIORITY_FORWARD_BACKWARD | OSM | 3.1.1.3b | R0 |
| Route restriction | ROAD_NARROWS | OSM | R0 | |
| Route restriction | STOP | OSM | 4.1.1.3b, 4.2.1.3b, 4.3.1.3b | R0 |
| Route restriction | YIELD | OSM | 4.1.1.3b, 4.2.1.3b, 4.3.1.3b | R0 |
| Route feature | BRIDGE | OSM | R0 | |
| Route feature | CURVED_ROAD | OSM (derived) | 2.1.1.3a, 2.1.1.3b | R0 |
| Route feature | BUS_STOP | OSM | 7.1.1.3a | R0 |
| Route feature | HILL_DRIVE | OSM | R0 | |
| Route feature | LOWERED_KERB | OSM | R0 | |
| Route feature | NARROW_ROAD | VLM | ||
| Route feature | PARKING | OSM | R0 | |
| Route feature | PEDESTRIAN_CROSSING | OSM | 7.2.1.3b | R0 |
| Route feature | TRAFFIC_CALMER | OSM | R0 | |
| Route feature | TRAIN_CROSSING | OSM | 6.1.1.3a, 6.1.1.3b | R0 |
| Route feature | TRAM_TRACKS | OSM | 6.2.1.3a | R0 |
| Route feature | TUNNEL | OSM | R0 | |
| Route feature | UNCONTROLLED_PEDESTRIAN_CROSSING | OSM | 7.2.1.3b | R0 |
| Route maneuver | ENTERING_MOVING_TRAFFIC | OSM (derived) | 4.4.1.3a | R0 |
| Route maneuver | CUTIN | VLM | R3 | |
| Route maneuver | LANE_CHANGE | VLM | 1.3.1.3a, 1.3.1.3b | R3 |
| Route maneuver | MERGE_IN_OUT_ON_HIGHWAY | OSM | 1.1.1.3a, 1.1.1.3b, 1.1.1.3c, 1.2.1.3a, 1.2.1.3b, 1.2.1.3c | R0 |
| Route maneuver | MULTILANE_LEFT | OSM (derived) | 4.3.1.3b, 4.3.1.3c, 4.3.1.3d | R0 |
| Route maneuver | MULTILANE_RIGHT | OSM (derived) | 4.2.1.3b, 4.2.1.3c, 4.2.1.3d | R0 |
| Route maneuver | PROTECTED_LEFT | OSM (derived) | 4.3.1.3c, 4.3.1.3d | R0 |
| Route maneuver | PROTECTED_RIGHT_WITH_BIKE | OSM (derived) | 4.2.1.3c, 4.2.1.3d | R0 |
| Route maneuver | RIGHT_BEFORE_LEFT | OSM (derived) | 4.1.1.3a, 4.2.1.3a, 4.3.1.3a | R0 |
| Route maneuver | RIGHT_TURN_ON_RED | OSM | 4.2.1.3c | R0 |
| Route maneuver | ROUNDABOUT | OSM | 5.1.1.3a, 5.1.1.3b | R0 |
| Route maneuver | STRAIGHT | OSM (derived) | 8.1.1.3a | R0 |
| Route maneuver | OVER_TAKE | VLM | 3.2.1.3a, 3.2.1.3b | R4 |
| Route maneuver | UNPROTECTED_LEFT | OSM (derived) | 4.3.1.3a, 4.3.1.3b | R0 |
| Route maneuver | UNPROTECTED_RIGHT_WITH_BIKE | OSM | 4.2.1.3a, 4.2.1.3b | R0 |
OSM = Openstreetmap, VLM= Vision Language Model, derived: Hand crafted rules with OSM data
A.2 LLM prompts
groq๋ฅผ ์ฌ์ฉํ์ฌ LLM์ ๊ตฌ์ฑํ๊ธฐ ์ํ ํ๋กฌํํธ ํ ํ๋ฆฟ ๋ฐ ์์ฌ ์ฝ๋. ๊ฒฝ๋ก ๊ธฐ๋ฅ, ์ ํ ๋ฐ ๊ธฐ๋์ ๋ํ ๊ตฌ์กฐํ๋ ์์ธก์ pydantic ๋ชจ๋ธ๋ก ์ํํฉ๋๋ค. ์์ฐ์ด ์ฟผ๋ฆฌ๋ ๋๋ถ๋ถ์ GPS ๋ด๋น๊ฒ์ด์ ์ฅ์น์์ ์ ๊ณต๋๋ ํด๋ฐ์ดํด ๋ด๋น๊ฒ์ด์ ๊ณผ ์ ์ฌํ๊ฒ ๊ตฌ์ฑ๋ฉ๋๋ค.
prompt_template: "You are parsing natural language driving instructions into PyDantic Model's output=model_dump_json(exclude_none=True) as JSON. Here are a few example pairs of instructions and structured output: {examples}. Based on these examples parse the instructions. The JSON must use the schema: {schema}"
groq:
model: llama-3.3-70b-versatile
temperature: 0.0
seed: 1334
response_format: json_object
max_sequence_len: 60000
์ธ์ปจํ ์คํธ ํ์ต์ ์ํ ์์ ์ (30๊ฐ ์ค 3๊ฐ ํ์)์ผ๋ก, LLM์ ๊ตฌ์กฐํ๋ ์์ธก์ ์คํฐ์ด๋งํฉ๋๋ค. ์ฌ๊ธฐ์ ParsedInstructionModel์ pydantic ๋ชจ๋ธ์ ๋๋ค.
PROMPT_PAIRS = [
(
"Its snowing. Go straight through the intersection, following the right before left rule at unmarked intersection",
ParsedInstructionModel(
eventSequence=[
EventType(speed=FloatValue(value=10.0, operator="LT", unit="kph")),
EventType(osmRouteManeuver="RIGHT_BEFORE_LEFT"),
EventType(speed=FloatValue(value=25.0, operator="LT", unit="kph")),
],
turnSignal="OFF",
weatherCondition="Snow",
),
),
(
"stop at the stop sign, give way to the traffic and then turn right",
ParsedInstructionModel(
eventSequence=[
EventType(osmRouteRestriction="STOP"),
EventType(turnSignal="RIGHT"),
EventType(speed=FloatValue(value=5.0, operator="LT", unit="kph")),
EventType(osmRouteManeuver="RIGHT"),
],
),
),
(
"parking on a hill in the rain on a two lane road",
ParsedInstructionModel(
osmLaneCount=[IntValue(value=2, operator="EQ")],
osmRouteFeature=["PARKING", "HILL_DRIVE"],
weatherCondition="Rain",
),
),
]
EXAMPLES = ""
for idx, (instructions, parsed) in enumerate(PROMPT_PAIRS):
parsed_json = parsed.model_dump_json(exclude_none=True)
update = f"instructions: {instructions.lower()} output: {parsed_json}"
EXAMPLES += update
from groq import Groq
client = Groq(api_key=os.environ.get("GROQ_API_KEY"))
chat_completion = client.chat.completions.create(
messages=[
{
"role": "system",
"content": prompt_template.format(examples=EXAMPLES, schema=json.dumps(ParsedInstructionModel.model_json_schema(), indent=2))
},
{
"role": "user",
"content": f"instructions : its daytime. drive to the traffic lights and when it turns green make a left turn",
},
],
model=config["groq"]["model"],
temperature=config["groq"]['temperature'],
stream=False,
seed=config["groq"]['seed'],
response_format={"type": config['groq']['response_format']},
)
parsed_obj = ParsedInstructionModel.model_validate_json(chat_completion.choices[0].message.content)
parsed_obj = parsed_obj.model_dump(exclude_none=True)
A.2 Data collection hardware

Onboard compute: NVIDIA Jetson AGX Xavier
- 8 cores @ 2/2.2 GHz, 16/64 GB DDR5
- 100 TOPS , 8 lanes MIPI CSI-2 D-PHY 2.1 (up to 20Gbps)
- 8x 1080p30 video encoder (H.265)
- Power: 10-15V DC input, ~90W power consumption
- Storage: SSD M.2 (4gen PCIe 1x4)
- Video input 8 cameras:
- 2x Fakra MATE-AX with 4x GMSL2 with Power-over-Coax support
Onboard compute: Connectivity
- Multi-band, Centimeter-level accuracy RTK module
- 5G connectivity: M.2 USB3 module with maximum downlink rates of 3.5Gbps and uplink rates of 900Mbps, dual SIM
| Component | # | Vendor | Specs |
|---|---|---|---|
| RGB: Camera | 1 | connect-tech | Techspecs |
| RGB: Rugged Camera | 5 | connect-tech | Techspecs |
| GNSS | 1 | Taoglas | Techspecs |
| 5G antenna | 2 | 2J Antenna | Datasheet |
| NVIDIA Jetson Orin NX - 64 GB | 1 | Nvidia | Techspecs |
Table 6: Information on hardware kit used for data collection
Complete hardware kit specs available here
์๋ฌธ ์ถ์ฒ: https://huggingface.co/blog/lerobot-goes-to-driving-school








๋๊ธ
๋๊ธ ์ฐ๊ธฐ