vkgs-sim / configs /closed_loop.json
kimjunhan's picture
Add files using upload-large-folder tool
5170de3 verified
Raw History Blame Contribute Delete
4.23 kB
{
"_doc": "closed-loop ํ‰๊ฐ€ (HUGSIM ์‹, arXiv 2412.01718) โ€” nusim sim run|score|make-scenarios, nusim.sim.closed_loop.VkgsEnv. ์‹œ๋‚˜๋ฆฌ์˜ค(configs/scenarios/*.json)๊ฐ€ ๊ฐ™์€ ํ‚ค๋ฅผ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ๋‹ค (renderยทratesยทterminationยทserver).",
"render": {
"_doc": "๊ด€์ธก ํ•ด์ƒ๋„ (6์บ  ๋ชจ๋‘ ๊ฐ™์€ ํฌ๊ธฐ, ๋‚ด๋ถ€ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ๋น„์œจ๋Œ€๋กœ). nuScenes ์›๋ณธ์€ 1600x900 โ€” ํ•™์Šต GPU ์™€ ๋‚˜๋ˆ  ์“ธ ๋•Œ๋Š” ๋‚ฎ์ถ˜๋‹ค",
"width": 800,
"height": 450,
"sensors": false,
"weather": ""
},
"rates": {
"_doc": "decision_hz = ์ •์ฑ…(AD ์•Œ๊ณ ๋ฆฌ์ฆ˜)์ด ๊ด€์ธก์„ ๋ฐ›๊ณ  ๊ณ„ํš์„ ๋‚ด๋Š” ๋นˆ๋„ (nuScenes ํ‚คํ”„๋ ˆ์ž„ 2 Hz). control_dt = ์ œ์–ด๊ธฐ(LQR)๊ฐ€ ๊ณ„ํš์„ ๋”ฐ๋ผ๊ฐ€๋ฉฐ ๋ช…๋ น์„ ๋ฐ”๊พธ๋Š” ๊ฐ„๊ฒฉ โ€” ์„œ๋ฒ„๋Š” ๊ทธ ์•ˆ์„ 0.01 s ๋ฌผ๋ฆฌ ์Šคํ…์œผ๋กœ ์ ๋ถ„ํ•œ๋‹ค (์ฐฝ ์šด์ „๊ณผ ๊ฐ™๋‹ค)",
"decision_hz": 2.0,
"control_dt": 0.05
},
"server": {
"_doc": "max_speed_kmh: ์ž์ฐจ ์ตœ๊ณ  ์†๋„ (์ฐฝ ์šด์ „ ๊ธฐ๋ณธ 30 km/h ๋Š” ์ฃผ์ฐจ์žฅยท๊ณจ๋ชฉ์šฉ โ€” ๊ธฐ๋ก ์ฃผํ–‰์„ ๋”ฐ๋ผ๊ฐ€๋ ค๋ฉด ๋” ๋†’๊ฒŒ). curb: ์—ฐ์„(์ฃผํ–‰๊ฐ€๋Šฅ์˜์—ญ ๊ฒฝ๊ณ„) ์ถฉ๋Œ. start_timeout_s: ๋ชจ๋ธ ์ฝ๊ธฐ ๊ธฐ๋‹ค๋ฆผ",
"max_speed_kmh": 60.0,
"curb": true,
"start_timeout_s": 180
},
"planner": {
"_doc": "์ •์ฑ… ์ถœ๋ ฅ (์ž์ฐจ ์ขŒํ‘œ ์›จ์ดํฌ์ธํŠธ: x ์•ž, y ์™ผ์ชฝ m) ์˜ ๊ธฐ๋ณธ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ๊ณผ ๊ฐœ์ˆ˜ โ€” UniAD/VAD ์™€ ๊ฐ™์€ 0.5 s ร— 6 (3 s)",
"waypoint_dt": 0.5,
"n_waypoints": 6
},
"controller": {
"_doc": "์›จ์ดํฌ์ธํŠธ โ†’ ๊ฐ€์†ยท์กฐํ–ฅ (nusim/sim/controller.py). ํšก๋ฐฉํ–ฅ = ์ด์‚ฐ LQR (์ƒํƒœ: ํšก์˜ค์ฐจยท๋ฐฉ์œ„์˜ค์ฐจ, ์ž…๋ ฅ: ๊ณก๋ฅ  ํ”ผ๋“œ๋ฐฑ ์œ„์— ์กฐํ–ฅ), ์ข…๋ฐฉํ–ฅ = PI ์†๋„ ์ถ”์ข… + ๋ชฉํ‘œ ๊ฐ€์† ์•ž๋จน์ž„. q_latยทq_headยทr_steer = LQR ๊ฐ€์ค‘์น˜, preview_s = ๊ธฐ์ค€์ ์„ ์ด๋งŒํผ ์•ž์—์„œ (์กฐํ–ฅ ์ง€์—ฐ ๋ณด์ƒ), max_jerk = ๋ช…๋ น ๊ฐ€์† ๋ณ€ํ™”์œจ ์ œํ•œ m/sยณ (0 = ๋”)",
"q_lat": 1.0,
"q_head": 2.0,
"r_steer": 6.0,
"preview_s": 0.25,
"kp_speed": 1.2,
"ki_speed": 0.2,
"accel_limits": [-4.0, 2.0],
"stop_speed": 0.3,
"max_jerk": 3.0
},
"termination": {
"_doc": "์—ํ”ผ์†Œ๋“œ ๋: ์ถฉ๋Œ(collision_kinds ์˜ ์ ‘์ด‰์œผ๋กœ ๋ง‰ํž˜), ๋„๋กœ ์ดํƒˆ์ด offroad_s ๋„˜๊ฒŒ ์ง€์†, ๊ฒฝ๋กœ์—์„œ max_route_dev_m ๋„˜๊ฒŒ ๋ฒ—์–ด๋‚จ (์žฌ๊ตฌ์„ฑ ๋ฒ”์œ„ ๋ฐ–), ๊ฒฝ๋กœ ๋ complete_m ์•ˆ, ์‹œ๊ฐ„ ์ดˆ๊ณผ(์‹œ๋‚˜๋ฆฌ์˜ค max_duration_s)",
"collision_kinds": ["obstacle", "vehicle"],
"offroad_s": 2.0,
"max_route_dev_m": 8.0,
"complete_m": 2.0
},
"hdscore": {
"_doc": "HD-Score_t = NC ร— DAC ร— (w_ttcยทTTC + w_comยทCOM)/(w_ttc + w_com), ์ตœ์ข… = Rc ร— ํ‰๊ท _t (HUGSIM ์‹ (8)). ๋ถ€๋ถ„ ์ ์ˆ˜๋Š” NAVSIM PDM-score ์ •์˜. nc = ์ ‘์ด‰ ์ข…๋ฅ˜๋ณ„ NC ๊ฐ’ (NAVSIM: ์ฐจ๋Ÿ‰ยท๋ณดํ–‰์ž 0, ์ •์  ๋ฌผ์ฒด 0.5 โ€” ์—ฌ๊ธฐ์„œ๋Š” ์žฅ์• ๋ฌผ ์ง€๋„๋„ 0 ์œผ๋กœ ์—„ํ•˜๊ฒŒ, ์—ฐ์„์€ DAC ๊ฐ€ ๋ณธ๋‹ค). dac_tol_m = ์ฐจ์ฒด ๋„ค ๊ท€ํ‰์ด๋ฅผ ์ด๋งŒํผ ์•ˆ์œผ๋กœ ์ค„์—ฌ ์ฃผํ–‰๊ฐ€๋Šฅ์˜์—ญ ์•ˆ์ธ์ง€ (sim.json collision.curb_tol_m ๊ณผ ๊ฐ™๊ฒŒ โ€” ์„œ๋ฒ„ on_road ์™€ ์ผ์น˜). ttc_horizon_sยทttc_dt_s = ๋“ฑ์†ยท๋“ฑ๋ฐฉ์œ„ ํˆฌ์˜ (NAVSIM 1 s / 0.1 s). comfort = nuPlan/NAVSIM ์Šน์ฐจ๊ฐ ํ•œ๊ณ„, com_window_s = ํŒ์ • ์ฐฝ (๊ทธ ์‹œ์ ๊นŒ์ง€), smooth_s = ๋ฏธ๋ถ„ ์ „ ํ‰ํ™œ ์ฐฝ",
"w_ttc": 5.0,
"w_com": 2.0,
"nc": {"vehicle": 0.0, "obstacle": 0.0, "curb": 1.0},
"dac_tol_m": 0.15,
"ttc_horizon_s": 1.0,
"ttc_dt_s": 0.1,
"ttc_min_speed": 0.2,
"com_window_s": 2.0,
"smooth_s": 0.3,
"comfort": {
"min_lon_accel": -4.05,
"max_lon_accel": 2.40,
"max_abs_lat_accel": 4.89,
"max_abs_yaw_rate": 0.95,
"max_abs_yaw_accel": 1.93,
"max_abs_lon_jerk": 4.13,
"max_abs_jerk": 8.37
}
},
"scenarios": {
"_doc": "nusim sim make-scenarios: ์ผ๊ด„ ์žฌ๊ตฌ์„ฑ(outputs/gs_day)์—์„œ ๊ตฌ๊ฐ„์ด ๋‹ค ๋๋‚œ ์”ฌ๋งˆ๋‹ค Easy ์‹œ๋‚˜๋ฆฌ์˜ค (์ •์  ์žฅ๋ฉด, ๋‹ค๋ฅธ ์ฐจ๋Ÿ‰ ์—†์Œ). route_m = ๊ฒฝ๋กœ ๊ธธ์ด ์ƒํ•œ (0 = ๊ธฐ๋ก ๋๊นŒ์ง€), min_route_m = ์ด๋ณด๋‹ค ์งง๊ฒŒ ์›€์ง์ธ ์”ฌ(์ •์ฐจ)์€ ๋บ€๋‹ค, duration_factor = ๊ธฐ๋ก ์ฃผํ–‰ ์‹œ๊ฐ„ ร— ์ด ๋ฐฐ์ˆ˜ + duration_pad_s ๊ฐ€ ์ œํ•œ ์‹œ๊ฐ„, start_speed = log (๊ธฐ๋ก ์†๋„๋กœ ์ถœ๋ฐœ) | ์ˆ˜ (m/s)",
"route_m": 0,
"min_route_m": 20.0,
"duration_factor": 1.5,
"duration_pad_s": 5.0,
"start_speed": "log"
}
}