Curieux.JY
  • JungYeon Lee
  • Post
  • ๐Ÿ•ธ๏ธ Graph
  • Lecture
  • Note

On this page

  • ๐Ÿ” Ping Review
  • ๐Ÿ”” Ring Review
    • ํ•œ ์ค„๋กœ ์‹œ์ž‘ํ•˜๋ฉด
    • ๋ฐฐ๊ฒฝ: ๋ฉ€ํ‹ฐ์•” ์กฐ์ž‘์ด ์™œ ์–ด๋ ค์šด๊ฐ€ (ยงIยทยงII)
    • ๋ฌธ์ œ ์ •์‹ํ™” (ยงIII)
    • ๋ฐฉ๋ฒ• ์ƒ์„ธ 1: Multi-modal roadmap (ยงIV-A)
    • ๋ฐฉ๋ฒ• ์ƒ์„ธ 2: GPU ๊ฐ€์† conflict-driven ํƒ์ƒ‰ (ยงIV-B)
    • ๋ฐฉ๋ฒ• ์ƒ์„ธ 3: Anytime refinement (ยงIV-C)
    • ๋ฐฉ๋ฒ• ์ƒ์„ธ 4: Schedule-then-coordinate TAMP (ยงV)
    • ์ง๊ด€: ์งˆ๋ฌธ ๋ชฉ๋ก์ด ์ •ํ•ด์ ธ ์žˆ์œผ๋ฉด ๋‹ต์„ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•ด ๋‘˜ ์ˆ˜ ์žˆ๋‹ค
    • ์‹คํ—˜ ์„ค์ • (ยงVI)
    • ์‹คํ—˜ 1: RoboBallet, ๋‹ค์ˆ˜ ํŒ”๊ณผ ์žฅ๊ธฐ ๊ณผ์ œ (ยงVI-A)
    • ์‹คํ—˜ 2: Multi-arm TAMP, tabletop (ยงVI-B)
    • ์‹คํ—˜ 3: ์‹ค๊ธฐ ์ „์ž๋ถ€ํ’ˆ ์กฐ๋ฆฝ (ยงVI-C)
    • ๋ถ€๋ก (ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ PDF): ๊ฐ™์€ ๊ณ„์—ด planner์™€์˜ ๋น„๊ต
      • A. MRMG ์žฅ๊ธฐ ๋ฉ€ํ‹ฐ์•” ์กฐ๋ฆฝ
      • B. xECBS one-shot ๋ฉ€ํ‹ฐ์•” motion planning
      • C. ์–‘ํŒ” LEGO ์กฐ๋ฆฝ
      • D. ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๋ฅผ scheduler๋กœ
      • E. ์ฝ”๋”ฉ ์—์ด์ „ํŠธ์™€ ํ•จ๊ป˜ํ•œ ์‹ค๊ธฐ tabletop
    • ๋น„ํŒ์ ์œผ๋กœ ๋ณด๋ฉด
      • ๊ฐ•์ 
      • ์•ฝ์ ยทํ•œ๊ณ„
    • ์ฝ”๋“œ ๊ณต๊ฐœ ๋ฒ”์œ„
    • ๊ด€๋ จ ์—ฐ๊ตฌ์™€์˜ ์ž๋ฆฌ ๋งค๊น€
    • ์š”์•ฝ
    • ์ด ๊ธ€์— ๋Œ€ํ•ด

๐Ÿ“ƒcuArms ๋ฆฌ๋ทฐ

manipulation
multi-robot
planning
gpu-parallel
tamp
cuArms: GPU-Accelerated Conflict-Based Planning for Multi-Arm Manipulation
Published

October 25, 2026

  • Paper Link (arXiv:2610.36250)

  • Project

  • Appendix (PDF, ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€)

  • Philip Huang, Fabio Ramos, Jiaoyang Li, Caelan Garrett*, Lars Johannsmeier* (*equal advising)

  • NVIDIA ยท Carnegie Mellon University ยท University of Sydney, arXiv preprint (cs.RO), 2026

  1. ๐Ÿ’ก ์—ฌ๋Ÿฌ ๋กœ๋ด‡ ํŒ”์ด ํ•œ ์ž‘์—… ๊ณต๊ฐ„์—์„œ pick-and-placeยท์šฉ์ ‘ยทhandoverยท์–‘ํŒ” ์šด๋ฐ˜์„ ํ•จ๊ป˜ ํ•˜๋ ค๋ฉด ํ• ๋‹นยท์Šค์ผ€์ค„ยท์ถฉ๋Œ ํšŒํ”ผยท์ ‘์ด‰ skill์„ ๋™์‹œ์— ํ’€์–ด์•ผ ํ•œ๋‹ค. cuArms๋Š” MAPF์˜ conflict-based ํƒ์ƒ‰(LaCAM + PIBT)์„ ๋กœ๋ด‡ ํŒ”๋กœ ์˜ฎ๊ธฐ๊ณ , ๋น„์‹ผ ๊ธฐํ•˜ ๊ฒ€์‚ฌ๋ฅผ GPU ๋ฐฐ์น˜๋กœ ๋ชฐ์•„ ์ด ๋ฌธ์ œ๋ฅผ ์‹ค์‹œ๊ฐ„ ๊ทผ์ฒ˜๋กœ ๋Œ์–ด๋‚ด๋ฆฐ๋‹ค.
  2. โš™๏ธ ๋กœ๋ด‡๋งˆ๋‹ค ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ multi-modal roadmap์„ GPU์—์„œ ๋งŒ๋“ค๊ณ (๋ฌผ์ฒด ๋ฐฐ์น˜๊ฐ€ ๋ฐ”๋€Œ๋ฉด mode-validity mask๋งŒ ๋‹ค์‹œ ๊ณ„์‚ฐ), ํƒ์ƒ‰ ์ƒํƒœ๋งˆ๋‹ค ๋ชจ๋“  ๋กœ๋ด‡์˜ ํ›„๋ณด ํ–‰๋™ ์Œ์„ ํ•œ ๋ฒˆ์— GPU๋กœ ์ถฉ๋Œ ๊ฒ€์‚ฌํ•ด Boolean conflict table์„ ๋งŒ๋“  ๋’ค CPU์˜ PIBT๊ฐ€ ๊ทธ ํ‘œ๋งŒ ์กฐํšŒํ•ด ์ถฉ๋Œ ์—†๋Š” ๋‹ค์Œ joint state๋ฅผ ๊ณ ๋ฅธ๋‹ค. ํ•ด๊ฐ€ ๋‚˜์˜ค๋ฉด GPU ๋ฐฐ์น˜ shortcut์œผ๋กœ ๋‹ค๋“ฌ๊ณ , ์ƒ์œ„ scheduler๊ฐ€ ๋‹ค๋ฅธ schedule skeleton์„ ๊ณ„์† ์ œ์•ˆํ•œ๋‹ค.
  3. ๐ŸŽฏ RoboBallet ์šฉ์ ‘ ๋ฒค์น˜๋งˆํฌ(4ยท8ํŒ”, 10ยท40 ํƒ€๊นƒ)์—์„œ 150/150์„ ํ’€๊ณ  ์ฒซ ํ•ด๋ฅผ ์ค‘์•™๊ฐ’ 0.20~0.87 s์— ์ฐพ์œผ๋ฉฐ, ์žฌํ•™์Šตํ•œ RoboBallet RL์€ 29/150ยท50/150์— ๊ทธ์ณค๋‹ค. 2ํŒ” tabletop TAMP์—์„œ๋Š” ScheduleStream๋ณด๋‹ค ์ฒซ ํ•ด๊ฐ€ 46.4% ๋น ๋ฅด๊ณ (๋„ค ๊ณผ์ œ ํ•ฉ์‚ฐ ๊ธฐ์ค€) 180/180์„ ํ’€๋ฉฐ, ์ถ”๊ฐ€ ๊ณ„์‚ฐ์œผ๋กœ makespan์„ 42~57% ์ค„์ธ๋‹ค.

๐Ÿ” Ping Review

๐Ÿ” Ping โ€” A light tap on the surface. Get the gist in seconds.

๋กœ๋ด‡ ํŒ” ์—ฌ๋Ÿฌ ๋Œ€๊ฐ€ ๊ฐ™์€ ์ž‘์—… ์…€์„ ์“ฐ๋ฉด ์ฒ˜๋ฆฌ๋Ÿ‰์€ ๋Š˜์ง€๋งŒ, ๋ฌธ์ œ๋Š” ๊ณง ๋„ค ๊ฒน์ด ๋œ๋‹ค. ์–ด๋–ค ํŒ”์ด ์–ด๋–ค ์ผ์„ ๋งก์„์ง€(ํ• ๋‹น), ์–ธ์ œ ์–ด๋–ค ์ˆœ์„œ๋กœ ํ• ์ง€(์Šค์ผ€์ค„), ์„œ๋กœ ๋ถ€๋”ชํžˆ์ง€ ์•Š๊ฒŒ ์–ด๋–ป๊ฒŒ ์›€์ง์ผ์ง€(์ถฉ๋Œ ํšŒํ”ผ), ๊ทธ๋ฆฌ๊ณ  ์žก๊ธฐยท๋†“๊ธฐยทhandoverยท์–‘ํŒ” ์šด๋ฐ˜์ฒ˜๋Ÿผ ๋ฌผ์ฒด์™€ ํŒ”์˜ ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ๋ฐ”๊พธ๋Š” hybrid ํ–‰๋™์„ ์–ด๋–ป๊ฒŒ ๋ผ์›Œ ๋„ฃ์„์ง€๋‹ค. ๊ธฐ์กด ์ ‘๊ทผ์€ ๊ณผ์ œ ์ „์šฉ ๊ตฌ์กฐ์— ๊ธฐ๋Œ€๊ฑฐ๋‚˜(APEX-MR, Fabrica), ๋А๋ฆฌ๊ฑฐ๋‚˜(xECBS, ์ƒ˜ํ”Œ๋ง ๊ธฐ๋ฐ˜ multi-modal planner), ์–‘ํŒ” skill์„ ๊ณ„ํšํ•˜์ง€ ๋ชปํ•˜๊ฑฐ๋‚˜(xECBS, VAMP-MR), ํ•™์Šต์— ๋ฉฐ์น ์ด ๋“œ๋Š”(RoboBallet RL) ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค๊ณ  ์ €์ž๋“ค์€ ์ •๋ฆฌํ•œ๋‹ค.

cuArms์˜ ๋‹ต์€ ๋‘ ๋ฐฉํ–ฅ์—์„œ ๊ณ„์‚ฐ๋Ÿ‰์„ ๊นŽ๋Š” ๊ฒƒ์ด๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ชฝ์—์„œ๋Š” ๋กœ๋ด‡๋ณ„ roadmap + ๋กœ๋ด‡ ๊ฐ„ ์ถฉ๋Œ๋งŒ ๋”ฐ๋กœ ํ‘ธ๋Š” conflict-based ํƒ์ƒ‰์œผ๋กœ joint space๋ฅผ ๋ถ„ํ•ดํ•œ๋‹ค. ํ•˜๋“œ์›จ์–ด ์ชฝ์—์„œ๋Š” ๊ทธ ํƒ์ƒ‰์ด ๋งค ์Šคํ… ์š”๊ตฌํ•˜๋Š” ๋น„์‹ผ ๊ธฐํ•˜ ๊ฒ€์‚ฌ๋ฅผ GPU ๋ฐฐ์น˜ ํ•œ๋‘ ๋ฒˆ์œผ๋กœ ๋ชฐ์•„๋„ฃ๋Š”๋‹ค. ํ•ต์‹ฌ์€ ๊ธฐ์กด CPU planner๋ฅผ GPU๋กœ ์˜ฎ๊ธด ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ฒ˜์Œ๋ถ€ํ„ฐ โ€œ์žฌ๊ท€์  ์˜์‚ฌ๊ฒฐ์ •์€ CPU, ๋Œ€๋Ÿ‰ ๊ธฐํ•˜ ๊ฒ€์‚ฌ๋Š” GPUโ€๋กœ ๊ฐˆ๋ผ ์„ค๊ณ„ํ–ˆ๋‹ค๋Š” ์ ์ด๋‹ค.


์ ์šฉ ๋„๋ฉ”์ธ(Fig. 1). a) 2ํŒ” tabletop ์กฐ์ž‘(์‹œ๋ฎฌ๋ ˆ์ด์…˜), b) 8ํŒ” ์šฉ์ ‘(RoboBallet ๋ฒค์น˜๋งˆํฌ, ์‹œ๋ฎฌ๋ ˆ์ด์…˜), c) ์‹ค๊ธฐ handover(๋ฌผ์ฒด ์žฌํŒŒ์ง€), d) ์–‘ํŒ” ์šด๋ฐ˜. d)์˜ teaser ์ด๋ฏธ์ง€๋Š” ๋ Œ๋”๋ง์ด๊ณ  ์‹ค๊ธฐ ์šด๋ฐ˜ ์žฅ๋ฉด์€ Fig. 8(b)์— ์žˆ๋‹ค.

์‹œ์Šคํ…œ ๊ฐœ์š”(Fig. 2). ์‚ฌ๋žŒ์ด๋‚˜ ์—์ด์ „ํŠธ๊ฐ€ ๋กœ๋ด‡ยท๋ฌผ์ฒดยท๋ชฉํ‘œยท์ œ์•ฝ์„ ์ •์˜ํ•˜๋ฉด scheduler(ScheduleStream ๋“ฑ)๊ฐ€ ํ• ๋‹นยท์ˆœ์„œยท๋ฐฐ์น˜ยทgraspยทIK๋ฅผ ๋‹ด์€ schedule skeleton์„ ๋‚ธ๋‹ค. cuArms๋Š” โ‘  ๋กœ๋ด‡๋ณ„ multi-modal roadmap์„ GPU๋กœ ๋งŒ๋“ค๊ณ  โ‘ก ํ›„๋ณด ํ–‰๋™ ์Œ์˜ ์ถฉ๋Œ์„ GPU conflict table๋กœ ๊ฒ€์‚ฌํ•˜๋ฉฐ ํƒ์ƒ‰ํ•˜๊ณ  โ‘ข GPU ๋ฐฐ์น˜ shortcut์œผ๋กœ ๋‹ค๋“ฌ๋Š”๋‹ค. ์•„๋ž˜ ํ™”์‚ดํ‘œ๋Š” ๋‹ค๋ฅธ skeleton์œผ๋กœ ๋‹ค์‹œ ํ‘ธ๋Š” ๋ฐ”๊นฅ ๋ฃจํ”„๋‹ค.

ํ•ต์‹ฌ ๋ฐฉ๋ฒ•๋ก :

์ž…๋ ฅ์€ schedule skeleton \Sigma=\big(\{(\hat a_j, R_j, x_j)\}_{j=1}^{M}, \prec_\Sigma\big)์ด๋‹ค. ๊ฐ ํ–‰๋™ \hat a_j๋Š” manipulation skill์ด๊ฑฐ๋‚˜ move์ด๊ณ , R_j๋Š” ์ฐธ์—ฌ ๋กœ๋ด‡, x_j=(q_j^{\mathrm{in}}, q_j^{\mathrm{out}}, d_j, \mathcal{B}_j)๋Š” ์ง„์ž…ยท์ดํƒˆ ๊ด€์ ˆ ํ˜•์ƒ, ์ตœ์†Œ ์‹คํ–‰ ์‹œ๊ฐ„, ์‹คํ–‰ ์ค‘ ํŒ”๊ณผ ๋ฌผ์ฒด๋ฅผ ๊ฐ์‹ธ๋Š” bounding volume์ด๋‹ค. \prec_\Sigma๋Š” ๋กœ๋ด‡๋ณ„ ์ „์ˆœ์„œ์™€ ๋กœ๋ด‡ ๊ฐ„ ์„ ํ›„ ์ œ์•ฝ์ด๋‹ค. cuArms๋Š” skeleton์ด ๊ณ ์ •ํ•œ ํ–‰๋™ ์‚ฌ์ด์˜ move ๊ถค์ ๊ณผ ๋ชจ๋“  ํ–‰๋™์˜ ์‹œ๊ฐ„ ๊ตฌ๊ฐ„ [t_j, t'_j]๋ฅผ ํ•จ๊ป˜ ์ •ํ•ด ๋‹ค์Œ์„ ์ตœ์†Œํ™”ํ•œ๋‹ค.

J(\tau)=w_{mk}\,C_{mk}(\tau)+w_{soc}\,C_{soc}(\tau)+w_{sod}\,C_{sod}(\tau)

C_{mk}๋Š” makespan(๊ฐ€์žฅ ๋Šฆ๊ฒŒ ๋๋‚˜๋Š” ๋กœ๋ด‡์˜ ์™„๋ฃŒ ์‹œ๊ฐ), C_{soc}๋Š” ๋กœ๋ด‡๋ณ„ ์™„๋ฃŒ ์‹œ๊ฐ์˜ ํ•ฉ, C_{sod}๋Š” ์ด๋™ ๊ฑฐ๋ฆฌ ๋น„์šฉ์˜ ํ•ฉ์ด๋‹ค. ์ œ์•ฝ์€ t'_j-t_j\ge d_j, \hat a_j\prec_\Sigma\hat a_k \Rightarrow t'_j<t_k, ๊ทธ๋ฆฌ๊ณ  ๋งค ์‹œ๊ฐ ์›€์ง์ด๊ฑฐ๋‚˜ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋กœ๋ด‡์˜ ๊ธฐํ•˜์™€ ํ™œ์„ฑ skill์˜ \mathcal{B}_j๊ฐ€ ์žฅ์• ๋ฌผยท๋‹ค๋ฅธ ๋กœ๋ด‡๊ณผ ์ถฉ๋Œํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด๋‹ค.

ํƒ์ƒ‰์€ LaCAM(lazy DFS)์ด joint state \langle v_1,\hat a_1,\dots,v_{|R|},\hat a_{|R|}\rangle ์œ„๋ฅผ ๋Œ๊ณ , ๊ฐ ์ƒํƒœ์˜ ๋‹ค์Œ ์ƒํƒœ๋Š” PIBT๊ฐ€ ๊ณ ๋ฅธ๋‹ค. ์ฐจ์ด๋Š” PIBT๊ฐ€ ์žฌ๊ท€ ์ค‘์— ์ถฉ๋Œ ๊ฒ€์‚ฌ๋ฅผ ๋ถ€๋ฅด์ง€ ์•Š๊ณ , ๋ฏธ๋ฆฌ GPU์—์„œ ๋งŒ๋“  ํ›„๋ณด ์Œ conflict table์„ ์กฐํšŒ๋งŒ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

์ฃผ์š” ๊ฒฐ๊ณผ:

  • RoboBallet ์šฉ์ ‘(Table II): cuArms๋Š” 4ํŒ”ยท10ํƒ€๊นƒ, 4ํŒ”ยท40ํƒ€๊นƒ, 8ํŒ”ยท40ํƒ€๊นƒ์—์„œ ๋ชจ๋‘ 150/150์„ ํ’€๊ณ  ์ฒซ ํ•ด๊นŒ์ง€ ์ค‘์•™๊ฐ’ 0.20 / 0.41 / 0.87 s. ์žฌํ•™์Šตํ•œ RoboBallet RL์€ 4ํŒ”์—์„œ 29/150(19.3%), 50/150(33.3%). ๋‘˜ ๋‹ค ํ‘ผ ์—ํ”ผ์†Œ๋“œ์—์„œ cuArms์˜ makespan ์ค‘์•™๊ฐ’์ด 20.1% / 27.9% ์งง๋‹ค(๋ณธ๋ฌธ ์„œ์ˆ ).
  • Anytime ๊ฐœ์„ (Fig. 5): shortcut๊ณผ ๋Œ€์ฒด skeleton ํƒ์ƒ‰์œผ๋กœ ์ฒซ makespan 10.61โ†’5.64 s, 31.16โ†’16.56 s(์•ฝ 47% ๊ฐ์†Œ).
  • Tabletop TAMP(Table IV): HoldยทStackยทPackยทUnpack(2~4๊ฐœ ํ๋ธŒ, Panda 2๋Œ€)์—์„œ cuArms 180/180, ScheduleStream 159/180. ์ฒซ ํ•ด 0.48~2.96 s๋กœ ScheduleStream๋ณด๋‹ค 46.4% ๋น ๋ฅด๊ณ , Hold๋ฅผ ๋บ€ ์„ธ ๊ณผ์ œ์—์„œ ์ฒซ makespan๋„ ์งง๋‹ค. ์ถ”๊ฐ€ ๊ณ„์‚ฐ์œผ๋กœ makespan์„ 42~57% ์ค„์ธ๋‹ค.
  • ์‹ค๊ธฐ(Fig. 8): Flexiv Rizon4s 2๋Œ€๋กœ ์ „์ž๋ถ€ํ’ˆ handover ์žฌํŒŒ์ง€์™€ busbar fixture ์–‘ํŒ” ์šด๋ฐ˜. ์ •๋Ÿ‰ ์ง€ํ‘œ ์—†์ด ์˜์ƒ์œผ๋กœ๋งŒ ์ œ์‹œ๋œ๋‹ค.

๊ฒฐ๋ก :

cuArms์˜ ๊ธฐ์—ฌ๋Š” โ€œGPU๋กœ ๋นจ๋ผ์กŒ๋‹คโ€๋ณด๋‹ค ์–ด๋А ๊ณ„์‚ฐ์„ GPU๋กœ ๋ณด๋‚ผ์ง€๋ฅผ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ•จ๊ป˜ ๋‹ค์‹œ ์งฐ๋‹ค๋Š” ๋ฐ ์žˆ๋‹ค. roadmap์„ mode์™€ ๋ถ„๋ฆฌํ•ด ์žฌ์‚ฌ์šฉํ•˜๊ณ , PIBT์˜ ์žฌ๊ท€๋ฅผ CPU์— ๋‚จ๊ธด ์ฑ„ ๊ทธ ์žฌ๊ท€๊ฐ€ ๋ฌป๋Š” ์งˆ๋ฌธ์„ ํ‘œ ํ•œ ์žฅ์œผ๋กœ ๋ฏธ๋ฆฌ ๋‹ตํ•ด ๋‘”๋‹ค. ๊ทธ ๊ฒฐ๊ณผ 4~8ํŒ”, ์ˆ˜์‹ญ ๊ฐœ ์ž‘์—…์—์„œ 1์ดˆ ์•ˆํŒŽ์˜ ์ฒซ ํ•ด์™€ anytime ๊ฐœ์„ ์„ ์–ป์—ˆ๋‹ค. ๋‹ค๋งŒ โ€œ์‹ค์‹œ๊ฐ„โ€์€ skeleton์ด ์ฃผ์–ด์ง„ ๋’ค์˜ ์กฐ์ • ๋‹จ๊ณ„์— ๋Œ€ํ•œ ๋ง์ด๊ณ , 8๊ฐœ ๋ฌผ์ฒด TAMP์ฒ˜๋Ÿผ scheduler๊นŒ์ง€ ํฌํ•จํ•˜๋ฉด ์ฒซ ํ•ด์— 40~50 s๊ฐ€ ๊ฑธ๋ฆฐ๋‹ค(Fig. 7). ํ•ต์‹ฌ ์„ค๊ณ„ ์š”์†Œ์˜ ablation์ด ์—†๊ณ , xECBSยทVAMP-MR ๊ฐ™์€ ๊ฐ™์€ ๊ณ„์—ด planner์™€์˜ ๋น„๊ต๋Š” arXiv ๋ณธ๋ฌธ์ด ์•„๋‹ˆ๋ผ ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€์˜ ๋ถ€๋ก PDF์—๋งŒ ์žˆ๋‹ค.


๐Ÿ”” Ring Review

๐Ÿ”” Ring โ€” An idea that echoes. Grasp the core and its value.

ํ•œ ์ค„๋กœ ์‹œ์ž‘ํ•˜๋ฉด

MAPF ์ชฝ์—์„œ๋Š” ์ˆ˜์ฒœ ๋Œ€ ๋กœ๋ด‡์„ ๋ช‡ ์ดˆ์— ์กฐ์ •ํ•˜๋Š” LaCAMยทPIBT ๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ด๋ฏธ ์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๊ทธ๊ฒƒ๋“ค์€ ๊ฒฉ์ž ์œ„ ์ด๋™ ๋กœ๋ด‡์„ ์ „์ œ๋กœ ํ•œ๋‹ค. ์ •์  ํ•˜๋‚˜์— ๋กœ๋ด‡ ํ•˜๋‚˜๋ผ๋Š” ๊ฐ€์ • ๋•๋ถ„์— ์ถฉ๋Œ ๊ฒ€์‚ฌ๋Š” โ€œ๊ทธ ์นธ์ด ๋น„์—ˆ๋‚˜โ€๋ผ๋Š” ์ƒ์ˆ˜ ์‹œ๊ฐ„ ์งˆ๋ฌธ์ด๋‹ค. ๋กœ๋ด‡ ํŒ”์—์„œ๋Š” ๊ฐ™์€ ์งˆ๋ฌธ์ด โ€œ์ด ํŒ”์˜ ์ด edge๊ฐ€ ์ € ํŒ”์˜ ์ € edge์™€ swept volume์—์„œ ๊ฒน์น˜๋‚˜โ€๊ฐ€ ๋˜๊ณ , ํ•œ ํ›„๋ณด๊ฐ€ ์—ฌ๋Ÿฌ ํŒ”๊ณผ ๋™์‹œ์— ๊ฒน์น  ์ˆ˜ ์žˆ๋‹ค. PIBT์˜ ์žฌ๊ท€๊ฐ€ ์ด ์งˆ๋ฌธ์„ ์ˆ˜์—†์ด ๋‹ค์‹œ ๋ฌป๋Š” ์ˆœ๊ฐ„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋А๋ ค์ง„๋‹ค. cuArms์˜ ํ†ต์ฐฐ์€ ๊ทธ ์งˆ๋ฌธ์˜ ๋ฒ”์œ„๊ฐ€ ๋ฏธ๋ฆฌ ์ •ํ•ด์ ธ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ฐ ๋กœ๋ด‡์ด ์ด๋ฒˆ ์Šคํ…์— ๊ณ ๋ คํ•  ํ›„๋ณด ํ–‰๋™ ๋ชฉ๋ก U_i(s)๋Š” ํƒ์ƒ‰ ์ „์— ์ด๋ฏธ ์ •ํ•ด์ง€๋ฏ€๋กœ, ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์Œ์˜ ์ถฉ๋Œ์„ GPU ํ•œ ๋ฒˆ์— ๊ณ„์‚ฐํ•ด ๋‘๋ฉด ์žฌ๊ท€๋Š” ํ‘œ ์กฐํšŒ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค. ๋‚˜๋จธ์ง€ ์„ค๊ณ„(๋กœ๋ด‡๋ณ„ roadmap, mode mask, skill edge, ๋ฐฐ์น˜ shortcut)๋Š” ๋ชจ๋‘ โ€œ๊ธฐํ•˜๋Š” ํฌ๊ณ  ๊ทœ์น™์ ์ธ ๋ฐฐ์น˜๋กœ, ๊ฒฐ์ •์€ ์ž‘๊ณ  ์žฌ๊ท€์ ์ธ CPU ์ฝ”๋“œ๋กœโ€๋ผ๋Š” ๊ฐ™์€ ์›์น™์„ ๋‹ค๋ฅธ ๋‹จ๊ณ„์— ์ ์šฉํ•œ ๊ฒƒ์ด๋‹ค.

๋ฐฐ๊ฒฝ: ๋ฉ€ํ‹ฐ์•” ์กฐ์ž‘์ด ์™œ ์–ด๋ ค์šด๊ฐ€ (ยงIยทยงII)

MAPF ๊ณ„๋ณด. PIBT(Okumura et al., 2019)๋Š” ๊ฐ ๋กœ๋ด‡์ด ํ•œ ์Šคํ… ํ–‰๋™๋งŒ ์ •ํ•˜๋˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ƒ์†ํ•˜๋ฉฐ ์ถฉ๋Œ์„ ํ•ด์†Œํ•˜๋Š” ๋น ๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๋Œ€์‹  ๋ถˆ์™„์ „ํ•˜๊ณ  livelock์— ๋น ์งˆ ์ˆ˜ ์žˆ๋‹ค. LaCAM(Okumura, 2023)์€ PIBT๋ฅผ lazy successor ์ƒ์„ฑ๊ธฐ๋กœ ์‚ผ์•„ joint configuration space ์œ„์˜ ์™„์ „ํ•œ DFS์— ๋„ฃ์—ˆ๋‹ค. db-LaCAM์€ ์ด๋ฅผ kinodynamic ์ด๋™ ๋กœ๋ด‡์œผ๋กœ ๋„“ํ˜”๋‹ค. ์ €์ž๋“ค์€ LaCAM ๊ณ„์—ด์ด ์ด๋™ ๋กœ๋ด‡์—์„œ๋งŒ ๋ณด์—ฌ์กŒ๋‹ค๊ณ  ์ง€์ ํ•œ๋‹ค. ํŒ”์€ ๊ทธ๋ž˜ํ”„ ๊ตฌ์ถ•๊ณผ ๋กœ๋ด‡ ๊ฐ„ ์ถฉ๋Œ ๊ฒ€์‚ฌ๊ฐ€ ํ›จ์”ฌ ๋น„์‹ธ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋ฉ€ํ‹ฐ์•” ๊ณ„ํš ๊ณ„๋ณด. ์ƒ˜ํ”Œ๋ง ๊ธฐ๋ฐ˜(dRRT*)์ด๋‚˜ MAPF ๊ธฐ๋ฒ•(xECBS)์€ ๋‹จ์ผ query์˜ start-to-goal ๊ณ„ํš์— ๋จธ๋ฌธ๋‹ค. Hartmann et al.๊ณผ Shome & Bekris๋Š” ์ด๋ฅผ ์žฅ๊ธฐ pick-and-placeยทhandover๋กœ ๋„“ํ˜”์ง€๋งŒ ์ถฉ๋Œ ๊ฒ€์‚ฌ๊ฐ€ ์ง€๋ฐฐ์  ๋ณ‘๋ชฉ์ด๋‹ค. TAMP ์ชฝ์—์„œ๋Š” ScheduleStream(Garrett & Ramos, ์ด ๋…ผ๋ฌธ์˜ ๊ณต์ €์ž๋“ค)์ด temporal durative action ์œ„์—์„œ skeleton์„ ์ฐพ์ง€๋งŒ ์ถฉ๋Œ ์—†๋Š” motion์„ rejection sampling์œผ๋กœ ๋ฝ‘์•„, ๊ฒฝ๋กœ๊ฐ€ ์–ฝํžˆ๋ฉด ๋น„ํšจ์œจ์ ์ด๋‹ค. APEX-MRยทFabrica ๊ฐ™์€ ์‘์šฉ ์‹œ์Šคํ…œ์€ ๊ณผ์ œ ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•ด ํ™•์žฅํ•˜์ง€๋งŒ ์ƒˆ ๊ณผ์ œ๋กœ ์ผ๋ฐ˜ํ™”ํ•˜๊ธฐ ์–ด๋ ต๋‹ค.

๊ฐ€์† ๊ณ„ํš ๊ณ„๋ณด. CPU SIMD(VAMP)๋‚˜ GPU(cuRobo, JAX ๊ธฐ๋ฐ˜ ์ตœ์ ํ™”) ๊ฐ€์†์ด ์žˆ๊ณ , cuTAMP๋Š” GPU๋กœ ์—ฌ๋Ÿฌ task skeleton์„ ๋ณ‘๋ ฌ ํ‰๊ฐ€ํ•œ๋‹ค. ๋ฉ€ํ‹ฐ์•”์—์„œ๋Š” VAMP-MR์ด AVX2๋กœ ์ถฉ๋Œ ๊ฒ€์‚ฌ๋ฅผ ๋ฒกํ„ฐํ™”ํ–ˆ์ง€๋งŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ทธ๋Œ€๋กœ๋ผ ์ถฉ๋Œ ๊ฒ€์‚ฌ๊ฐ€ ์—ฌ์ „ํžˆ ๋ณ‘๋ชฉ์ด๋ผ๊ณ  ์ €์ž๋“ค์€ ์“ด๋‹ค.

์ €์ž๋“ค์ด ์ •๋ฆฌํ•œ ๋น„๊ตํ‘œ(Table I)๋ฅผ ์˜ฎ๊ธฐ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๋ฐฉ๋ฒ• ๋ณ‘๋ ฌํ™” Skill ์ง€์› Conflict-based
xECBS โœ— โœ— โœ“
Hartmann et al. โœ— โœ“ โœ—
APEX-MR โœ— โœ“ โœ—
VAMP-MR CPU SIMD โœ— โœ“
ScheduleStream GPU โœ“ โœ—
cuArms GPU โœ“ โœ“

์ด ํ‘œ๋Š” ์ €์ž๋“ค์ด ๊ณ ๋ฅธ ์„ธ ์ถ•์—์„œ cuArms๋งŒ ๋ชจ๋“  ์นธ์„ ์ฑ„์šด๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์—ฌ ์ค€๋‹ค. ๋‹ค๋งŒ ์ด ๋‹ค์„ฏ ๋ฐฉ๋ฒ• ์ค‘ arXiv ๋ณธ๋ฌธ ์‹คํ—˜์—์„œ ์‹ค์ œ๋กœ ๋น„๊ต๋˜๋Š” ๊ฒƒ์€ ScheduleStream ํ•˜๋‚˜๋‹ค(RoboBallet RL์€ ํ‘œ์— ์—†๋‹ค). ๋‚˜๋จธ์ง€ ๋„ท๊ณผ์˜ ๋น„๊ต๋Š” ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ ๋ถ€๋ก์—๋งŒ ์žˆ๋‹ค. ์ด ์ ์€ ์•„๋ž˜ ์‹คํ—˜ยท๋น„ํŒ ์ ˆ์—์„œ ๋‹ค์‹œ ๋‹ค๋ฃฌ๋‹ค.

๋ฌธ์ œ ์ •์‹ํ™” (ยงIII)

์ž‘์—… ๊ณต๊ฐ„. n๋Œ€์˜ ํŒ” R=\{r_1,\dots,r_n\}, ์ •์  ์žฅ์• ๋ฌผ, ์›€์ง์ผ ์ˆ˜ ์žˆ๋Š” ๊ฐ•์ฒด ๋ฌผ์ฒด ์ง‘ํ•ฉ \mathcal{O}. ๋กœ๋ด‡๋งˆ๋‹ค ๊ด€์ ˆ ์œ„์น˜ยท์†๋„ ํ•œ๊ณ„๋ฅผ ๊ฐ–๋Š” configuration space \mathcal{C}_i์™€ ์•Œ๋ ค์ง„ base ๋ณ€ํ™˜์ด ์žˆ๋‹ค. ๋กœ๋ด‡ยท๊ทธ๋ฆฌํผยท์†์— ๋“  ๋ฌผ์ฒด๋Š” collision sphere์˜ ํ•ฉ์ง‘ํ•ฉ์œผ๋กœ ๋ชจ๋ธ๋งํ•œ๋‹ค(cuRobo์™€ ๊ฐ™์€ ๋ฐฉ์‹).

Mode. mode m์€ ๋ชจ๋“  ๋ฌผ์ฒด์˜ discrete graspยทattachmentยทplacement ์ƒํƒœ๋‹ค. mode์™€ ๋กœ๋ด‡ ํ˜•์ƒ์ด ํ•ฉ์ณ์ ธ ์‹œ์Šคํ…œ ์ƒํƒœ๊ฐ€ ์™„์ „ํžˆ ์ •ํ•ด์ง„๋‹ค. mode๋Š” manipulation skill๋งŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.

Skill๊ณผ move. skill a_j๋Š” ํ•œ ํŒ” ๋˜๋Š” ๋‘ ํŒ”์ด ์ฐธ์—ฌํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐํ™”๋œ ์ ‘์ด‰ ์ƒํ˜ธ์ž‘์šฉ์ด๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ x_j=(q_j^{\mathrm{in}}, q_j^{\mathrm{out}}, d_j, \mathcal{B}_j)์™€ mode ์ „์ด ํ•จ์ˆ˜ m^{\mathrm{out}}=T_{a_j}(m^{\mathrm{in}})๋ฅผ ๊ฐ–๋Š”๋‹ค. move๋Š” ๊ณ ์ •๋œ mode ์•ˆ์—์„œ ํ•œ ๋กœ๋ด‡์ด ์ถฉ๋Œ ์—†์ด ์›€์ง์ด๋Š” ๊ฒƒ์ด๊ณ , ๋ชฉํ‘œ ๊ด€์ ˆ ํ˜•์ƒ์€ ์ง์ ‘ ์ฃผ๊ฑฐ๋‚˜ IK๋กœ ์ƒ˜ํ”Œ๋งํ•œ๋‹ค.

Skeleton๊ณผ ํ•ด. skeleton์€ ์œ„์˜ \Sigma์ด๊ณ , ํ•ด๋Š” move ๊ถค์  \{\xi_j\}์™€ ํ–‰๋™๋ณ„ ๊ตฌ๊ฐ„ \{[t_j,t'_j]\}๋กœ ์ด๋ค„์ง„ ์‹œ๊ฐ„ ๊ณ„ํš \tau๋‹ค. ์„ ํ›„ ๊ด€๊ณ„๊ฐ€ ์—†๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋กœ๋ด‡์˜ ํ–‰๋™์€ ๋น„๋™๊ธฐ๋กœ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค. ๋กœ๋ด‡์€ ํ–‰๋™ ์‚ฌ์ด์— ํ˜„์žฌ ํ˜•์ƒ์—์„œ ๊ธฐ๋‹ค๋ฆด ์ˆ˜ ์žˆ๊ณ , ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋™์•ˆ์—๋„ ๊ฐ™์€ ์ถฉ๋Œ ์ œ์•ฝ์„ ์ง€ํ‚จ๋‹ค.


๋„ค ๋„๋ฉ”์ธ์˜ schedule skeleton ์˜ˆ(Fig. 3). a) ๊ฐ ํŒ”์ด move์™€ ๋‹จ์ผ ํŒ” pick/place๋ฅผ ๋ฒˆ๊ฐˆ์•„ ํ•œ๋‹ค. b) ๊ฐ ํŒ”์ด move์™€ weld๋ฅผ ๋ฐ˜๋ณตํ•˜๊ณ  ๋กœ๋ด‡ ๊ฐ„ ์„ ํ›„ ์ œ์•ฝ์ด ์—†๋‹ค. c) R1์˜ Handover #A์™€ R2์˜ Receive #A๊ฐ€ ์„ ํ›„ ์ œ์•ฝ(๋นจ๊ฐ„ ํ™”์‚ดํ‘œ)์œผ๋กœ ๋ฌถ์ธ ๋‘ ๋‹จ์ผ ํŒ” skill์ด๋‹ค. d) PickยทBimanual CarryยทPlace๊ฐ€ ๋ชจ๋‘ ์–‘ํŒ” skill์ด๋ผ ๋‘ ํŒ”์ด ์ง„์ž… ํ˜•์ƒ์— ๋ชจ๋‘ ๋„์ฐฉํ•ด์•ผ ์‹œ์ž‘๋œ๋‹ค.

๋น„์šฉ. ์•ž์˜ J(\tau)๋‹ค. ๊ฑฐ๋ฆฌ ๋น„์šฉ C_{sod}๋Š” ๊ด€์ ˆ ๊ณต๊ฐ„ ๊ฒฝ๋กœ ๊ธธ์ด, task space ๊ฒฝ๋กœ ๊ธธ์ด, collision sphere์˜ ๋ถ€ํ”ผ ๊ฐ€์ค‘ ์ด๋™ ๊ฑฐ๋ฆฌ, ๋˜๋Š” ๊ทธ ์กฐํ•ฉ ์ค‘ ํ•˜๋‚˜๋กœ ์žด ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ ํ˜€ ์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋ณธ๋ฌธ ์‹คํ—˜์—์„œ ์–ด๋–ค ๊ฑฐ๋ฆฌ ์ •์˜์™€ ์–ด๋–ค ๊ฐ€์ค‘์น˜ (w_{mk},w_{soc},w_{sod})๋ฅผ ์ผ๋Š”์ง€๋Š” ๋‚˜์˜ค์ง€ ์•Š๋Š”๋‹ค. ๋ถ€๋ก D์˜ Python API ์˜ˆ์‹œ์—๋Š” Cost(makespan=1.0, completion=1.0, distance=0.1, metric="joint")๋ผ๋Š” ๊ธฐ๋ณธ๊ฐ’์ด ๋ณด์ด์ง€๋งŒ, ๋ณธ๋ฌธ ์‹คํ—˜์ด ์ด ๊ฐ’์„ ์ผ๋Š”์ง€๋Š” ํ™•์ธ๋˜์ง€ ์•Š๋Š”๋‹ค.

์ด ์ •์‹ํ™”์—์„œ ๋ˆˆ์—ฌ๊ฒจ๋ณผ ์ ์€ skeleton์ด ํ• ๋‹นยท์ˆœ์„œยทskill ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ชจ๋‘ ๊ณ ์ •ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. cuArms ์ž์ฒด๋Š” โ€œ๋ˆ„๊ฐ€ ๋ฌด์—‡์„โ€์„ ์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ ๋ชซ์€ ยงV์˜ ์ƒ์œ„ scheduler์— ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ cuArms์˜ ์„ฑ๋Šฅ์„ ์ฝ์„ ๋•Œ๋Š” ํ•ญ์ƒ ์–ด๋–ค scheduler๊ฐ€ skeleton์„ ์คฌ๋Š”์ง€๋ฅผ ๊ฐ™์ด ๋ด์•ผ ํ•œ๋‹ค.

๋ฐฉ๋ฒ• ์ƒ์„ธ 1: Multi-modal roadmap (ยงIV-A)

๋กœ๋ด‡๋ณ„ PRM. ๋กœ๋ด‡๋งˆ๋‹ค ์ •์  ํ™˜๊ฒฝ๊ณผ ์ถฉ๋Œํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œยทedge๋กœ probabilistic roadmap \mathcal{G}_i๋ฅผ GPU ๋ฉ”๋ชจ๋ฆฌ์— ๋งŒ๋“ ๋‹ค. ์ƒ˜ํ”Œ๋ง์ด ๋ณ‘๋ ฌํ™”๋˜๊ธฐ ์‰ฝ๊ณ , ๊ธฐํ•˜๋ฅผ ์บ์‹œํ•ด skeleton์ด ๋ฐ”๋€Œ์–ด๋„ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด GPU ๋ฐฐ์น˜์— ์ž˜ ๋งž๋Š”๋‹ค.

Mode-validity mask. ๋ฌผ์ฒด๊ฐ€ ์›€์ง์ด๋ฉด roadmap์˜ ์ผ๋ถ€ ๋…ธ๋“œยทedge๊ฐ€ ๋ง‰ํžŒ๋‹ค. cuArms๋Š” roadmap์„ ๋‹ค์‹œ ๋งŒ๋“ค์ง€ ์•Š๊ณ , skeleton์ด ๋งŒ๋“ค์–ด ๋‚ผ ์ˆ˜ ์žˆ๋Š” mode m๋งˆ๋‹ค ์œ ํšจํ•œ ๋…ธ๋“œยทedge๋ฅผ ํ‘œ์‹œํ•˜๋Š” mask v_i^m๋ฅผ ๋งŒ๋“ ๋‹ค. GPU๋Š” ์บ์‹œ๋œ ๋กœ๋ด‡ ํ˜•์ƒ์„ mode๋ณ„ ๋ฌผ์ฒด ๋ฐฐ์น˜์™€, ์†์— ๋“  ๋ฌผ์ฒด๋ฅผ ํ™˜๊ฒฝยท๋‹ค๋ฅธ ๋ฌผ์ฒด์™€ ๋ฐฐ์น˜๋กœ ๊ฒ€์‚ฌํ•œ๋‹ค. ์ •๊ธฐ๊ตฌํ•™๊ณผ ๋กœ๋ด‡-ํ™˜๊ฒฝ ์ถฉ๋Œ ๊ฒฐ๊ณผ๋Š” mode ๊ฐ„์— ์žฌ์‚ฌ์šฉ๋˜๊ณ , ๋ฐ”๋€Œ๋Š” ๋กœ๋ด‡-๋ฌผ์ฒด ์ƒํ˜ธ์ž‘์šฉ๋งŒ ์ƒˆ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค. ์ €์ž๋“ค์˜ ๊ทผ๊ฑฐ๋Š” โ€œ๋ฌผ์ฒด๋Š” ๊ท ์ผ ์ƒ˜ํ”Œ roadmap์˜ ์œ ํšจ์„ฑ์— ๋“œ๋ฌธ๋“œ๋ฌธ ์˜ํ–ฅ์„ ์ค€๋‹คโ€๋Š” ๊ด€์ฐฐ์ด๋‹ค.

Skill nodeยทedge. skill ํŒŒ๋ผ๋ฏธํ„ฐ x_j๋งˆ๋‹ค q_j^{\mathrm{in}}๊ณผ q_j^{\mathrm{out}}์„ ๋…ธ๋“œ๋กœ ๋„ฃ๊ณ , ๋‘˜์„ skill ์‹คํ–‰๊ณผ mode ์ „์ด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” edge๋กœ ์ž‡๋Š”๋‹ค. ์ด ๋…ธ๋“œ๋“ค์€ skeleton์—์„œ ์ด์›ƒํ•œ move์˜ ์‹œ์ž‘ยท๋ชฉํ‘œ ๋…ธ๋“œ๊ฐ€ ๋œ๋‹ค. skill edge์˜ ์ถฉ๋Œ ๊ฒ€์‚ฌ๋Š” \mathcal{B}_j๋กœ ํ•œ๋‹ค. ์‹คํ–‰ ์‹œ๊ฐ„์€ ์ตœ๋Œ€ edge ๊ฐ„๊ฒฉ์˜ ์ •์ˆ˜๋ฐฐ๋กœ ์˜ฌ๋ฆผํ•ด roadmap motion๊ณผ ๋™๊ธฐํ™”ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ skill ์‹คํ–‰๊ณผ ์—ฐ๊ฒฐ motion์˜ ๊ณ„ํš์ด ๋ชจ๋‘ โ€œ\mathcal{G}_i ์œ„์˜ ์œ ํšจํ•œ edge ์ „์ด ์ฐพ๊ธฐโ€๋กœ ํ†ต์ผ๋œ๋‹ค.

Heuristic. ๋…ธ๋“œ์™€ ํ˜„์žฌ ํ–‰๋™๋งˆ๋‹ค cost-to-go h_i[v,\hat a]๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค. ๋‹จ์œ„ ๋น„์šฉ์œผ๋กœ, ๊ฐ ํ–‰๋™์˜ ๋ชฉํ‘œ ์ง‘ํ•ฉ์—์„œ mode mask ์—†์ด base roadmap ์œ„๋ฅผ ๊ฑฐ๊พธ๋กœ Dijkstra๋กœ ๋Œ๋ฆฌ๊ณ , ๋ชฉํ‘œ ๋„๋‹ฌ ํ›„ ๋‚จ์€ motionยทskill ๋น„์šฉ ์ถ”์ •์„ ๋”ํ•œ๋‹ค. skeleton์˜ ์„ ํ›„ ์ œ์•ฝ ๋•Œ๋ฌธ์— ๋‹ค์Œ ํ–‰๋™์ด ๋ง‰ํžŒ ๋กœ๋ด‡์„ ์ถฉ๋Œ ์—†๋Š” home ํ˜•์ƒ์œผ๋กœ ๋น„์ผœ ์„ธ์šฐ๊ธฐ ์œ„ํ•œ cost-to-home heuristic๋„ ๋”ฐ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.

mask ์—†์ด heuristic์„ ๊ณ„์‚ฐํ•˜๋Š” ์„ ํƒ์€ ์†๋„๋ฅผ ์œ„ํ•œ ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค. ๊ทธ ๋Œ€๊ฐ€๋กœ ๋ฌผ์ฒด๊ฐ€ ๊ธธ์„ ๋ง‰๋Š” mode์—์„œ๋Š” heuristic์ด ์‹ค์ œ๋ณด๋‹ค ๋‚™๊ด€์ ์ด ๋œ๋‹ค. ๋…ผ๋ฌธ์€ ์ด ํšจ๊ณผ๋ฅผ ๋”ฐ๋กœ ๋ถ„์„ํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋ฐฉ๋ฒ• ์ƒ์„ธ 2: GPU ๊ฐ€์† conflict-driven ํƒ์ƒ‰ (ยงIV-B)

์›๋ž˜ LaCAMยทPIBT. LaCAM์€ lazy DFS๋‹ค. ๊ฐ ํƒ์ƒ‰ ๋…ธ๋“œ์—์„œ ๋‹ค์Œ joint state ํ•˜๋‚˜๋ฅผ PIBT๋กœ ๋งŒ๋“ค๊ณ , ๊ทธ ๋…ธ๋“œ์— โ€œ์–ด๋–ค ๋กœ๋ด‡์ด ์–ด๋–ค ํ–‰๋™์„ ํ•ด์•ผ ํ•œ๋‹คโ€๋Š” ์ œ์•ฝ queue๋ฅผ ๋ถ™์—ฌ ๋‹ค์Œ์— ๊ฐ™์€ ๋…ธ๋“œ๋ฅผ ๋‹ค์‹œ ๋ฐฉ๋ฌธํ•˜๋ฉด ๋‹ค๋ฅธ successor๋ฅผ ๋งŒ๋“ ๋‹ค. PIBT๋Š” ๋™์  ์šฐ์„ ์ˆœ์œ„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ๋กœ๋ด‡์ด ํ–‰๋™์„ ๊ณ ๋ฅด๊ฒŒ ํ•˜๊ณ , ์›ํ•˜๋Š” ์ •์ ์— ์•„์ง ํ–‰๋™์ด ์ •ํ•ด์ง€์ง€ ์•Š์€ ๋กœ๋ด‡์ด ์žˆ์œผ๋ฉด ๊ทธ ๋กœ๋ด‡์— ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ƒ์†ํ•ด ์žฌ๊ท€์ ์œผ๋กœ ๋น„ํ‚ค๋ผ๊ณ  ์š”์ฒญํ•œ๋‹ค. ๋น„ํ‚ฌ ์ˆ˜ ์—†์œผ๋ฉด backtrackํ•œ๋‹ค.


2D ๋ฌผ์ฒด ๊ตํ™˜ toy ์˜ˆ(Fig. 4). R1์€ A๋ฅผ, R2๋Š” B๋ฅผ ์„œ๋กœ์˜ ์ž๋ฆฌ๋กœ ์˜ฎ๊ฒจ์•ผ ํ•œ๋‹ค. (a) ์ฒ˜์Œ์—” ๋‘ ํŒ”์ด ์„œ๋กœ๋ฅผ ๋ง‰๋Š”๋‹ค. (b) ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ R2๊ฐ€ B๋ฅผ ์ง‘๋„๋ก R1์„ ๋ฐ€์–ด๋‚ธ๋‹ค. (c) ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋’ค์ง‘ํ˜€ B๋ฅผ ๋“  R2๊ฐ€ ๋ฌผ๋Ÿฌ๋‚˜๊ณ  R1์ด A๋ฅผ ์ง‘๋Š”๋‹ค. (d) ๋‘ ๋ฌผ์ฒด๊ฐ€ ๋ชฉํ‘œ์— ๋†“์ธ๋‹ค.

์ด ์˜ˆ์—์„œ ์ €์ž๋“ค์€ ๋‘ ๋Œ€์•ˆ์ด ์™œ ์•ˆ ๋˜๋Š”์ง€ ๋งํ•œ๋‹ค. ํŒ”๋งˆ๋‹ค ๋…๋ฆฝ์œผ๋กœ motion์„ ๊ณ„ํšํ•˜๊ณ  ๋‚˜์ค‘์— retimingํ•˜๋ฉด ์ด deadlock์€ ํ’€๋ฆฌ์ง€ ์•Š๋Š”๋‹ค. ์ˆœ์ฐจ ๊ณ„ํš์€ ๋กœ๋ด‡ ๊ฐ„ ํ–‰๋™ ์ˆœ์„œ๋ฅผ skeleton์— ๋ช…์‹œ์ ์œผ๋กœ ๋ฐ•์•„์•ผ ํ•œ๋‹ค. PIBT๋Š” ์ด ์–‘๋ณด ์ˆœ์„œ๋ฅผ ํƒ์ƒ‰ ์ค‘์— ์Šค์Šค๋กœ ๋งŒ๋“ ๋‹ค.

cuArms์˜ ํ™•์žฅ. ์›๋ž˜ LaCAM์€ ์žฅ๊ธฐ manipulation์˜ ๊ณผ์ œ ์ง„ํ–‰๋„๋ฅผ ์ถ”์ ํ•˜์ง€ ์•Š๋Š”๋‹ค. cuArms๋Š” roadmap ๋…ธ๋“œ v_i์— ํ˜„์žฌ symbolic ํ–‰๋™ \hat a๋ฅผ ๋ถ™์ด๊ณ , ํƒ์ƒ‰ ๋…ธ๋“œ s๊ฐ€ \langle v_1,\hat a_1,\dots,v_{|R|},\hat a_{|R|}\rangle๋ฅผ ์ €์žฅํ•˜๊ฒŒ ํ•œ๋‹ค. joint state๊ฐ€ ํ˜„์žฌ mode์™€ ๊ฐ ๋กœ๋ด‡์˜ ๋‹ค์Œ ํ–‰๋™ ํ—ˆ์šฉ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. ๊ฐ ์ƒํƒœ์—์„œ ๋กœ๋ด‡๋งˆ๋‹ค ๊ณ ์ •๋œ ํ›„๋ณด ๋ชฉ๋ก U_i(s)(motion, wait, skill)๋ฅผ ํŽผ์น˜๊ณ  ๋‹ค์Œ ํ‚ค๋กœ ์ •๋ ฌํ•œ๋‹ค.

\mathrm{key}(u)=\begin{cases}(0,\ h_i[s'_i]) & u\ \text{๊ฐ€ skill}\\ (1,\ h_i[s'_i]) & u\ \text{๊ฐ€ motion ๋˜๋Š” wait}\end{cases}

์ฆ‰ skill์ด ๊ฐ€๋Šฅํ•˜๋ฉด ํ•ญ์ƒ ๋จผ์ € ์‹œ๋„ํ•˜๊ณ , ๊ทธ๋‹ค์Œ cost-to-go๊ฐ€ ๋‚ฎ์€ ํ–‰๋™ ์ˆœ์ด๋‹ค. skill์€ ์ฐธ์—ฌ ๋กœ๋ด‡์ด ๋ชจ๋‘ ์ง„์ž… ๋…ธ๋“œ์— ์žˆ๊ณ  ๋ง‰๋Š” ์„ ํ›„ ์ œ์•ฝ์ด ์—†์„ ๋•Œ๋งŒ ์—ด๋ฆฐ๋‹ค. skill์„ ๋๋‚ด๋ฉด ๋กœ๋ด‡์ด ์ดํƒˆ ๋…ธ๋“œ๋กœ ๊ฐ€๊ณ  ํ–‰๋™ ๋‹จ๊ณ„๊ฐ€ ๋„˜์–ด๊ฐ€๋ฉฐ mode ์ „์ด๊ฐ€ ์ ์šฉ๋œ๋‹ค. ์–‘ํŒ” skill์€ PIBT์™€ LaCAM ์–‘์ชฝ์—์„œ ์ฐธ์—ฌ ๋กœ๋ด‡์˜ ํ–‰๋™์„ ํ•จ๊ป˜ commitํ•˜๊ณ  ํ•จ๊ป˜ ์ œ์•ฝํ•œ๋‹ค.

ํ•ต์‹ฌ: conflict table์„ ๋จผ์ € ๋งŒ๋“ ๋‹ค. Alg. 1์˜ 15ํ–‰์ด ์ด ๋…ผ๋ฌธ์˜ ์ค‘์‹ฌ์ด๋‹ค.

C_s=\mathrm{GPUConflictTable}\big(\{U_i(s)\}_{i\in R},\{\mathcal{G}_i\}\big)

๋ชจ๋“  ๋กœ๋ด‡ ์Œ์˜ ๋ชจ๋“  ํ›„๋ณด ์Œ์— ๋Œ€ํ•ด, motion์€ ์‹œ๊ฐ„ ์ •๋ ฌํ•œ ๋กœ๋ด‡ ๊ถค์ ์œผ๋กœ, skill์€ ๊ฐ์‹ธ๋Š” ๋ถ€ํ”ผ \mathcal{B}_j๋กœ ์ถฉ๋Œ์„ ๋ฐฐ์น˜ ๊ฒ€์‚ฌํ•ด Boolean ํ‘œ๋ฅผ ๋งŒ๋“ ๋‹ค. ๊ทธ๋‹ค์Œ PIBT๋Š” ์šฐ์„ ์ˆœ์œ„ ์ƒ์†๊ณผ backtrack ๋™์•ˆ ์ด ํ‘œ๋งŒ ์กฐํšŒํ•œ๋‹ค(17ํ–‰). ์žฌ๊ท€์  ์ถฉ๋Œ ๊ฒ€์‚ฌ๋ฅผ GPU์—์„œ ๊ทธ๋Œ€๋กœ ๋Œ๋ฆฌ๋ฉด kernel launch์™€ ๋™๊ธฐํ™”๊ฐ€ ๋ฐ˜๋ณต๋ผ ๋ณ‘๋ ฌ์„ฑ์ด ์ฃฝ๋Š”๋ฐ, ์ด ์„ค๊ณ„๋Š” ์žฌ๊ท€ ์ œ์–ด ํ๋ฆ„(CPU)๊ณผ ๋ฐฐ์น˜ ๊ณ„์‚ฐ(GPU)์„ ๋ถ„๋ฆฌํ•ด ๊ทธ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์—†์•ค๋‹ค๊ณ  ์ €์ž๋“ค์€ ์„ค๋ช…ํ•œ๋‹ค. ์„ ํ›„ ์ œ์•ฝ ๋•Œ๋ฌธ์— ๋ง‰ํžŒ move๊ฐ€ ์žˆ์œผ๋ฉด cost-to-home heuristic์œผ๋กœ ๋น„ํ‚ค๋Š” motion์„ ํ›„๋ณด ์ˆœ์œ„์—์„œ ์šฐ์„ ํ•œ๋‹ค.

ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ โ€œHow cuArms Worksโ€(4.3 MB, ์› URL ์ฐธ์กฐ). 2D ์˜ˆ์ œ์—์„œ ๋กœ๋ด‡๋ณ„ roadmap, GPU conflict check๋ฅผ ๊ณ๋“ค์ธ conflict-driven ํƒ์ƒ‰, ๋ฐฐ์น˜ shortcut์ด ์ฐจ๋ก€๋กœ ๋‚˜์˜จ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ๋ฆ„(Alg. 1 ์š”์•ฝ). 1~3ํ–‰: ๋กœ๋ด‡๋งˆ๋‹ค roadmap๊ณผ heuristic(GPU). 4~5ํ–‰: ์ดˆ๊ธฐ ํƒ์ƒ‰ ๋…ธ๋“œ๋ฅผ DFS ์Šคํƒ์— ๋„ฃ๋Š”๋‹ค. 6~19ํ–‰: ์Šคํƒ ๋งจ ์œ„ ๋…ธ๋“œ์—์„œ ๋ชจ๋“  ํ–‰๋™์ด ๋๋‚ฌ์œผ๋ฉด backtrackํ•ด ํ•ด๋ฅผ ์–ป๊ณ , ์ œ์•ฝ queue๊ฐ€ ๋น„์—ˆ์œผ๋ฉด popํ•œ๋‹ค. ์•„๋‹ˆ๋ฉด ๋กœ๋ด‡๋ณ„ ํ›„๋ณด๋ฅผ ํŽผ์ณ ์ •๋ ฌํ•˜๊ณ (13~14ํ–‰), GPU conflict table์„ ๋งŒ๋“ค๊ณ (15ํ–‰), ์ œ์•ฝ ํ•˜๋‚˜๋ฅผ ๊บผ๋‚ด ํ™•์žฅ ์ œ์•ฝ์„ queue์— ๋„ฃ๊ณ (16ํ–‰), PIBT๋กœ successor๋ฅผ ๋งŒ๋“ค์–ด ์ƒˆ ๋…ธ๋“œ๋ฉด pushํ•œ๋‹ค(17~19ํ–‰). 22ํ–‰: ํ•ด๊ฐ€ ์žˆ์œผ๋ฉด ๋ฐฐ์น˜ refinement๋กœ ๋„˜๊ธด๋‹ค.

๋ณด์žฅ์— ๋Œ€ํ•ด. ๋…ผ๋ฌธ์€ cuArms์˜ ์™„์ „์„ฑ์ด๋‚˜ ์ตœ์ ์„ฑ์„ ์ •๋ฆฌ๋กœ ์ฃผ์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ด€๋ จ ์„œ์ˆ ์€ ๋‘ ๊ฐ€์ง€๋‹ค. LaCAM์ด โ€œcomplete depth-first searchโ€๋ผ๋Š” ๋ฐฐ๊ฒฝ ์„ค๋ช…, ๊ทธ๋ฆฌ๊ณ  RoboBallet์ด โ€œneither completeness nor formal safety guaranteesโ€๋ฅผ ์ œ๊ณตํ•œ๋‹ค๋Š” ๋Œ€๋น„๋‹ค. ๋Œ€๋น„ ๋ฌธ์žฅ์€ cuArms๊ฐ€ ๊ทธ๋Ÿฐ ๋ณด์žฅ์„ ๊ฐ–๋Š”๋‹ค๋Š” ์ธ์ƒ์„ ์ฃผ์ง€๋งŒ, cuArms์˜ ํƒ์ƒ‰์€ ์œ ํ•œํ•œ roadmap ์œ„์—์„œ ๋Œ๊ธฐ ๋•Œ๋ฌธ์— ์™„์ „์„ฑ์ด ์žˆ๋‹ค๋ฉด ๊ทธ roadmap์— ์ƒ๋Œ€์ ์ด๋‹ค(ํ•„์ž ํ•ด์„). ์•ˆ์ „์„ฑ๋„ collision sphere ๋ชจ๋ธ๊ณผ discreteํ•œ ๊ฐ„๊ฒฉ์˜ edge ๊ฒ€์‚ฌ์— ์ƒ๋Œ€์ ์ด๋‹ค. ๋ถ€๋ก D์˜ validator๋Š” 0.02 rad ๊ฐ„๊ฒฉ ๊ฒ€์‚ฌ์™€ 6 mm ์นจํˆฌ ํ—ˆ์šฉ์น˜๋ฅผ ์“ด๋‹ค.

๋ฐฉ๋ฒ• ์ƒ์„ธ 3: Anytime refinement (ยงIV-C)

์ฒซ ํ•ด๋Š” ๊ฑฐ์นœ roadmap๊ณผ LaCAM ๊ณ„์—ด์˜ ์ตœ์ ์„ฑ ๋ถ€์žฌ ๋•Œ๋ฌธ์— ์ฐจ์„ ์ด๋‹ค. ๋ฉ€ํ‹ฐ์•” shortcut ์ž์ฒด๋Š” ์ €์ž Huang et al.์˜ ์„ ํ–‰ ์—ฐ๊ตฌ๊ฐ€ ์žˆ์ง€๋งŒ, ํŒ”์ด motion๊ณผ skill์„ ๋น„๋™๊ธฐ๋กœ ์„ž์–ด ์‹คํ–‰ํ•˜๋Š” ์žฅ๊ธฐ ๊ณ„ํš์—์„œ๋Š” ํ•œ ํŒ”์˜ ๊ฒฝ๋กœ๋ฅผ ์ค„์ด๋‹ค๊ฐ€ ๋‹ค๋ฅธ ํŒ”์˜ motion์ด๋‚˜ skill๊ณผ ์ถฉ๋Œ์„ ๋งŒ๋“ค๋ฉด ์•ˆ ๋œ๋‹ค๋Š” ์ ์ด ๊นŒ๋‹ค๋กญ๋‹ค.

์ ˆ์ฐจ๋Š” ๋‘ ๋‹จ๊ณ„ ๋ฐฐ์น˜๋‹ค. โ‘  ๊ฐ move ๊ถค์ ๋งˆ๋‹ค ๊ด€์ ˆ ๊ณต๊ฐ„ ์ง์„  ๋ณด๊ฐ„ shortcut ํ›„๋ณด๋ฅผ ์œ ํ•œ ๊ฐœ ์—ด๊ฑฐํ•˜๊ณ , ์ •์  ํ™˜๊ฒฝ๊ณผ ํ˜„์žฌ mode์˜ ๋ฌผ์ฒด์— ๋Œ€ํ•ด ๋ฐฐ์น˜ ๊ฒ€์‚ฌํ•œ๋‹ค. โ‘ก ์œ ํšจํ•œ ๋‹จ์ผ ํŒ” shortcut๋“ค์—์„œ ๋ฉ€ํ‹ฐ์•” shortcut์„ ํฐ ๋ฐฐ์น˜๋กœ ๋ฌด์ž‘์œ„ ์ƒ˜ํ”Œ๋งํ•œ๋‹ค. ๋ฉ€ํ‹ฐ์•” shortcut์€ ๋‹ค๋ฅธ ํŒ” ๊ถค์ ์„ ๊ทธ๋Œ€๋กœ ๋‘๋Š” ๋‹จ์ผ ํŒ”(prioritized) shortcut์ด๊ฑฐ๋‚˜, ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋™์‹œ ๋‹จ์ผ ํŒ” shortcut์„ ๋ฌถ์€ composite shortcut์ด๋‹ค. ์ด๋“ค์˜ ๋กœ๋ด‡ ๊ฐ„ ์ถฉ๋Œ์„ ๋ณ‘๋ ฌ ๊ฒ€์‚ฌํ•œ ๋’ค, ๊ฒน์น˜์ง€ ์•Š๋Š” shortcut์„ ๋น„์šฉ ๊ฐœ์„  ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ํƒ์š•์ ์œผ๋กœ ํ•ฉ์ณ ์› ๊ถค์ ์„ ๊ต์ฒดํ•œ๋‹ค.

๋ฐฉ๋ฒ• ์ƒ์„ธ 4: Schedule-then-coordinate TAMP (ยงV)

cuArms ์œ„์— ์ƒ์œ„ scheduler๋ฅผ ์–น์€ ๊ณ„์ธต์ด๋‹ค. scheduler๋Š” ํ• ๋‹นยท์Šค์ผ€์ค„ยทmode(๋ฐฐ์น˜ยทgrasp) ํ‰๊ฐ€์— ๊ฐ•ํ•˜์ง€๋งŒ ์ด˜์ด˜ํ•œ ํ˜‘์‘ motion์—๋Š” ์•ฝํ•˜๋‹ค. ๋ฐ˜๋Œ€๋กœ ๊ณ ์ • skeleton ์•„๋ž˜ motion๋งŒ ์ตœ์ ํ™”ํ•˜๋ฉด ๋ถˆํ•„์š”ํ•œ ์–‘๋ณด์™€ ๋Œ€๊ธฐ๋ฅผ ๊ฐ•์š”ํ•˜๋Š” ๋‚˜์œ ํ• ๋‹น์ด๋‚˜ skill ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ณ ์น  ์ˆ˜ ์—†๋‹ค. ๊ทธ๋ž˜์„œ scheduler๊ฐ€ ํ›„๋ณด skeleton์„ ๋‚ด๊ณ  cuArms๊ฐ€ ๊ทธ๊ฒƒ์„ ํ˜‘์‘ ๊ถค์ ์œผ๋กœ groundingํ•œ๋‹ค. scheduler๋Š” ScheduleStream ๊ฐ™์€ ์ผ๋ฐ˜ temporal planner, ๋„๋ฉ”์ธ ์ „์šฉ ์ตœ์ ํ™”, ๊ณ ์ • ์ˆœ์„œ ์กฐ๋ฆฝ ๊ณ„ํš ์ค‘ ๋ฌด์—‡์ด๋“  ๋  ์ˆ˜ ์žˆ๋‹ค. ๋ชจ๋“  ํ›„๋ณด์—์„œ ์‹คํŒจํ•˜๋ฉด scheduler๋กœ backtrackํ•ด skeleton์„ ๋” ๋ฐ›๋Š”๋‹ค. ์‹ค์ œ๋กœ๋Š” ํ›„๋ณด ๋ฐฐ์น˜๋ฅผ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด backtrack์„ ์ค„์ธ๋‹ค. mode๊ฐ€ ๊ณต์œ ๋˜๋ฉด GPU ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐ™์€ roadmap์„ ์žฌ์‚ฌ์šฉํ•˜๊ณ , ์ƒˆ mode๊ฐ€ ์ƒ๊ธฐ๋ฉด base roadmap์€ ๋‘๊ณ  mask๋งŒ ๊ฐฑ์‹ ํ•œ๋‹ค.

์ง๊ด€: ์งˆ๋ฌธ ๋ชฉ๋ก์ด ์ •ํ•ด์ ธ ์žˆ์œผ๋ฉด ๋‹ต์„ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•ด ๋‘˜ ์ˆ˜ ์žˆ๋‹ค

PIBT๋ฅผ ์‚ฌ๋ฌด์‹ค ๋ณต๋„์— ๋น„์œ ํ•˜๋ฉด, ๋กœ๋ด‡์€ ์‚ฌ๋žŒ์ด๊ณ  ์ •์ ์€ ๋ณต๋„ ์นธ์ด๋‹ค. ๋‚ด๊ฐ€ ๊ฐ€๋ ค๋Š” ์นธ์— ๋ˆ„๊ฐ€ ์„œ ์žˆ์œผ๋ฉด ๊ทธ ์‚ฌ๋žŒ์—๊ฒŒ โ€œ๋น„์ผœ ์ค„ ์ˆ˜ ์žˆ๋‚˜์š”โ€๋ผ๊ณ  ๋ฌป๊ณ , ๊ทธ ์‚ฌ๋žŒ์€ ๋‹ค์‹œ ์ž๊ธฐ ์•ž์‚ฌ๋žŒ์—๊ฒŒ ๋ฌป๋Š”๋‹ค. ์ด๋™ ๋กœ๋ด‡ MAPF์—์„œ๋Š” โ€œ๋ˆ„๊ฐ€ ์„œ ์žˆ๋‚˜โ€๋ฅผ ๋ณด๋Š” ๋ฐ ๋น„์šฉ์ด ๊ฑฐ์˜ ์—†๋‹ค. ํŒ”์—์„œ๋Š” ์ด ํ™•์ธ์ด โ€œ๋‘ ํŒ”์˜ 7์ž์œ ๋„ swept volume์ด ๊ฒน์น˜๋‚˜โ€๋ผ๋Š” ๊ณ„์‚ฐ์ด ๋˜๊ณ , ํ•œ ์‚ฌ๋žŒ์ด ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๊ณผ ๋™์‹œ์— ๊ฒน์น  ์ˆ˜ ์žˆ๋‹ค.

cuArms๋Š” ์งˆ๋ฌธ์„ ๋ฐ›๊ธฐ ์ „์— ๋‹ต์„ ์ค€๋น„ํ•œ๋‹ค. ๊ฐ ๋กœ๋ด‡์ด ์ด๋ฒˆ ์Šคํ…์— ๊ณ ๋ คํ•  ํ›„๋ณด๋Š” U_i(s)๋กœ ๊ณ ์ •๋ผ ์žˆ์œผ๋‹ˆ, \sum_{i<k}|U_i(s)|\cdot|U_k(s)|๊ฐœ์˜ ์Œ์„ GPU๊ฐ€ ํ•œ ๋ฒˆ์— ๊ฒ€์‚ฌํ•˜๊ณ  ํ‘œ๋กœ ๋„˜๊ธด๋‹ค. ์ด ๊ณ„์‚ฐ์€ PIBT๊ฐ€ ์‹ค์ œ๋กœ ๋ฌป๋Š” ๊ฒƒ๋ณด๋‹ค ๋งŽ์€ ์Œ์„ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ GPU์—์„œ๋Š” โ€œ์ ๊ฒŒ ์—ฌ๋Ÿฌ ๋ฒˆโ€๋ณด๋‹ค โ€œ๋งŽ์ด ํ•œ ๋ฒˆโ€์ด ์‹ธ๋‹ค. Table III๊ฐ€ ์ด ๊ฑฐ๋ž˜๋ฅผ ์ˆ˜์น˜๋กœ ๋ณด์—ฌ ์ค€๋‹ค. 4ํŒ”์—์„œ๋Š” LaCAM ํƒ์ƒ‰๊ณผ PIBT๋ฅผ ํ•ฉ์ณ 7~13 ms์— ๋ถˆ๊ณผํ•˜๊ณ , conflict table ๊ตฌ์ถ•์ด 22~66 ms๋‹ค.

๊ฐ™์€ ์›์น™์ด roadmap์—๋„ ์ ์šฉ๋œ๋‹ค. ๋ฌผ์ฒด๊ฐ€ roadmap์— ๋“œ๋ฌธ๋“œ๋ฌธ ์˜ํ–ฅ์„ ์ค€๋‹ค๋Š” ๊ด€์ฐฐ ๋•๋ถ„์—, mode๋งˆ๋‹ค roadmap์„ ์ƒˆ๋กœ ๋งŒ๋“œ๋Š” ๋Œ€์‹  โ€œ์ด mode์—์„œ๋Š” ์ด ๋…ธ๋“œ๊ฐ€ ๋ง‰ํ˜”๋‹คโ€๋Š” bit mask๋งŒ ๊ณ„์‚ฐํ•˜๋ฉด ๋œ๋‹ค. ์ •๊ธฐ๊ตฌํ•™๊ณผ ๋กœ๋ด‡-ํ™˜๊ฒฝ ์ถฉ๋Œ์€ ํ•œ ๋ฒˆ๋งŒ ๊ณ„์‚ฐํ•œ๋‹ค.

์ด ์›์น™์˜ ํ•œ๊ณ„๋„ ๊ฐ™์€ ๊ทธ๋ฆผ์—์„œ ๋ณด์ธ๋‹ค. ํ‘œ์˜ ํฌ๊ธฐ๋Š” ๋กœ๋ด‡ ์Œ ์ˆ˜์— ๋น„๋ก€ํ•ด ์ž๋ž€๋‹ค. 4ํŒ”โ†’8ํŒ”์—์„œ ์Œ์€ 6โ†’28(4.67๋ฐฐ)์ด๊ณ , 40ํƒ€๊นƒ conflict table ์‹œ๊ฐ„์€ 65.94โ†’277.46 ms(4.21๋ฐฐ)๋กœ ๊ฑฐ์˜ ๊ฐ™์€ ๋น„์œจ๋กœ ๋Š˜์—ˆ๋‹ค(ํ•„์ž ๊ณ„์‚ฐ). 8ํŒ”์—์„œ๋Š” ์ถฉ๋Œ ๊ฒ€์‚ฌ๊ฐ€ ์ฒซ ํ•ด ์‹œ๊ฐ„์˜ 50.2%๋กœ ๋‹ค์‹œ ์ ˆ๋ฐ˜์„ ์ฐจ์ง€ํ•œ๋‹ค. GPU๊ฐ€ ๋ณ‘๋ชฉ์„ ์—†์•ค ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํŒ” ์ˆ˜์˜ ์ œ๊ณฑ์œผ๋กœ ์ž๋ผ๋Š” ๋ณ‘๋ชฉ์„ ์ƒ์ˆ˜๋ฐฐ ์ค„์ธ ๊ฒƒ์— ๊ฐ€๊น๋‹ค.

์‹คํ—˜ ์„ค์ • (ยงVI)

์„ธ ์งˆ๋ฌธ์„ ๋˜์ง„๋‹ค. ์ฒซ ํ•ด๋ฅผ ์–ผ๋งˆ๋‚˜ ๋นจ๋ฆฌ ์ฐพ๋Š”๊ฐ€, ์ถ”๊ฐ€ ๊ณ„์‚ฐ์œผ๋กœ ํ’ˆ์งˆ์ด ์–ผ๋งˆ๋‚˜ ์˜ค๋ฅด๋Š”๊ฐ€, ์ž‘์—…๊ณผ ๋กœ๋ด‡ ์ˆ˜์— ์–ด๋–ป๊ฒŒ ํ™•์žฅ๋˜๋Š”๊ฐ€. ์ง€ํ‘œ๋Š” ์ฒซ ํ•ด๊นŒ์ง€ ์‹œ๊ฐ„ t_0, ์ฒซ makespan J_0, ์ตœ์ข… makespan J_f๋‹ค. ๋ณ„๋„ ํ‘œ๊ธฐ๊ฐ€ ์—†์œผ๋ฉด ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์„ค์ •๋งˆ๋‹ค 15๊ฐœ seed๋ฅผ ์“ฐ๊ณ  ๊ทธ๋ฆผ์€ ์ค‘์•™๊ฐ’๊ณผ IQR์„ ๋ณด์ธ๋‹ค. ๋ชจ๋“  ๊ฒฐ๊ณผ๋Š” NVIDIA RTX Pro 6000 GPU ์›Œํฌ์Šคํ…Œ์ด์…˜์—์„œ ์ธก์ •ํ–ˆ๋‹ค.

๋ณธ๋ฌธ์— ์—†๋Š” ์„ค์ •๊ฐ’๋„ ์งš์–ด ๋‘”๋‹ค. roadmap ๋…ธ๋“œ ์ˆ˜, edge ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ, U_i(s)์˜ ํ›„๋ณด ์ˆ˜, shortcut ๋ฐฐ์น˜ ํฌ๊ธฐ, ๋น„์šฉ ๊ฐ€์ค‘์น˜๋Š” ๋ณธ๋ฌธ์— ์ ํ˜€ ์žˆ์ง€ ์•Š๋‹ค. ๋ถ€๋ก D์˜ API ์˜ˆ์‹œ์— Planner(scene, seed=0, roadmap_nodes=1024)๊ฐ€ ๋‚˜์˜ค์ง€๋งŒ ์ด๊ฒƒ์ด ๋ณธ ์‹คํ—˜์˜ ๊ฐ’์ธ์ง€๋Š” ์•Œ ์ˆ˜ ์—†๋‹ค.

์‹คํ—˜ 1: RoboBallet, ๋‹ค์ˆ˜ ํŒ”๊ณผ ์žฅ๊ธฐ ๊ณผ์ œ (ยงVI-A)

์„ค์ •. RoboBallet(Lai et al., Science Robotics 2025)์€ 4๋Œ€ ๋˜๋Š” 8๋Œ€ ํŒ”์ด ์žฅ์• ๋ฌผ์ด ์žˆ๋Š” ์ข์€ ์…€์—์„œ 10๊ฐœ ๋˜๋Š” 40๊ฐœ spot welding ํƒ€๊นƒ์— ๋„๋‹ฌํ•˜๋Š” ๋ฒค์น˜๋งˆํฌ์ด์ž GNN+RL ๋ฐฉ๋ฒ•์ด๋‹ค. RoboBallet์€ 2.5 cmยท15ยฐ ๋„๋‹ฌ ํ—ˆ์šฉ์น˜๋ฅผ ์“ด๋‹ค. cuArms ์ชฝ ์‹œ์Šคํ…œ์€ ํƒ์š•์  scheduler(๋งค ๋ผ์šด๋“œ ์™„ํ™”๋œ ์ด๋™ ๊ฑฐ๋ฆฌ ๋น„์šฉ์œผ๋กœ Hungarian matching์„ ํ•ด ๋กœ๋ด‡๋งˆ๋‹ค ํƒ€๊นƒ ํ•˜๋‚˜์”ฉ ๋ฐฐ์ •)์™€ cuArms๋ฅผ ๊ฒฐํ•ฉํ•œ๋‹ค. ๊ฐ ์šฉ์ ‘ ํƒ€๊นƒ์˜ ๊ด€์ ˆ ๋ชฉํ‘œ๋Š” GPU IK(cuRobo)๋กœ ๋ฐฐ์น˜ ์ƒ˜ํ”Œ๋งํ•ด sub-mm ์ •๋ฐ€๋„๋ฅผ ๋งž์ถ˜๋‹ค. ์—ํ”ผ์†Œ๋“œ๋งˆ๋‹ค ๋ฐ”๋€Œ๋Š” ๊ฒƒ์€ ํƒ€๊นƒ๋ฟ์ด๋ผ base roadmap์„ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ์žฌ์‚ฌ์šฉํ•˜๊ณ , ๊ณ„ํš ์ค‘์—๋Š” RRT-guided steering์œผ๋กœ ํƒ€๊นƒ์„ base roadmap์— ์ž‡๋Š”๋‹ค. ์ฒซ skeleton์„ ํ’€๋ฉด backtrackํ•ด ํƒ€๊นƒ์„ ๋‹ค์‹œ ์ƒ˜ํ”Œ๋งํ•œ ๋Œ€์ฒด skeleton์„ ์ œ์•ˆํ•˜๋ฉฐ, ์ด 16๊ฐœ skeleton์„ ํ‰๊ฐ€ํ•œ๋‹ค. skeleton๋‹น refinement๋Š” 10ํƒ€๊นƒ 2 s, 40ํƒ€๊นƒ 6 s๋‹ค. RL ์ •์ฑ…์€ ์ €์ž๋“ค์ด ์ฒ˜์Œ๋ถ€ํ„ฐ ์žฌํ•™์Šตํ–ˆ๋‹ค(๋ณธ๋ฌธ ํ‘œํ˜„์œผ๋กœ ์•ฝ 2์ผ).

ํƒ€๊นƒ ๋กœ๋ด‡ ๋ฐฉ๋ฒ• ์„ฑ๊ณต t_{\mathrm{offline}} (s) t_0 (s) J_0 (s) J_f (s)
10 4 cuArms 150/150 0.81 0.20 10.61 5.64
40 4 cuArms 150/150 0.81 0.41 31.16 16.56
40 8 cuArms 150/150 1.74 0.87 25.35 14.87
10 4 RL 29/150 1.6ร—10โต 0.11 โ€“ 6.00
40 4 RL 50/150 2.2ร—10โต 0.42 โ€“ 24.25
Table II ์˜ฎ๊น€. t_{\mathrm{offline}}์€ cuArms์˜ base roadmap ๊ตฌ์ถ• ์‹œ๊ฐ„ ์ค‘์•™๊ฐ’๊ณผ RL์˜ ํ•™์Šต ์‹œ๊ฐ„์ด๋‹ค. RL์˜ t_0๋Š” ์ด ์ถ”๋ก  ์‹œ๊ฐ„์ด๋‹ค. 150 = ์—ํ”ผ์†Œ๋“œ 10๊ฐœ ร— seed 15๊ฐœ๋กœ ์ฝํžŒ๋‹ค(๋ณธ๋ฌธ โ€œeach with 10 episodesโ€์™€ 15 seed ์„ค์ •์—์„œ์˜ ํ•„์ž ํ•ด์„).

RoboBallet์—์„œ์˜ schedule ํƒ์ƒ‰๊ณผ refinement(Fig. 5). ๊ฐ€๋กœ์ถ•์€ ์ฒซ ํ•ด ์ดํ›„ ์ถ”๊ฐ€ ์‹œ๊ฐ„, ์„ธ๋กœ์ถ•์€ makespan. ์ฃผํ™ฉ ์ ์„ ์€ RL์˜ makespan(RL์ด ํ‘ผ ์—ํ”ผ์†Œ๋“œ๋งŒ์˜ ์ค‘์•™๊ฐ’)์ด๋‹ค. ๊ทธ๋ฆผ์—์„œ ์ฝ์œผ๋ฉด 10ํƒ€๊นƒ์—์„œ๋Š” ์‹ญ์—ฌ ์ดˆ ๋’ค RL ์„  ์•„๋ž˜๋กœ ๋‚ด๋ ค๊ฐ€๊ณ , 40ํƒ€๊นƒ์—์„œ๋Š” ์ˆ˜ ์ดˆ ๋งŒ์— RL๋ณด๋‹ค ์งง์•„์ง„๋‹ค.

๊ฒฐ๊ณผ. ์ฒซ ํ•ด๊นŒ์ง€ ์ค‘์•™๊ฐ’ 0.20 s(10ํƒ€๊นƒ), 0.41 s(40ํƒ€๊นƒ). base roadmap์€ ๋กœ๋ด‡๋‹น 0.22 s ๋ฏธ๋งŒ์œผ๋กœ ๋ฏธ๋ฆฌ ๋งŒ๋“ ๋‹ค(0.81 s / 4๋Œ€ = 0.20 s, 1.74 s / 8๋Œ€ = 0.22 s, ํ•„์ž ๊ณ„์‚ฐ). shortcut๊ณผ ๋Œ€์ฒด skeleton ํƒ์ƒ‰์œผ๋กœ ์ฒซ makespan์„ ๋‘ ์„ค์ • ๋ชจ๋‘ ์•ฝ 47% ์ค„์ธ๋‹ค(10.61โ†’5.64๋Š” 46.8%, 31.16โ†’16.56์€ 46.9%, ํ•„์ž ๊ฒ€์‚ฐ). ์žฌํ•™์Šต RL์€ 10ํƒ€๊นƒ ์—ํ”ผ์†Œ๋“œ์˜ 19.3%, 40ํƒ€๊นƒ์˜ 33.3%๋งŒ ์™„์ˆ˜ํ•œ๋‹ค. ์˜ˆ์ธก ํ–‰๋™์ด ์ถฉ๋Œ์„ ํ”ผํ•˜์ง€ ๋ชปํ•ด deadlock์— ๋น ์ง€๊ฑฐ๋‚˜ ํ—ˆ์šฉ์น˜ ์•ˆ์— ๋„๋‹ฌํ•˜์ง€ ๋ชปํ•ด์„œ๋‹ค. ๋‘˜ ๋‹ค ํ‘ผ ์—ํ”ผ์†Œ๋“œ์—์„œ๋Š” cuArms์˜ makespan ์ค‘์•™๊ฐ’์ด 20.1%(10ํƒ€๊นƒ), 27.9%(40ํƒ€๊นƒ) ์งง๋‹ค.

ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ โ€œ8 arms ยท 40 targetsโ€ ํด๋ฆฝ(1.3 / 1.7 MB, ์› URL ์ฐธ์กฐ). ์™ผ์ชฝ cuArms(ํŽ˜์ด์ง€ ํ‘œ๊ธฐ: ๊ณ„ํš 9.26 s, makespan 9.7 s), ์˜ค๋ฅธ์ชฝ RoboBallet RL์˜ 20์ดˆ ๋ฐœ์ทŒ. 8ํŒ” RL ๋กค์•„์›ƒ์ด ํŽ˜์ด์ง€์—๋Š” ์žˆ์ง€๋งŒ Table II์—๋Š” 8ํŒ” RL ํ–‰์ด ์—†๋‹ค.

๋กœ๋ด‡ ์ˆ˜๋ฅผ ๋‘ ๋ฐฐ๋กœ. 8ํŒ”์—์„œ๋„ 1์ดˆ ์•ˆ์—(0.87 s) ํ•ด๋ฅผ ์ฐพ๊ณ  ์ตœ์ข… makespan ์ค‘์•™๊ฐ’์€ 4ํŒ” ๋Œ€๋น„ 10.2% ์งง๋‹ค(16.56โ†’14.87 s). ์ฒซ makespan์€ 18.6% ์งง๋‹ค(31.16โ†’25.35 s, ํ•„์ž ๊ณ„์‚ฐ). ํŒ”์„ ๋‘ ๋ฐฐ๋กœ ๋Š˜๋ ค ์–ป์€ ๊ฐœ์„ ์ด 10%๋Œ€๋ผ๋Š” ๊ฒƒ์€ ์ž‘์—… ๊ณต๊ฐ„์ด ์ข์•„ ํŒ”๋ผ๋ฆฌ ์„œ๋กœ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ๋Š˜์—ˆ๋‹ค๋Š” ๋œป์œผ๋กœ ์ฝํžŒ๋‹ค(ํ•„์ž ํ•ด์„, ๋…ผ๋ฌธ์€ ์ด ๋น„์œจ์„ ํ•ด์„ํ•˜์ง€ ์•Š๋Š”๋‹ค).

์‹œ๊ฐ„ ๋ถ„ํ•ด(Table III). ์ฒซ ํ•ด๊นŒ์ง€์˜ ์‹œ๊ฐ„์„ ๋‹จ๊ณ„๋ณ„๋กœ ์ชผ๊ฐ  ํ‘œ๋‹ค.

๋‹จ๊ณ„ (ms, ์ค‘์•™๊ฐ’) 4ํŒ” ยท 10 4ํŒ” ยท 40 8ํŒ” ยท 40
Greedy scheduler 0.59 5.12 3.06
Roadmap construction (ํƒ€๊นƒ ์—ฐ๊ฒฐ) 98.70 155.39 271.17
Heuristics 47.68 120.81 146.44
Candidate expansion & sort 8.24 24.24 32.06
Conflict table 22.46 65.94 277.46
LaCAM search & PIBT 6.81 13.42 19.51
์ถฉ๋Œ ๊ฒ€์‚ฌ ๋น„์ค‘ (์ฒซ ํ•ด ์‹œ๊ฐ„ ๋Œ€๋น„) 18.1% 24.7% 50.2%

ํ‘œ์—์„œ ๋‘ ๊ฐ€์ง€๊ฐ€ ๋ณด์ธ๋‹ค. ์ฒซ์งธ, ํƒ์ƒ‰ ์ž์ฒด๋Š” ๊ฑฐ์˜ ๊ณต์งœ๋‹ค. LaCAM๊ณผ PIBT๋ฅผ ํ•ฉ์ณ ๋‹จ๊ณ„ ํ•ฉ์˜ 2.6~3.7%๋‹ค(ํ•„์ž ๊ณ„์‚ฐ, ์ค‘์•™๊ฐ’์€ ๋”ํ•ด์ง€์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ทผ์‚ฌ). ์‹œ๊ฐ„์˜ ๋Œ€๋ถ€๋ถ„์€ roadmap ์—ฐ๊ฒฐ๊ณผ heuristic(๋‹จ๊ณ„ ํ•ฉ์˜ 56~79%)์ด๋‹ค. ์ €์ž๋“ค๋„ ์ƒˆ ํƒ€๊นƒ์„ base roadmap์— ์ž‡๋Š” ๋‹จ๊ณ„๊ฐ€ ์ข์€ ํ†ต๋กœ ๊ฐ™์€ ์žฅ์• ๋ฌผ ๋•Œ๋ฌธ์— ๋ฐ˜๋ณต ์ƒ˜ํ”Œ๋ง๊ณผ steering์„ ์š”๊ตฌํ•ด ํฐ ๋ณ‘๋ชฉ์ด๋ผ๊ณ  ์ธ์ •ํ•œ๋‹ค. ๋‘˜์งธ, 8ํŒ”์—์„œ conflict table์ด ๊ฐ€์žฅ ํฐ ํ•ญ๋ชฉ์ด ๋œ๋‹ค(277.46 ms). ์•ž์˜ ์ง๊ด€ ์ ˆ์—์„œ ๋ณธ ๋Œ€๋กœ ๋กœ๋ด‡ ์Œ ์ˆ˜์— ๋น„๋ก€ํ•˜๋Š” ์ฆ๊ฐ€๋‹ค.

๋ธ”๋กœ๊ทธ์˜ RoboBallet ๋ฆฌ๋ทฐ์™€ ๋Œ€์กฐ. ์ด ๋ธ”๋กœ๊ทธ์˜ RoboBallet ๋ฆฌ๋ทฐ์— ์ •๋ฆฌํ•œ ์› ๋…ผ๋ฌธ ์ˆ˜์น˜์™€ ๋‚˜๋ž€ํžˆ ๋†“์œผ๋ฉด RL ๋ฒ ์ด์Šค๋ผ์ธ์„ ์ฝ๋Š” ๋ฐ ํ•„์š”ํ•œ ๋งฅ๋ฝ์ด ์ƒ๊ธด๋‹ค.

  • ์› ๋…ผ๋ฌธ์€ ํ•™์Šต์ด ๋ฌธ์ œ ํฌ๊ธฐ์— ๋”ฐ๋ผ 6~24์‹œ๊ฐ„์ด๋ฉด ํƒœ์Šคํฌ ํ•ด๊ฒฐ๋ฅ  95%์— ์ด๋ฅด๊ณ , ์ดํ›„ 2~6์ผ ๋™์•ˆ ํ’ˆ์งˆ์ด ๊ณ„์† ์˜ค๋ฅธ๋‹ค๊ณ  ๋ณด๊ณ ํ–ˆ๋‹ค. ํ‰๊ฐ€ ์…€์—์„œ๋„ 40๊ฐœ ์ค‘ ์•ฝ 38๊ฐœ ํƒœ์Šคํฌ๊ฐ€ ํ’€๋ ธ๋‹ค. cuArms๊ฐ€ ๋ณด๊ณ ํ•œ RL ์„ฑ๊ณต๋ฅ  19.3%/33.3%๋Š” ์—ํ”ผ์†Œ๋“œ ๋‹จ์œ„ ์™„์ˆ˜์œจ(๋ชจ๋“  ํƒ€๊นƒ์„ ํ—ˆ์šฉ์น˜ ์•ˆ์— ๋„๋‹ฌ)์ด๋ผ ์› ๋…ผ๋ฌธ์˜ ํƒœ์Šคํฌ ๋‹จ์œ„ ํ•ด๊ฒฐ๋ฅ ๊ณผ ๊ฐ™์€ ์ง€ํ‘œ๊ฐ€ ์•„๋‹ˆ๋‹ค. 40๊ฐœ ์ค‘ 38๊ฐœ๋ฅผ ํ’€์–ด๋„ ์—ํ”ผ์†Œ๋“œ๋Š” ์‹คํŒจ๋‹ค. ๋‘ ์ˆ˜์น˜๊ฐ€ ๋ชจ์ˆœ๋˜์ง€๋Š” ์•Š์ง€๋งŒ, ๋…์ž๊ฐ€ โ€œRoboBallet์€ 20~30%๋งŒ ์„ฑ๊ณตํ•œ๋‹คโ€๋กœ ์ฝ์œผ๋ฉด ํ‹€๋ฆฐ๋‹ค.
  • ์žฌํ•™์Šต ์‹œ๊ฐ„์€ 1.6\times10^5 s(์•ฝ 44์‹œ๊ฐ„)์™€ 2.2\times10^5 s(์•ฝ 61์‹œ๊ฐ„)๋‹ค(ํ•„์ž ํ™˜์‚ฐ). ์› ๋…ผ๋ฌธ์ด ๋งํ•œ ํ’ˆ์งˆ ๊ฐœ์„  ๊ตฌ๊ฐ„(2~6์ผ)์˜ ์•ž์ชฝ ๋์ด๋‹ค. ํ•™์Šต ๋ถ€์กฑ ๊ฐ€๋Šฅ์„ฑ์„ ๋ฐฐ์ œํ•  ์ˆ˜ ์—†์ง€๋งŒ ๋…ผ๋ฌธ์€ ํ•™์Šต ๊ณก์„ ์„ ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค.
  • ์› ๋…ผ๋ฌธ์˜ ๋Œ€ํ‘œ ์„ค์ •์€ 8ํŒ”ยท40ํƒœ์Šคํฌ์ธ๋ฐ, Table II์˜ RL ํ–‰์€ 4ํŒ”๋ฟ์ด๋‹ค. 8ํŒ” RL ๋กค์•„์›ƒ ์˜์ƒ์ด ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€์— ์žˆ์œผ๋ฏ€๋กœ ํ•™์Šต์€ ํ•œ ๊ฒƒ์œผ๋กœ ๋ณด์ด์ง€๋งŒ ์ˆ˜์น˜๋Š” ์—†๋‹ค.
  • 10ํƒ€๊นƒ RL ์„ฑ๊ณต๋ฅ (19.3%)์ด 40ํƒ€๊นƒ(33.3%)๋ณด๋‹ค ๋‚ฎ๋‹ค. ์ง๊ด€๊ณผ ๋ฐ˜๋Œ€์ธ๋ฐ ๋…ผ๋ฌธ์€ ์„ค๋ช…ํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • RL์€ 2.5 cmยท15ยฐ ํ—ˆ์šฉ์น˜๋ฅผ ์“ฐ๊ณ  cuArms๋Š” sub-mm IK ๋ชฉํ‘œ๋ฅผ ์“ด๋‹ค. ์ •๋ฐ€๋„์—์„œ๋Š” RL์— ์œ ๋ฆฌํ•œ ๋น„๋Œ€์นญ์ด๋‹ค. ๋ฐ˜๋ฉด RoboBallet์€ ํƒœ์Šคํฌ๋งˆ๋‹ค 0.5 s dwell์„ ๋„ฃ๋Š”๋ฐ, cuArms์˜ weld skill ์ง€์† ์‹œ๊ฐ„ d_j๊ฐ€ ๊ฐ™์€์ง€๋Š” ์ ํ˜€ ์žˆ์ง€ ์•Š๋‹ค. makespan ๋น„๊ต์˜ ๊ณต์ •์„ฑ์„ ํŒ๋‹จํ•  ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•˜๋‹ค.

์‹คํ—˜ 2: Multi-arm TAMP, tabletop (ยงVI-B)

์„ค์ •. Panda 2๋Œ€๋กœ ํ๋ธŒ 2~4๊ฐœ๋ฅผ ๋“ค๊ธฐ(Hold)ยท์Œ“๊ธฐ(Stack)ยท๋‹ด๊ธฐ(Pack)ยท๊บผ๋‚ด๊ธฐ(Unpack). PackยทUnpack์€ 6๊ฐœยท8๊ฐœ๋„ ํ‰๊ฐ€ํ•œ๋‹ค. cuArms์™€ ScheduleStream ๋ฒ ์ด์Šค๋ผ์ธ ๋ชจ๋‘ ScheduleStream์˜ symbolic planner๋กœ skeleton์„ ํƒ์ƒ‰ํ•˜๊ณ  graspยท๋ฐฐ์น˜ยทIK๋ฅผ ์ƒ˜ํ”Œ๋งํ•˜๋ฉฐ, ์ƒ์œ„ ํƒ์ƒ‰ ์˜ˆ์‚ฐ์€ ์ด 60 s๋‹ค. ์ฐจ์ด๋Š” motion์ด๋‹ค. ScheduleStream์€ ํŒ”๋งˆ๋‹ค ๊ฒฝ๋กœ๋ฅผ ๋”ฐ๋กœ ๊ณ„ํšํ•œ ๋’ค ์ถฉ๋Œ์„ ํ”ผํ•˜๋„๋ก retimingํ•˜๊ณ , cuArms๋Š” skill๊ณผ move๋ฅผ ํ•จ๊ป˜ ์กฐ์ •ํ•œ๋‹ค. cuArms๋Š” ๋‹ค๋ฅธ ์ƒ˜ํ”Œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฐ€์ง„ skeleton์„ ์ตœ๋Œ€ 16๊ฐœ ํƒ์ƒ‰ํ•˜๊ณ , skeleton๋‹น refinement๋Š” Pack 2 s, ๋‚˜๋จธ์ง€ 1 s๋‹ค. cuArms๋Š” makespan๊ณผ ๊ฒฝ๋กœ ๊ฑฐ๋ฆฌ๋ฅผ ์„ž์€ ๊ฐ€์ค‘ ๋ชฉ์ ํ•จ์ˆ˜๋ฅผ ์ตœ์ ํ™”ํ•œ๋‹ค.

๊ณผ์ œ cuArms ์„ฑ๊ณต t_0 (s) J_0 (s) J_f (s) ScheduleStream ์„ฑ๊ณต t_0 (s) J_0 (s)
Hold 45/45 0.48 5.46 2.37 44/45 1.75 3.74
Stack 45/45 2.26 12.84 6.67 38/45 4.02 16.11
Pack 45/45 2.96 12.02 6.96 38/45 4.54 17.45
Unpack 45/45 1.60 11.50 6.55 39/45 3.30 13.25
Table IV ์˜ฎ๊น€(๋ฌผ์ฒด 2~4๊ฐœ). 45 = ๋ฌผ์ฒด ์ˆ˜ 3์ข… ร— seed 15๊ฐœ๋กœ ์ฝํžŒ๋‹ค(ํ•„์ž ํ•ด์„). ScheduleStream์€ refinement๊ฐ€ ์—†์–ด J_f ์—ด์ด ์—†๋‹ค.

ํ—ค๋“œ๋ผ์ธ ์ˆ˜์น˜ ๊ฒ€์‚ฐ. ๋ณธ๋ฌธ์˜ โ€œ46.4% ๋น ๋ฅด๋‹คโ€๋Š” ๋„ค ๊ณผ์ œ์˜ t_0๋ฅผ ํ•ฉ์‚ฐํ•ด ๋น„๊ตํ•œ ๊ฐ’์ด๋‹ค. cuArms ํ•ฉ 7.30 s, ScheduleStream ํ•ฉ 13.61 s๋กœ 1-7.30/13.61=46.4\%๊ฐ€ ์ •ํ™•ํžˆ ๋‚˜์˜จ๋‹ค(ํ•„์ž ๊ฒ€์‚ฐ). ๊ณผ์ œ๋ณ„๋กœ ๋ณด๋ฉด ํŽธ์ฐจ๊ฐ€ ํฌ๋‹ค.

๊ณผ์ œ t_0 ๊ฐ์†Œ J_0 ์ฐจ์ด (cuArms vs SS) J_0\to J_f ๊ฐ์†Œ
Hold 72.6% +46.0% (cuArms๊ฐ€ ๊น€) 56.6%
Stack 43.8% โˆ’20.3% 48.1%
Pack 34.8% โˆ’31.1% 42.1%
Unpack 51.5% โˆ’13.2% 43.0%
Table IV ๊ฐ’์œผ๋กœ ํ•„์ž๊ฐ€ ๊ณ„์‚ฐ. ๋ณธ๋ฌธ์˜ โ€œ42~57%โ€๋Š” ๋งˆ์ง€๋ง‰ ์—ด์˜ ๋ฒ”์œ„์™€ ์ผ์น˜ํ•œ๋‹ค.

๋ณธ๋ฌธ์€ Hold๋ฅผ ์˜ˆ์™ธ๋กœ ๋ช…์‹œํ•œ๋‹ค(โ€œbetter initial makespan except for the Hold taskโ€). ๋“ค๊ณ ๋งŒ ์žˆ์œผ๋ฉด ๋˜๋Š” ๋‹จ์ˆœ ๊ณผ์ œ์—์„œ๋Š” ๋…๋ฆฝ ๊ณ„ํš + retiming์ด ์˜คํžˆ๋ ค ์งง์€ ์ฒซ ํ•ด๋ฅผ ์ค€๋‹ค๋Š” ๋œป์ด๋‹ค. cuArms๋Š” refinement ๋’ค์—์•ผ(2.37 s) ScheduleStream์˜ 3.74 s๋ฅผ ์ด๊ธด๋‹ค.


Tabletop refinement(Fig. 6). ํŒŒ๋ž€ ์ ์„ ์ด ScheduleStream์˜ ์ฒซ makespan, ๋ณด๋ผ ์‹ค์„ ์ด cuArms์˜ makespan ์ค‘์•™๊ฐ’๊ณผ IQR์ด๋‹ค. ์บก์…˜์€ โ€œ๊ฐ€์ค‘ ๋ชฉ์ ํ•จ์ˆ˜๊ฐ€ ๊ฐœ์„ ๋˜๋Š” ๋™์•ˆ makespan์€ ๋Š˜ ์ˆ˜ ์žˆ๋‹คโ€๊ณ  ์ ๋Š”๋‹ค. ์ด ๊ทธ๋ฆผ์ด ๊ทธ๋ฆฌ๋Š” ๊ฒƒ์€ makespan์ด์ง€ ์ตœ์ ํ™” ๋Œ€์ƒ์ธ J๊ฐ€ ์•„๋‹ˆ๋‹ค.
ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ โ€œStack four objectsโ€ ํด๋ฆฝ(0.4 / 0.6 MB, ์› URL ์ฐธ์กฐ). ์™ผ์ชฝ cuArms(ํŽ˜์ด์ง€ ํ‘œ๊ธฐ: ๊ณ„ํš 4.67 s, makespan 10.2 s), ์˜ค๋ฅธ์ชฝ ScheduleStream(๊ณ„ํš 3.66 s, makespan 20.15 s). ๊ฐ™์€ skeleton์„ ์ตœ์ ํ™”ํ•œ๋‹ค. ์ด ํ•œ ์‚ฌ๋ก€์—์„œ๋Š” ๊ณ„ํš ์‹œ๊ฐ„์ด ScheduleStream ์ชฝ์ด ๋” ์งง๋‹ค.

๋ฌผ์ฒด ์ˆ˜ ํ™•์žฅ.


๋ฌผ์ฒด ์ˆ˜์— ๋”ฐ๋ฅธ ํ™•์žฅ(Fig. 7). (a)(c) ์ฒซ makespan, (b)(d) ์ฒซ ํ•ด๊นŒ์ง€ ์‹œ๊ฐ„. ScheduleStream์€ 8๊ฐœ Pack์—์„œ ํ•ด๋ฅผ ํ•˜๋‚˜๋„ ์ฐพ์ง€ ๋ชปํ•ด ์ ์ด ์—†๋‹ค. cuArms๋„ 8๊ฐœ์—์„œ ์ฒซ ํ•ด๊นŒ์ง€ Pack ์•ฝ 40 s, Unpack ์•ฝ 50 s๊ฐ€ ๊ฑธ๋ฆฐ๋‹ค(๊ทธ๋ฆผ์—์„œ ์ฝ์€ ๊ทผ์‚ฌ์น˜).

cuArms๋Š” 8๊ฐœ๊นŒ์ง€ ํ•ด๋ฅผ ์ฐพ๊ณ  makespan์˜ ์ฆ๊ฐ€ ๊ธฐ์šธ๊ธฐ๊ฐ€ ScheduleStream๋ณด๋‹ค ์™„๋งŒํ•˜๋‹ค. ํ•˜์ง€๋งŒ (b)(d)์˜ ์„ธ๋กœ์ถ•์ด ๋ณด์—ฌ ์ฃผ๋“ฏ, ๋ฌผ์ฒด๊ฐ€ 6~8๊ฐœ๊ฐ€ ๋˜๋ฉด ์ฒซ ํ•ด๊นŒ์ง€์˜ ์‹œ๊ฐ„์ด ์ˆ˜์‹ญ ์ดˆ๋กœ ๋Š˜์–ด๋‚œ๋‹ค. ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€์˜ ํด๋ฆฝ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋Š” ์ด ์‹œ๊ฐ„์˜ ๋Œ€๋ถ€๋ถ„์ด scheduler ๋ชซ์ž„์„ ๋ณด์—ฌ ์ค€๋‹ค. Pack 8๊ฐœ๋Š” scheduling 39.34 s + ํ•ด 4.20 s, Unpack 8๊ฐœ๋Š” 49.41 s + 4.22 s๋กœ ์ ํ˜€ ์žˆ๋‹ค. ์ดˆ๋ก์˜ โ€œreal-time initial solutionsโ€๋Š” skeleton์ด ์ฃผ์–ด์ง„ ๋’ค cuArms์˜ ์กฐ์ • ๋‹จ๊ณ„์— ๋Œ€ํ•œ ๋ง์ด๋‹ค.

ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ โ€œPack ยท 8 objectsโ€ ํด๋ฆฝ(1.3 MB, ์› URL ์ฐธ์กฐ). ํŽ˜์ด์ง€ ํ‘œ๊ธฐ๋กœ scheduling 39.34 s, ํ•ด 4.20 s, makespan ์•ฝ 17.7 s.

์‹คํ—˜ 3: ์‹ค๊ธฐ ์ „์ž๋ถ€ํ’ˆ ์กฐ๋ฆฝ (ยงVI-C)

Flexiv Rizon4s ํŒ” 2๋Œ€๋กœ ๋‘ ๊ณผ์ œ๋ฅผ ํ•œ๋‹ค. (a) handover๋กœ ๋ถ€ํ’ˆ์„ ์†์—์„œ ์†์œผ๋กœ ๋„˜๊ฒจ ๋ฐฉํ–ฅ์„ ๋ฐ”๊พธ๋Š” ์žฌํŒŒ์ง€, (b) busbar fixture๋ฅผ ๋‘ ํŒ”์ด ํ•จ๊ป˜ ์žก์•„ ์„œ๋ฒ„ ํŠธ๋ ˆ์ด๋กœ ์˜ฎ๊ธฐ๋Š” ์–‘ํŒ” ์šด๋ฐ˜์ด๋‹ค. GPU ๊ฐ€์† skill sampler๊ฐ€ handover ์ž์„ธ๋‚˜ ์šด๋ฐ˜ ๊ถค์ ์„ ํ•˜๋“œ์ฝ”๋”ฉํ•˜์ง€ ์•Š๊ณ  ์ œ์•ฝ์„ ๋งŒ์กฑํ•˜๋Š” ์ž์„ธ๋ฅผ ์ƒ˜ํ”Œ๋งํ•˜๊ณ , ScheduleStream ๊ธฐ๋ฐ˜ symbolic planner๊ฐ€ skeleton์„ ๋งŒ๋“ ๋‹ค. cuArms๋Š” ์นด๋ฉ”๋ผ ๋งˆ์šดํŠธ๋ฅผ ํ”ผํ•˜๋Š” ์ ‘๊ทผ motion์„ ํฌํ•จํ•œ ํ˜‘์‘ ๊ณ„ํš์„ ๋‚ธ๋‹ค.


์‹ค๊ธฐ ์–‘ํŒ” ์ „์ž๋ถ€ํ’ˆ ์กฐ๋ฆฝ(Fig. 8). ์™ผ์ชฝ ์„ธ ์žฅ (a) Handover: ์ž๋™ ์ƒ˜ํ”Œ๋งยท์ตœ์ ํ™”ํ•œ handover ์ž์„ธ๋กœ ๋ถ€ํ’ˆ ์žฌํŒŒ์ง€. ์˜ค๋ฅธ์ชฝ ์„ธ ์žฅ (b) Bimanual carry: ์ถฉ๋Œ ์—†๋Š” ์ ‘๊ทผ, ํ˜‘์‘ grasp, busbar fixture๋ฅผ ์„œ๋ฒ„ ํŠธ๋ ˆ์ด๋กœ ์šด๋ฐ˜.
ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ ์‹ค๊ธฐ ํด๋ฆฝ(4.6 / 5.5 MB, ์› URL ์ฐธ์กฐ). ์™ผ์ชฝ Bimanual Handover, ์˜ค๋ฅธ์ชฝ Bimanual Carry.

์ด ์ ˆ์—๋Š” ์‹œํ–‰ ํšŸ์ˆ˜, ์„ฑ๊ณต๋ฅ , ๊ณ„ํš ์‹œ๊ฐ„, ์‹คํ–‰ ์‹œ๊ฐ„์ด ํ•˜๋‚˜๋„ ์—†๋‹ค. ๋ณธ๋ฌธ์€ โ€œVideos of successful execution are availableโ€๋กœ ๋๋‚œ๋‹ค. ์‹ค๊ธฐ ์‹คํ—˜์€ ์‹œ์Šคํ…œ์ด ์‹ค์ œ ํ•˜๋“œ์›จ์–ด๋กœ ์ด์–ด์ง„๋‹ค๋Š” ์กด์žฌ ์ฆ๋ช…์ด๊ณ , ์„ฑ๋Šฅ ํ‰๊ฐ€๋Š” ์•„๋‹ˆ๋‹ค.

๋ถ€๋ก (ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ PDF): ๊ฐ™์€ ๊ณ„์—ด planner์™€์˜ ๋น„๊ต

arXiv v1์€ ๋ณธ๋ฌธ 8์ชฝ๋ฟ์ด๊ณ  ๋ถ€๋ก์ด ์—†๋‹ค. ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€์—๋Š” 6์ชฝ์งœ๋ฆฌ Appendix PDF๊ฐ€ ๋”ฐ๋กœ ์žˆ๊ณ , ์—ฌ๊ธฐ์— Table I์˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•๋“ค๊ณผ์˜ ๋น„๊ต๊ฐ€ ๋“ค์–ด ์žˆ๋‹ค. ๊ทธ๋ฆผ ๋ฒˆํ˜ธ๋Š” ๋ณธ๋ฌธ์—์„œ ์ด์–ด์ง„๋‹ค(Fig. 9~14, Table V~IX). ์•„๋ž˜๋Š” ๊ทธ ๋ถ€๋ก์„ ์ฝ์€ ๊ฒƒ์ด๋‹ค.

A. MRMG ์žฅ๊ธฐ ๋ฉ€ํ‹ฐ์•” ์กฐ๋ฆฝ

Hartmann et al.์˜ Multi-Modal Multi-Robot Multi-Goal ๋ฒค์น˜๋งˆํฌ. UR5 2~4๋Œ€๊ฐ€ ๋ถ€ํ’ˆ 7~24๊ฐœ๋ฅผ ์ง‘์–ด ๋†“์•„ ๋‚˜์„  ํƒ‘ยทํŠธ๋Ÿฌ์Šคยทํ๋ธŒ๋ฅผ ๋งŒ๋“ ๋‹ค. ์ˆœ์„œยทํ• ๋‹นยท๊ด€์ ˆ ๋ชฉํ‘œ๋Š” ์› ๋ฒค์น˜๋งˆํฌ๋Œ€๋กœ skeleton์— ๊ณ ์ •ํ•œ๋‹ค. ๋น„์šฉ J๋Š” ๊ฒฝ๋กœ์˜ ๊ฐ ์Šคํ…์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์›€์ง์ธ ํŒ”์˜ ๊ด€์ ˆ ๊ฑฐ๋ฆฌ์— ๋ชจ๋“  ํŒ” ๊ด€์ ˆ ๊ฑฐ๋ฆฌ์˜ 1%๋ฅผ ๋”ํ•œ ํ•ฉ์ด๋‹ค(์› ๋ฒค์น˜๋งˆํฌ ์ •์˜). ๋ฒ ์ด์Šค๋ผ์ธ์€ ๋ฒค์น˜๋งˆํฌ์™€ ํ•จ๊ป˜ ๋ฐœํ‘œ๋œ prioritized planner์™€ AIT* ๊ฒฐ๊ณผ(25ํšŒ ์ค‘์•™๊ฐ’, 500~1000 s ๊ณ„ํš)๋‹ค. cuArms์˜ t_0์—๋Š” roadmap ๊ตฌ์ถ•์ด ํฌํ•จ๋œ๋‹ค.

๊ณผ์ œ ๋กœ๋ด‡ ๋ถ€ํ’ˆ cuArms t_0 / J_0 / J_f Prioritized t_0 / J_0 / J_f AIT* t_0 / J_0 / J_f
Spiral-2 2 7 0.32 / 85.0 / 44.4 14.14 / 47.7 / 46.6 2.02 / 110.7 / 43.9
Spiral 4 15 1.29 / 202.2 / 88.9 196.74 / 122.9 / 106.5 31.00 / 311.5 / 94.0
Truss 3 14 1.07 / 144.0 / 68.9 24.68 / 89.3 / 76.8 3.77 / 211.9 / 66.4
Cube 4 24 7.53 / 336.3 / 129.5 117.86 / 161.5 / 135.6 59.44 / 423.7 / 119.8
๋ถ€๋ก Table V ์˜ฎ๊น€. cuArms๋Š” 15 seed ์ค‘์•™๊ฐ’, refinement 10/30/30/60 s.

MRMG ๋น„์šฉ-๊ณ„ํš ์‹œ๊ฐ„ ๊ณก์„ (๋ถ€๋ก Fig. 9). ์ ์„ ์€ ๋ฒ ์ด์Šค๋ผ์ธ์ด ๋ฐœํ‘œํ•œ ์ฒซ ํ•ด์™€ ์ตœ์ข… ํ•ด๋ฅผ ์ž‡๋Š”๋‹ค(์ค‘๊ฐ„ ๊ณก์„ ์ด ์•„๋‹ˆ๋‹ค). ์˜ค๋ฅธ์ชฝ ์œ„๋Š” ์™„์„ฑ๋œ ๊ตฌ์กฐ๋ฌผ๊ณผ ํŒ”์˜ ์ตœ์ข… ํ˜•์ƒ.

cuArms๋Š” 15 seed ๋ชจ๋‘ ์„ฑ๊ณตํ•˜๊ณ , ์ฒซ ํ•ด๊ฐ€ AIT*๋ณด๋‹ค 3.5~24๋ฐฐ, prioritized๋ณด๋‹ค 16~152๋ฐฐ ๋น ๋ฅด๋ฉฐ, ์ฒซ ํ•ด ๋น„์šฉ์ด AIT*๋ณด๋‹ค 21~35% ๋‚ฎ๋‹ค. prioritized๋Š” ์ฒซ ํ•ด ๋น„์šฉ์ด ๋” ๋‚ฎ์ง€๋งŒ 14~197 s๊ฐ€ ๊ฑธ๋ฆฐ๋‹ค. ์ตœ์ข… ๋น„์šฉ์€ prioritized๋ณด๋‹ค 4.5~16.5% ๋‚ฎ๊ณ  AIT*์˜ 8% ์ด๋‚ด๋‹ค(Spiral์—์„œ๋Š” ๋” ๋‚ฎ๋‹ค). ๋ชจ๋‘ Table V๋กœ ํ•„์ž๊ฐ€ ๊ฒ€์‚ฐํ•ด ์ผ์น˜๋ฅผ ํ™•์ธํ–ˆ๋‹ค. ๋‹จ, ๋ฒ ์ด์Šค๋ผ์ธ ์ˆ˜์น˜๋Š” ๋‹ค๋ฅธ ํ•˜๋“œ์›จ์–ด์—์„œ ๋ฐœํ‘œ๋œ ๊ฐ’์ด๋‹ค.

B. xECBS one-shot ๋ฉ€ํ‹ฐ์•” motion planning

Panda ํŒ” 2~8๋Œ€์˜ 6๊ฐœ ์žฅ๋ฉด(์›ํ˜• ๋ฐฐ์น˜ 2ยท4ยท6ยท8๋Œ€, Bin Picking 4๋Œ€, Shelves 8๋Œ€), ์žฅ๋ฉด๋‹น 50 query. xECBSยทECBSยทprioritized๋Š” ์ €์ž๋“ค์ด ๋ฐœํ‘œํ•œ ๊ฒฐ๊ณผ(Intel Core i9-12900H, 60 s ์ œํ•œ)๋ฅผ ์“ฐ๊ณ , VAMP-MR์€ ์ €์ž๋“ค์ด Intel Core Ultra 9 285K์—์„œ ์ง์ ‘ ๋Œ๋ ธ๋‹ค. cuArms์˜ roadmap ๊ตฌ์ถ•(์žฅ๋ฉด๋‹น 2.9~16.5 s)์€ t_0์—์„œ ์ œ์™ธ๋œ๋‹ค.

์žฅ๋ฉด cuArms ์„ฑ๊ณต / t_0 / J_f xECBS ์„ฑ๊ณต / t_0 / J_f VAMP-MR (CBS-MP) ์„ฑ๊ณต / t_0 / J_f
Bin Picking 100% / 0.083 / 26.5 96% / 3.49 / 23.5 32% / 0.080 / 24.1
Shelves 38% / 0.24 / 44.8 84% / 7.98 / 40.3 6% / 0.49 / 33.4
Two Robots 100% / 0.026 / 12.5 100% / 0.092 / 12.6 96% / 0.005 / 12.6
Four Robots 100% / 0.052 / 19.3 98% / 0.395 / 19.4 84% / 0.033 / 19.6
Six Robots 100% / 0.083 / 33.7 92% / 3.49 / 31.3 58% / 0.30 / 33.4
Eight Robots 98% / 0.13 / 41.9 80% / 9.44 / 40.9 32% / 2.51 / 39.4
๋ถ€๋ก Table VI ์ผ๋ถ€ ์˜ฎ๊น€(t_0 s, J_f rad, ๊ฐ ๋ฐฉ๋ฒ•์ด ํ‘ผ query์— ๋Œ€ํ•œ ์ค‘์•™๊ฐ’). ECBSยทPrioritizedยทVAMP-MR(RRT) ์—ด์€ ์ƒ๋žต. ์› ํ‘œ ๊ธฐ์ค€ Shelves ์ตœ๊ณ  ์„ฑ๊ณต๋ฅ ์€ xECBS๋‹ค.

xECBS ๋ฒค์น˜๋งˆํฌ ๋น„์šฉ-๊ณ„ํš ์‹œ๊ฐ„ ๊ณก์„ (๋ถ€๋ก Fig. 10). ์žฅ๋ฉด ์„ฑ๊ณต๋ฅ  50% ์ด์ƒ(Shelves๋Š” 30%)์ธ ๋ฐฉ๋ฒ•๋งŒ ๊ทธ๋ฆฐ๋‹ค. ๊ทธ๋ž˜์„œ (b) Shelves์˜ cuArms ๊ณก์„ ์€ 38%์˜ ํ‘ผ query๋งŒ ๋Œ€ํ‘œํ•œ๋‹ค.

cuArms๋Š” 6๊ฐœ ์ค‘ 5๊ฐœ ์žฅ๋ฉด์—์„œ ๊ฐ€์žฅ ๋งŽ์€ query๋ฅผ ํ’€๊ณ , ์ฒซ ํ•ด๋ฅผ ์ค‘์•™๊ฐ’ 26~243 ms์— ์ฐพ๋Š”๋‹ค(๊ณตํ†ต์œผ๋กœ ํ‘ผ query์—์„œ xECBS๋ณด๋‹ค 3.5~57๋ฐฐ ๋น ๋ฆ„). ์ตœ์ข… ๋น„์šฉ์€ 2ยท4๋Œ€์—์„œ xECBS์˜ 1% ์ด๋‚ด, ๋‚˜๋จธ์ง€์—์„œ 6~13% ๋†’๋‹ค. ์—ด๋ฆฐ 2ยท4๋Œ€ ์žฅ๋ฉด์˜ ์‰ฌ์šด query์—์„œ๋Š” VAMP-MR์ด ๋” ๋น ๋ฅด๋‹ค(0.2~33 ms). ์ €์ž๋“ค์€ ์ด ๊ฒฝ์šฐ cuArms ์‹œ๊ฐ„์˜ ๋Œ€๋ถ€๋ถ„์ด startยทgoal์„ roadmap์— ์ž‡๋Š” query๋ณ„ ์ค€๋น„์ด๊ณ  ํƒ์ƒ‰์€ ์•ฝ 20%๋ฟ์ด๋ผ๊ณ  ์„ค๋ช…ํ•œ๋‹ค.

๊ฐ€์žฅ ์ค‘์š”ํ•œ ์Œ์„ฑ ๊ฒฐ๊ณผ๋Š” Shelves๋‹ค. 8๋Œ€๊ฐ€ ํ•œ ์„ ๋ฐ˜์œผ๋กœ ์†์„ ๋ป—๋Š” ์žฅ๋ฉด์—์„œ cuArms๋Š” 38%, xECBS๋Š” 84%๋‹ค. ์ €์ž๋“ค์˜ ์ง„๋‹จ์€ ์ •์งํ•˜๋‹ค. PIBT๋Š” ํ•œ ๋ฒˆ์— ํ•œ ๋กœ๋ด‡์„ ๋ฐ€์–ด๋‚ด๋ฉฐ ์ถฉ๋Œ์„ ํ‘ธ๋Š”๋ฐ, ํ•œ ํŒ”์„ ๋น„ํ‚ค๊ฒŒ ํ•˜๋ ค๋ฉด ๋‹ค๋ฅธ ์—ฌ๋Ÿฌ ํŒ”์„ ๋™์‹œ์— ๋น„์ผœ์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ณ , ํฐ ํŒ” 8๋Œ€๊ฐ€ ๊ฐ™์€ ๊ณต๊ฐ„์„ ๋‹คํˆฌ๋ฉด PIBT๊ฐ€ ์ด ์˜์กด์„ ์‰ฝ๊ฒŒ ํ’€์ง€ ๋ชปํ•œ๋‹ค. ์ด๊ฒƒ์€ cuArms์˜ ํƒ์ƒ‰ ์—”์ง„์ด ๊ฐ€์ง„ ๊ตฌ์กฐ์  ํ•œ๊ณ„๋‹ค. ์ง๊ด€ ์ ˆ์˜ โ€œ์งˆ๋ฌธ์„ ๋ฏธ๋ฆฌ ๊ณ„์‚ฐํ•œ๋‹คโ€๋Š” ์„ค๊ณ„๋Š” ์งˆ๋ฌธ์ด ์Œ ๋‹จ์œ„์ผ ๋•Œ ํšจ๊ณผ์ ์ด์ง€๋งŒ, ์…‹ ์ด์ƒ์ด ์–ฝํžŒ ์˜์กด์€ ํ‘œ ํ•œ ์žฅ์œผ๋กœ ํ’€๋ฆฌ์ง€ ์•Š๋Š”๋‹ค.

ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ โ€œShelves ยท 8 armsโ€ ํด๋ฆฝ(2.1 MB, ์› URL ์ฐธ์กฐ, 0.25๋ฐฐ์†). ํŽ˜์ด์ง€ ํ‘œ๊ธฐ๋กœ ์ฒซ ํ•ด 4.58 s, refinement ํฌํ•จ 11.10 s, ๋น„์šฉ 49.04 rad. ์„ฑ๊ณตํ•œ ํ•œ query๋‹ค.

C. ์–‘ํŒ” LEGO ์กฐ๋ฆฝ

APEX-MR์˜ LEGO ์กฐ๋ฆฝ 4๊ณผ์ œ(๋ฒฝ๋Œ 12~258๊ฐœ, Yaskawa GP4 2๋Œ€). APEX-MR์˜ ์กฐ๋ฆฝ ์ˆœ์„œยท์„ ํ›„ ์ œ์•ฝยทํ• ๋‹นยทskill ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ skeleton์œผ๋กœ ์“ด๋‹ค. ๋ฒ ์ด์Šค๋ผ์ธ VAMP-MR์€ APEX-MR planner๋ฅผ CPU ๋ฒกํ„ฐํ™” ์ถฉ๋Œ ๊ฒ€์‚ฌ๋กœ ๋Œ๋ฆฐ๋‹ค. ํ•œ ๋ฒˆ์— ํ•œ ํŒ”์„ ์†์œผ๋กœ ์„ค๊ณ„ํ•œ waypoint ์‚ฌ์ด์—์„œ RRT๋กœ ๊ณ„ํšํ•˜๊ณ (๋‹ค๋ฅธ ํŒ”์€ home์—์„œ ๋Œ€๊ธฐ), temporal plan graph(TPG)๋กœ ๋น„๋™๊ธฐํ™”ํ•œ ๋’ค shortcutํ•œ๋‹ค. ๋‘ ๋ฐฉ๋ฒ• ๋ชจ๋‘ ํ›„์ฒ˜๋ฆฌ ์‹œ๊ฐ„ 5 s(Big Chair 20 s)๋ฅผ ๋ฐ›๋Š”๋‹ค.

๊ณผ์ œ ๋ฒฝ๋Œ cuArms t_0 / J_0 / J_f VAMP-MR t_0 / J_0 / J_f
Cliff 12 1.30 / 207 / 144 1.37 / 273 / 145
Vessel 36 2.18 / 318 / 264 1.29 / 547 / 278
RSS 47 3.15 / 618 / 447 6.36 / 1007 / 514
Big Chair 258 13.6 / 1911 / 1756 3.36 / 3465 / 1789
๋ถ€๋ก Table VII ์˜ฎ๊น€(t_0 s, J = ์‹คํ–‰ makespan s, 3 seed ์ค‘์•™๊ฐ’).

LEGO ์กฐ๋ฆฝ makespan-๊ณ„ํš ์‹œ๊ฐ„(๋ถ€๋ก Fig. 11). VAMP-MR์€ ๋จผ์ € ์ˆœ์ฐจ ๊ณ„ํš์„ ์ฐพ๊ณ , TPG ๋น„๋™๊ธฐํ™”์™€ shortcut์œผ๋กœ ๋‚ด๋ ค์˜จ๋‹ค.

cuArms์˜ ์ฒซ ํ•ด๋Š” VAMP-MR์˜ ์ˆœ์ฐจ ๊ณ„ํš๋ณด๋‹ค 24~45% ์งง๊ณ , ์ตœ์ข… ํ•ด๋Š” 1~13% ์งง๋‹ค(ํ•„์ž ๊ฒ€์‚ฐ ์ผ์น˜). Big Chair์—์„œ๋Š” cuArms๊ฐ€ ์ฒซ ํ•ด์— 13.6 s๋กœ VAMP-MR(3.36 s)๋ณด๋‹ค ๋А๋ฆฌ์ง€๋งŒ, VAMP-MR์€ TPG ๊ตฌ์ถ•์— 25 s๊ฐ€ ๋” ๋“ ๋‹ค. ์—ฌ๊ธฐ์„œ ๋น„๊ต๊ฐ€ ๊ณต์ •ํ•œ์ง€ ๋ณผ ๋•Œ ๊ธฐ์–ตํ•  ์ ์ด ์žˆ๋‹ค. VAMP-MR์˜ ์ฒซ ํ•ด๋Š” ํ•œ ํŒ”์”ฉ ์›€์ง์ด๋Š” ์ˆœ์ฐจ ๊ณ„ํš์ด๋ผ J_0๊ฐ€ ํด ์ˆ˜๋ฐ–์— ์—†๋‹ค. ์ตœ์ข… ํ•ด์˜ 1~13% ์ฐจ์ด๊ฐ€ ๋‘ ์‹œ์Šคํ…œ์˜ ์‹ค์ œ ๊ฒฉ์ฐจ์— ๋” ๊ฐ€๊น๋‹ค. ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€๋Š” โ€œSix LEGO assembly tasksโ€๋กœ FishยทFaucet์„ ๋” ๋ณด์—ฌ ์ฃผ์ง€๋งŒ ๋ถ€๋ก ํ‘œ์—๋Š” 4๊ณผ์ œ๋งŒ ์žˆ๋‹ค.

D. ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๋ฅผ scheduler๋กœ

๋ถ€๋ก์—์„œ ๊ฐ€์žฅ ํฅ๋ฏธ๋กœ์šด ์ ˆ์ด๋‹ค. ์†์œผ๋กœ ์ง  scheduler(์šฉ์ ‘์€ Hungarian, tabletop์€ ScheduleStream) ๋Œ€์‹  ์ฝ”๋”ฉ ์—์ด์ „ํŠธ(Claude Opus 5.5, GPT-6 Astra)๊ฐ€ cuArms์˜ Python API๋ฅผ ๋„๊ตฌ๋กœ ์จ์„œ skillยทskeletonยท๋น„์šฉ์„ ์ง์ ‘ ์ž‘์„ฑํ•œ๋‹ค. ์„ธ์…˜์€ 20๋ถ„, ์ƒˆ Docker ์ปจํ…Œ์ด๋„ˆ, ๋ชจ๋ธ API ์™ธ ๋„คํŠธ์›Œํฌ ์ฐจ๋‹จ, API๋Š” ์ฝ๊ธฐ ์ „์šฉ์ด๋‹ค. ์ตœ์ข… ๊ณ„ํš์€ ์ปจํ…Œ์ด๋„ˆ ๋ฐ–์˜ ์‹ ๋ขฐ๋œ validator๊ฐ€ ๋”ฐ๋กœ ์ฑ„์ ํ•œ๋‹ค. validator๋Š” 0.02 rad ๊ฐ„๊ฒฉ ์žฌ์ƒ, ๊ด€์ ˆ ์œ„์น˜ยท์†๋„ ํ•œ๊ณ„, sphere ๋ชจ๋ธ ์ถฉ๋Œ(6 mm ์นจํˆฌ ํ—ˆ์šฉ), grasp 5 mmยท0.05 rad, ์šฉ์ ‘ 2.5 cmยท15ยฐ ๋“ฑ์„ ๊ฒ€์‚ฌํ•œ๋‹ค.

๊ณผ์ œ ์†์œผ๋กœ ์ง  scheduler + cuArms ์„ฑ๊ณต / t_0 / J Opus+ ์„ฑ๊ณต / t_0 / J Astra+ ์„ฑ๊ณต / t_0 / J
RoboBallet 4ร—10 10/10 / 0.29 / 5.69 10/10 / 163 / 6.30 10/10 / 144 / 4.45
RoboBallet 4ร—40 10/10 / 0.49 / 18.1 10/10 / 341 / 18.9 10/10 / 169 / 15.2
RoboBallet 8ร—40 10/10 / 0.85 / 15.6 9/10 / 651 / 13.9 10/10 / 327 / 12.1
Stack (2~4) 30/30 / 0.85 / 7.01 30/30 / 279 / 4.06 30/30 / 118 / 3.48
Pack (2~8) 38/50 / 5.17 / 7.96 50/50 / 237 / 5.49 50/50 / 110 / 2.99
Unpack (2~8) 48/50 / 4.89 / 9.43 49/50 / 311 / 5.67 50/50 / 127 / 3.27
๋ถ€๋ก Table VIII ์˜ฎ๊น€. t_0๋Š” ์ฒซ validated ๊ณ„ํš๊นŒ์ง€ ์‹œ๊ฐ„(s), J๋Š” ์„ธ ๋ฐฉ๋ฒ•์ด ๋ชจ๋‘ ํ‘ผ instance์˜ makespan ์ค‘์•™๊ฐ’(s).

์—์ด์ „ํŠธ์˜ anytime ๊ฑฐ๋™(๋ถ€๋ก Fig. 13). ์†์œผ๋กœ ์ง  scheduler ๋Œ€๋น„ ์ตœ๊ณ  validated makespan ๋น„์œจ์˜ ์ค‘์•™๊ฐ’์„ ์„ธ์…˜ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๊ทธ๋ ธ๋‹ค. Tabletop์—์„œ Astra๋Š” ์•ฝ 0.4๊นŒ์ง€ ๋‚ด๋ ค๊ฐ„๋‹ค.

์—์ด์ „ํŠธ ์ชฝ ๊ฒฐ๊ณผ๋Š” ๋ณธ๋ฌธ ์ฃผ์žฅ์„ ์ƒˆ๋กœ ์ฝ๊ฒŒ ๋งŒ๋“ ๋‹ค. tabletop์—์„œ Opus+๋Š” ์†์œผ๋กœ ์ง  scheduler makespan์˜ 0.51~0.79๋ฐฐ, Astra+๋Š” 0.32~0.61๋ฐฐ๋‹ค(๋ณธ๋ฌธ ์„œ์ˆ ). ์—์ด์ „ํŠธ๋Š” ์ฃผ๋กœ ๋ฐฐ์น˜ยท์ ‘๊ทผ ๋†’์ดยทgrasp ๊ฐ๋„๋ฅผ ํ›‘์–ด skill ์ž์ฒด๋ฅผ ์งง๊ฒŒ ๋งŒ๋“ ๋‹ค(Table IX: ์ ‘๊ทผ ๋†’์ด sweep์ด Astra ์„ธ์…˜์˜ 98%, grasp ๊ฐ๋„ sweep์ด 95%). RoboBallet์—์„œ๋Š” ํ—ˆ์šฉ์น˜ ์•ˆ์—์„œ ์šฉ์ ‘ ์ž์„ธ๋ฅผ ๋‹ค์‹œ ์žก๊ณ  ํ• ๋‹น์„ ์žฌ๋ฐฐ๋ถ„ํ•œ๋‹ค. ๋น„์šฉ์€ ๋ถ„ ๋‹จ์œ„ ์„ธ์…˜๊ณผ API ์‚ฌ์šฉ์ด๋‹ค. Astra๋Š” ์„ธ์…˜์˜ 80%(15.9๋ถ„), ๋ช…๋ น 68๊ฐœ๋ฅผ ์“ฐ๊ณ , Opus๋Š” 47%(9.3๋ถ„), ๋ช…๋ น 11๊ฐœ๋ฅผ ์“ด๋‹ค. ์ €์ž๋“ค์€ ์†์œผ๋กœ ์ง  baseline์ด โ€œcompute-matched๊ฐ€ ์•„๋‹ˆ๋‹คโ€(์•ฝ 1๋ถ„ ๋Œ€ ์ตœ๋Œ€ 20๋ถ„)๋ผ๊ณ  ๋ช…์‹œํ•œ๋‹ค. ๋˜ ๊ณ„ํš์„ ๊ฐ€์†ยท์ €ํฌ ํ•œ๊ณ„์— ๋งž๊ฒŒ ๋Šฆ์ถ˜ executable makespan์€ ์› makespan์˜ 1.49๋ฐฐ(Astra), 1.66๋ฐฐ(Opus), 1.62๋ฐฐ(์†์œผ๋กœ ์ง  skeleton)์—ฌ์„œ, ์—์ด์ „ํŠธ์˜ ์งง์€ ๊ณ„ํš์ด ๋” ๊ฑฐ์นœ motion์—์„œ ๋‚˜์˜จ ๊ฒƒ์€ ์•„๋‹ˆ๋ผ๊ณ  ํ•œ๋‹ค.

ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ โ€œHuman intentโ€ ํด๋ฆฝ(0.6 / 0.7 MB, ์› URL ์ฐธ์กฐ). ๊ฐ™์€ handover ๊ณผ์ œ๋ฅผ Astra+cuArms์— โ€œ์†๋„๋งŒโ€(์™ผ์ชฝ)๊ณผ โ€œ์†๋„์™€ ๋ถ€๋“œ๋Ÿฌ์›€์˜ ๊ท ํ˜•โ€(์˜ค๋ฅธ์ชฝ) ์ž์—ฐ์–ด ์„ ํ˜ธ๋กœ ๋งก๊ธด ๊ฒฐ๊ณผ. ํŽ˜์ด์ง€ ํ‘œ์— ๋”ฐ๋ฅด๋ฉด ์ตœ๊ณ  ๊ด€์ ˆ ์†๋„ 2.8โ†’1.7 rad/s, ๋„๊ตฌ ๊ฒฝ๋กœ/์ง์„  ๋น„์œจ 1.38โ†’1.00. ์ด ์‹คํ—˜์€ ๋ถ€๋ก PDF์— ์—†๊ณ  ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€์—๋งŒ ์žˆ๋‹ค.

E. ์ฝ”๋”ฉ ์—์ด์ „ํŠธ์™€ ํ•จ๊ป˜ํ•œ ์‹ค๊ธฐ tabletop

Kinova Gen3 2๋Œ€(์‚ฌ๋žŒ ๊ฐ™์€ ๋ฐฐ์น˜, ๋ฐ”๊นฅ์„ ํ–ฅํ•จ)์™€ ๋จธ๋ฆฌ ์œ„์น˜์˜ ZED Mini. ์—์ด์ „ํŠธ๊ฐ€ SAM 3๋กœ ๋ธ”๋ก์„ ๋ถ„ํ• ํ•˜๊ณ  ์•Œ๋ ค์ง„ ์ƒ์ž ๋ชจ์–‘์„ ๋งˆ์Šคํฌ์— ๋งž์ถฐ ํฌ์ฆˆ(xyยทyaw)๋ฅผ ์ถ”์ •ํ•œ ๋’ค, ๋ถ€๋ก D ์ ˆ์ฐจ๋Œ€๋กœ ํ• ๋‹นยทgraspยท๋ฐฐ์น˜ยท์ˆœ์„œ๋ฅผ ์ •ํ•˜๊ณ  cuArms๋กœ ๊ณ„ํšํ•œ๋‹ค. ๋กœ๋ด‡ ํ˜•์ƒ, ์นด๋ฉ”๋ผ ํฌ์ฆˆ, ํ…Œ์ด๋ธ” ๋†’์ด, ๋ฌผ์ฒด ๋ชจ์–‘์€ ์•Œ๋ ค์กŒ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค. ๊ถค์ ์€ ์‚ฌ๋žŒ์ด ์‹œ๊ฐํ™”ํ•ด ๊ฒ€ํ† ํ•œ ๋’ค ์‹คํ–‰ํ•˜๊ณ , ํŒ”๋งˆ๋‹ค TOPP-RA๋กœ retimingํ•ด TPG๋กœ ๋™๊ธฐํ™”ํ•œ๋‹ค.


์ฝ”๋”ฉ ์—์ด์ „ํŠธ + cuArms ์‹ค๊ธฐ tabletop(๋ถ€๋ก Fig. 14). ์™ผ์ชฝ ์„ธ ์žฅ (a) Pack: ๋‘ ํŒ”์ด ์ƒ‰ ๋ธ”๋ก์„ ๋งคํŠธ์— ๋†“๋Š”๋‹ค. ์˜ค๋ฅธ์ชฝ ์„ธ ์žฅ (b) Stack: ๋‘ ํŒ”์ด ๋ธ”๋ก์„ ํƒ‘์œผ๋กœ ์Œ“๋Š”๋‹ค.

์ด ์ ˆ๋„ ์‹œํ–‰ ์ˆ˜์™€ ์„ฑ๊ณต๋ฅ ์ด ์—†๋‹ค.

๋น„ํŒ์ ์œผ๋กœ ๋ณด๋ฉด

๊ฐ•์ 

  • โ€œ๋ฌด์—‡์„ GPU๋กœ ๋ณด๋‚ผ์ง€โ€๋ฅผ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ•จ๊ป˜ ์„ค๊ณ„ํ–ˆ๋‹ค. PIBT์˜ ์žฌ๊ท€ ์ œ์–ด๋Š” CPU์— ๋‘๊ณ , ๊ทธ ์žฌ๊ท€๊ฐ€ ๋ฌผ์„ ์งˆ๋ฌธ(ํ›„๋ณด ์Œ ์ถฉ๋Œ)์„ ๋ฏธ๋ฆฌ GPU ๋ฐฐ์น˜๋กœ ๋‹ตํ•ด ๋‘๋Š” ๋ถ„๋ฆฌ๋Š” ๊ฐ„๋‹จํ•˜์ง€๋งŒ ์ด์‹์„ฑ์ด ๋†’๋‹ค. Table III์—์„œ LaCAM๊ณผ PIBT๊ฐ€ ๋‹จ๊ณ„ ํ•ฉ์˜ 4% ๋ฏธ๋งŒ์ด๋ผ๋Š” ๊ฒƒ์ด ์ด ๋ถ„๋ฆฌ๊ฐ€ ์‹ค์ œ๋กœ ์ž‘๋™ํ•œ๋‹ค๋Š” ์ฆ๊ฑฐ๋‹ค. mode-validity mask๋กœ roadmap์„ mode ๊ฐ„์— ์žฌ์‚ฌ์šฉํ•˜๋Š” ์„ค๊ณ„๋„ ๊ฐ™์€ ์›์น™์˜ ์ผ๊ด€๋œ ์ ์šฉ์ด๋‹ค.
  • MAPF์˜ lazy ํƒ์ƒ‰์„ hybrid manipulation์œผ๋กœ ๋„“ํ˜”๋‹ค. ํƒ์ƒ‰ ๋…ธ๋“œ์— symbolic ํ–‰๋™ ๋‹จ๊ณ„๋ฅผ ๋„ฃ๊ณ , skill์„ roadmap์˜ ํŠน์ˆ˜ edge๋กœ ๋งŒ๋“ค๊ณ , ์–‘ํŒ” skill์„ PIBTยทLaCAM ์–‘์ชฝ์—์„œ ํ•จ๊ป˜ commitํ•˜๋Š” ํ™•์žฅ์€ handoverยท์šด๋ฐ˜ ๊ฐ™์€ ํ˜‘์‘ skill์„ ๊ฐ™์€ ํƒ์ƒ‰ ์•ˆ์—์„œ ๋‹ค๋ฃจ๊ฒŒ ํ•œ๋‹ค. Fig. 4์ฒ˜๋Ÿผ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋’ค์ง‘ํžˆ๋ฉฐ ์–‘๋ณด ์ˆœ์„œ๊ฐ€ ํƒ์ƒ‰ ์ค‘์— ์ƒ๊ธฐ๋Š” ๊ฒƒ์€ ๋…๋ฆฝ ๊ณ„ํš + retiming์ด๋‚˜ ์ˆœ์ฐจ ๊ณ„ํš์œผ๋กœ๋Š” ์–ป๊ธฐ ์–ด๋ ต๋‹ค.
  • ์ž๊ธฐ ๋ฐฉ๋ฒ•์— ๋ถˆ๋ฆฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ˆจ๊ธฐ์ง€ ์•Š๋Š”๋‹ค. Hold์—์„œ ์ฒซ makespan์ด ScheduleStream๋ณด๋‹ค ๊ธธ๊ณ , xECBS Shelves์—์„œ 38% ๋Œ€ 84%๋กœ ์ง€๊ณ , MRMG์—์„œ prioritized์˜ ์ฒซ ํ•ด ๋น„์šฉ์ด ๋” ๋‚ฎ๊ณ , LEGO Big Chair์—์„œ ์ฒซ ํ•ด๊ฐ€ VAMP-MR๋ณด๋‹ค ๋А๋ฆฌ๋‹ค๋Š” ๊ฒƒ์„ ๋ชจ๋‘ ํ‘œ์™€ ๋ณธ๋ฌธ์— ์ ๋Š”๋‹ค. Shelves ์‹คํŒจ์˜ ์›์ธ(PIBT์˜ ํ•œ ๋ฒˆ์— ํ•œ ๋กœ๋ด‡ ๋ฐ€์–ด๋‚ด๊ธฐ)๋„ ์Šค์Šค๋กœ ์ง„๋‹จํ•œ๋‹ค.
  • ๋ถ€๋ก์˜ ๋น„๊ต ๋ฒ”์œ„๊ฐ€ ๋„“๋‹ค. ๊ฐ™์€ ๊ณ„์—ด planner๋“ค(xECBSยทECBSยทprioritizedยทAIT*ยทVAMP-MR)๊ณผ ๋„ค ๋ฒค์น˜๋งˆํฌ์—์„œ ์› ๋ฒค์น˜๋งˆํฌ์˜ ๋น„์šฉ ์ •์˜๋ฅผ ๊ทธ๋Œ€๋กœ ์จ์„œ ๋น„๊ตํ•œ๋‹ค. ์ฝ”๋”ฉ ์—์ด์ „ํŠธ ์‹คํ—˜๋„ ์‹ ๋ขฐ๋œ ์™ธ๋ถ€ validator, ๋„คํŠธ์›Œํฌ ์ฐจ๋‹จ, compute-matched๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ๋‹จ์„œ๊นŒ์ง€ ๊ฐ–์ถฐ ์‹ ์ค‘ํ•˜๊ฒŒ ์„ค๊ณ„๋๋‹ค.
  • anytime ๊ณก์„ ์„ ๋ณด๊ณ ํ•œ๋‹ค. ์ฒซ ํ•ด์™€ ์ตœ์ข… ํ•ด๋งŒ์ด ์•„๋‹ˆ๋ผ ์ถ”๊ฐ€ ์‹œ๊ฐ„์— ๋”ฐ๋ฅธ makespan ๊ณก์„ (Fig. 5ยท6ยท9ยท10ยท11)์„ IQR๊ณผ ํ•จ๊ป˜ ๋ณด์—ฌ ์ค˜, ๊ณ„์‚ฐ ์˜ˆ์‚ฐ์— ๋”ฐ๋ฅธ ํ’ˆ์งˆ ๊ฑฐ๋ž˜๋ฅผ ๋…์ž๊ฐ€ ์ง์ ‘ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.

์•ฝ์ ยทํ•œ๊ณ„

  • ํ•ต์‹ฌ ์„ค๊ณ„ ์š”์†Œ์˜ ablation์ด ์—†๋‹ค. ์ด ๋…ผ๋ฌธ์˜ ์ฃผ์žฅ์€ โ€œ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„ํ•ด + GPU ๋ฐฐ์น˜์˜ ๊ณต๋™ ์„ค๊ณ„โ€์ธ๋ฐ, ์–ด๋А ์ชฝ์ด ์–ผ๋งˆ๋‚˜ ๊ธฐ์—ฌํ•˜๋Š”์ง€ ๋ถ„๋ฆฌํ•œ ์‹คํ—˜์ด ์—†๋‹ค. GPU conflict table ๋Œ€ ์žฌ๊ท€ ์ค‘ ์ถฉ๋Œ ๊ฒ€์‚ฌ(CPU ๋˜๋Š” GPU), mode mask ์žฌ์‚ฌ์šฉ ๋Œ€ roadmap ์žฌ๊ตฌ์ถ•, conflict-based ํƒ์ƒ‰ ๋Œ€ prioritized ๊ณ„ํš์„ ๊ฐ™์€ ๊ตฌํ˜„์—์„œ ๋ฐ”๊ฟ” ๋ณธ ๊ฒฐ๊ณผ๊ฐ€ ์—†๋‹ค. Fig. 5์˜ โ€œ์•ฝ 47% ๊ฐ์†Œโ€๋„ shortcut๊ณผ ๋Œ€์ฒด skeleton ํƒ์ƒ‰ ๋‘ ๊ฐ€์ง€๋ฅผ ํ•ฉ์นœ ๊ฐ’์ด๋ผ ๊ฐ๊ฐ์˜ ๊ธฐ์—ฌ๋ฅผ ์•Œ ์ˆ˜ ์—†๋‹ค. ์ €์ž๋“ค์ด Table III์œผ๋กœ โ€œGPU๊ฐ€ ์ถฉ๋Œ ๊ฒ€์‚ฌ ๋ณ‘๋ชฉ์„ 18.1~24.7%๋กœ ์ค„์˜€๋‹คโ€๊ณ  ์“ฐ์ง€๋งŒ, ์ค„์ด๊ธฐ ์ „์˜ ๊ฐ’(CPU ๊ธฐ์ค€์„ )์ด ์—†์œผ๋ฏ€๋กœ ์ด ๋ฌธ์žฅ์€ ์ธก์ •๋œ ๊ฐ์†Œ๊ฐ€ ์•„๋‹ˆ๋ผ ํ˜„์žฌ ๋น„์ค‘์˜ ๋ณด๊ณ ๋‹ค.
  • arXiv ๋ณธ๋ฌธ๋งŒ ๋ณด๋ฉด ๊ฐ™์€ ๊ณ„์—ด planner์™€์˜ ๋น„๊ต๊ฐ€ ์—†๋‹ค. Table I์ด ๋‚˜์—ดํ•œ xECBSยทHartmannยทAPEX-MRยทVAMP-MR๊ณผ์˜ ๋น„๊ต๋Š” ๋ชจ๋‘ ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ ๋ถ€๋ก์— ์žˆ๋‹ค. ๋ณธ๋ฌธ ์‹คํ—˜์˜ ๋ฒ ์ด์Šค๋ผ์ธ์€ RL ํ•˜๋‚˜์™€ ScheduleStream ํ•˜๋‚˜์ด๊ณ , ScheduleStream์€ ๊ณต์ €์ž๋“ค์˜ ์ด์ „ ์‹œ์Šคํ…œ์ด๋ฉฐ cuArms๋„ ๊ทธ symbolic planner๋ฅผ ๊ทธ๋Œ€๋กœ ์“ด๋‹ค. ๋ถ€๋ก ๋น„๊ต๋Š” ๊ฐ•์ ์ด์ง€๋งŒ, ๊ทธ์ค‘ MRMGยทxECBS๋Š” ๋‹ค๋ฅธ ํ•˜๋“œ์›จ์–ด์—์„œ ๋ฐœํ‘œ๋œ ์ˆ˜์น˜(xECBS๋Š” ๋…ธํŠธ๋ถ๊ธ‰ i9-12900H)์™€ RTX Pro 6000 GPU ๊ฒฐ๊ณผ๋ฅผ ๋น„๊ตํ•œ๋‹ค. โ€œ๋ช‡ ๋ฐฐ ๋น ๋ฅด๋‹คโ€๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฐจ์ด์™€ ํ•˜๋“œ์›จ์–ด ์ฐจ์ด๊ฐ€ ์„ž์ธ ๊ฐ’์ด๋‹ค.
  • โ€œ์‹ค์‹œ๊ฐ„โ€๊ณผ โ€œdomain-agnosticโ€์˜ ๋ฒ”์œ„. ์ฒซ ํ•ด 1์ดˆ ์•ˆํŒŽ์€ skeleton์ด ์ฃผ์–ด์ง„ ๋’ค์˜ cuArms ๋‹จ๊ณ„๋‹ค. Fig. 7์—์„œ ๋ฌผ์ฒด 8๊ฐœ TAMP๋Š” ์ฒซ ํ•ด์— 40~50 s๊ฐ€ ๊ฑธ๋ฆฌ๊ณ , ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ ๊ธฐ์ค€ ๊ทธ ๋Œ€๋ถ€๋ถ„์ด scheduler ์‹œ๊ฐ„์ด๋‹ค. โ€œdomain-agnosticโ€๋„ planner์— ๋Œ€ํ•ด์„œ๋Š” ๋งž์ง€๋งŒ ์‹œ์Šคํ…œ ์ „์ฒด๋กœ๋Š” ๋„๋ฉ”์ธ์ด sampler์™€ scheduler๋ฅผ ๊ณต๊ธ‰ํ•ด์•ผ ํ•œ๋‹ค(Fig. 2 ์บก์…˜, ์šฉ์ ‘์€ ์ „์šฉ Hungarian scheduler). ๋ถ€๋ก D๊ฐ€ ์Šค์Šค๋กœ โ€œdomain-agnostic temporal planner๋„ ์ „๋ฌธ๊ฐ€๊ฐ€ ์“ด ๋„๋ฉ”์ธ ๊ธฐ์ˆ ์— ์˜์กดํ•œ๋‹คโ€๊ณ  ์ ๋Š”๋‹ค.
  • ๊ฒฐ๊ณผ์˜ ์ƒ๋‹น ๋ถ€๋ถ„์ด scheduler์— ๋ฌถ์—ฌ ์žˆ๋‹ค. ๋ถ€๋ก D์—์„œ ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๊ฐ€ ๊ฐ™์€ cuArms ์œ„์—์„œ tabletop makespan์„ 0.32~0.61๋ฐฐ(Astra)๊นŒ์ง€ ์ค„์ธ๋‹ค. ์†์œผ๋กœ ์ง  scheduler์™€ cuArms ์กฐํ•ฉ์ด ๋‚จ๊ธด ์—ฌ์ง€๊ฐ€ ๊ทธ๋งŒํผ ํฌ๋‹ค๋Š” ๋œป์ด๋‹ค. ๊ฐ™์€ ํ‘œ์—์„œ ์†์œผ๋กœ ์ง  scheduler + cuArms๋Š” Pack 2~8๊ฐœ์—์„œ 38/50, Unpack์—์„œ 48/50๋งŒ ํ‘ผ๋‹ค. ๋ณธ๋ฌธ์˜ โ€œcuArms also solves all instancesโ€๋Š” ๋ฌผ์ฒด 2~4๊ฐœ(Table IV)์— ๋Œ€ํ•œ ๋ง์ด๊ณ , 6~8๊ฐœ์—์„œ๋Š” ์‹คํŒจ๊ฐ€ ์žˆ๋‹ค(๋ถ€๋ก์€ ๋‹ค๋ฅธ instance ์ง‘ํ•ฉ๊ณผ skeleton 16๊ฐœ ํƒ์ƒ‰ ์„ค์ •์ด๋ผ ์ง์ ‘ ๋น„๊ต๋Š” ์•„๋‹ˆ๋‹ค).
  • makespan์˜ ์˜๋ฏธ๊ฐ€ ์‹คํ–‰ ์‹œ๊ฐ„๊ณผ ๋‹ค๋ฅด๋‹ค. ๋ถ€๋ก C๋Š” โ€œ๊ฐ motion์ด ๊ด€์ ˆ ์†๋„ ํ•œ๊ณ„๋กœ ๋‹ฌ๋ฆฐ๋‹คโ€๊ณ  ์ •์˜ํ•˜๊ณ , ๋ถ€๋ก D๋Š” ๊ฐ€์†(15 rad/sยฒ)ยท์ €ํฌ(500 rad/sยณ) ํ•œ๊ณ„์— ๋งž๊ฒŒ ๋Šฆ์ถ˜ executable makespan์ด ์› makespan์˜ 1.49~1.66๋ฐฐ๋ผ๊ณ  ๋ณด๊ณ ํ•œ๋‹ค. ๋ณธ๋ฌธ์˜ makespan ๋น„๊ต(ํŠนํžˆ 100 ms ๊ด€์ ˆ ์†๋„ ๋ช…๋ น์„ ๋‚ด๋Š” RoboBallet RL๊ณผ์˜ ๋น„๊ต)๊ฐ€ ๊ฐ™์€ ๋™์—ญํ•™ ๊ฐ€์ • ์œ„์— ์žˆ๋Š”์ง€๋Š” ์ ํ˜€ ์žˆ์ง€ ์•Š๋‹ค. ๋˜ Fig. 6 ์บก์…˜๋Œ€๋กœ cuArms๊ฐ€ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์€ ๊ฐ€์ค‘ J์ธ๋ฐ ๋ณด๊ณ ๋˜๋Š” ๊ฒƒ์€ makespan์ด๊ณ , ๊ฐ€์ค‘์น˜๋Š” ๋ณธ๋ฌธ์— ์—†๋‹ค.
  • RL ๋ฒ ์ด์Šค๋ผ์ธ์˜ ์กฐ๊ฑด. ์œ„ RoboBallet ๋Œ€์กฐ์—์„œ ๋ณธ ๊ฒƒ์ฒ˜๋Ÿผ, ์„ฑ๊ณต๋ฅ  ์ง€ํ‘œ๋Š” ์› ๋…ผ๋ฌธ์˜ ํƒœ์Šคํฌ ๋‹จ์œ„ ํ•ด๊ฒฐ๋ฅ ๊ณผ ๋‹ค๋ฅธ ์—ํ”ผ์†Œ๋“œ ๋‹จ์œ„ ์™„์ˆ˜์œจ์ด๋‹ค. ์žฌํ•™์Šต ์‹œ๊ฐ„(์•ฝ 44~61์‹œ๊ฐ„)์€ ์› ๋…ผ๋ฌธ์ด ๋งํ•œ ํ’ˆ์งˆ ๊ฐœ์„  ๊ตฌ๊ฐ„์˜ ์•ž์ชฝ ๋์ด๊ณ  ํ•™์Šต ๊ณก์„ ์ด ์—†๋‹ค. 8ํŒ” RL ์ˆ˜์น˜๊ฐ€ ์—†๊ณ , 10ํƒ€๊นƒ RL์ด 40ํƒ€๊นƒ๋ณด๋‹ค ๋‚ฎ์€ ์—ญ์ „๋„ ์„ค๋ช…์ด ์—†๋‹ค. RL์ด ์•ฝํ•˜๊ฒŒ ๋‚˜์™”์„ ๊ฐ€๋Šฅ์„ฑ์„ ๋ฐฐ์ œํ•  ๊ทผ๊ฑฐ๊ฐ€ ๋ถ€์กฑํ•˜๋‹ค.
  • ์™„์ „์„ฑยท์•ˆ์ „์„ฑ์€ ๋ชจ๋ธ์— ์ƒ๋Œ€์ ์ด๋‹ค. ๋…ผ๋ฌธ์€ RoboBallet์ด โ€œcompleteness๋‚˜ formal safety guarantee๊ฐ€ ์—†๋‹คโ€๊ณ  ๋Œ€๋น„ํ•˜์ง€๋งŒ, cuArms ์ž์‹ ์˜ ๋ณด์žฅ์€ ์ •๋ฆฌ๋กœ ์ œ์‹œํ•˜์ง€ ์•Š๋Š”๋‹ค. ํƒ์ƒ‰์€ ์œ ํ•œ roadmap ์œ„์—์„œ ๋Œ๊ณ , ์ถฉ๋Œ์€ sphere ๊ทผ์‚ฌ์™€ discrete ๊ฐ„๊ฒฉ ๊ฒ€์‚ฌ๋กœ ํŒ์ •ํ•œ๋‹ค(validator ๊ธฐ์ค€ 6 mm ์นจํˆฌ ํ—ˆ์šฉ). ์‚ฐ์—… ์‘์šฉ์„ ๋งํ•˜๋Š” ๋…ผ๋ฌธ์ด๋ผ๋ฉด ์ด ์ƒ๋Œ€์„ฑ์„ ๋ช…์‹œํ•˜๋Š” ํŽธ์ด ์ •ํ™•ํ•˜๋‹ค.
  • PIBT์˜ ๊ตฌ์กฐ์  ํ•œ๊ณ„. Shelves 38%๋Š” ์šฐ์—ฐ์ด ์•„๋‹ˆ๋ผ ํƒ์ƒ‰ ์—”์ง„์˜ ์„ฑ์งˆ์—์„œ ๋‚˜์˜จ๋‹ค. ํ•œ ํŒ”์„ ์›€์ง์ด๋ ค๋ฉด ์—ฌ๋Ÿฌ ํŒ”์ด ๋™์‹œ์— ๋น„์ผœ์•ผ ํ•˜๋Š” ๋ฐ€์ง‘ ์ƒํ™ฉ์—์„œ PIBT๋Š” ์•ฝํ•˜๊ณ , ์Œ ๋‹จ์œ„ conflict table์€ ์ด ๋‹ค์ž ์˜์กด์„ ์ง์ ‘ ํ‘œํ˜„ํ•˜์ง€ ๋ชปํ•œ๋‹ค. 8ํŒ” ์šฉ์ ‘์—์„œ ํŒ”์„ ๋‘ ๋ฐฐ๋กœ ๋Š˜๋ ค๋„ ์ตœ์ข… makespan์ด 10.2%๋งŒ ์ค€ ๊ฒƒ๋„ ๊ฐ™์€ ๋ฐ€์ง‘ ํšจ๊ณผ์˜ ๋‹ค๋ฅธ ์–ผ๊ตด์ผ ์ˆ˜ ์žˆ๋‹ค(ํ•„์ž ํ•ด์„).
  • ์žฌํ˜„ ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•˜๋‹ค. roadmap ํฌ๊ธฐ, edge ๊ฐ„๊ฒฉ, ํ›„๋ณด ์ˆ˜, shortcut ๋ฐฐ์น˜ ํฌ๊ธฐ, ๋น„์šฉ ๊ฐ€์ค‘์น˜๊ฐ€ ๋ณธ๋ฌธ์— ์—†๊ณ  ์ฝ”๋“œ๋„ ๊ณต๊ฐœ๋˜์ง€ ์•Š์•˜๋‹ค(์•„๋ž˜ ์ ˆ). ์‹ค๊ธฐ ์‹คํ—˜(๋ณธ๋ฌธ Flexiv, ๋ถ€๋ก Kinova)์€ ์‹œํ–‰ ์ˆ˜ยท์„ฑ๊ณต๋ฅ ์ด ์—†๊ณ , ๋ถ€๋ก E๋Š” ์‚ฌ๋žŒ์ด ์‹คํ–‰ ์ „์— ๊ถค์ ์„ ๊ฒ€ํ† ํ•œ๋‹ค.

์ฝ”๋“œ ๊ณต๊ฐœ ๋ฒ”์œ„

2026-10-29 ํ™•์ธ ์‹œ์ ์— planner ์ฝ”๋“œ๋Š” ๊ณต๊ฐœ๋˜์ง€ ์•Š์•˜๋‹ค. ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€์—๋Š” Paper(PDF)์™€ Appendix(PDF) ๋งํฌ๋งŒ ์žˆ๊ณ  Code ๋งํฌ๋Š” ์—†๋‹ค. ํŽ˜์ด์ง€ ํ•˜๋‹จ์€ โ€œAnonymous research project ยท Under double-blind reviewโ€๋กœ ํ‘œ๊ธฐ๋œ๋‹ค. GitHub์—์„œ cuarms๋กœ ๊ฒ€์ƒ‰๋˜๋Š” ์ €์žฅ์†Œ๋Š” ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ ์ž์ฒด(cuArms/cuArms.github.io, ์„ค๋ช… โ€œAnonymous submission to ICRA 2026โ€)์™€ ๋ฌด๊ด€ํ•œ ๋™๋ช… ์ €์žฅ์†Œ ํ•˜๋‚˜๋ฟ์ด๋‹ค. ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ ์ €์žฅ์†Œ์˜ ํŠธ๋ฆฌ ํ•ญ๋ชฉ 188๊ฐœ๋Š” ์˜์ƒยทํฌ์Šคํ„ฐยทPDF์™€ ์‚ฌ์ดํŠธ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ(scripts/build.py, ๋ฏธ๋””์–ด ๋ณต์‚ฌ์šฉ)์ด๊ณ  planner ์†Œ์Šค๋Š” ์—†๋‹ค. NVlabsยทnvidia-isaac ์กฐ์ง์—์„œ ๊ฐ™์€ ์ด๋ฆ„์˜ ์ €์žฅ์†Œ๋„ ์ฐพ์ง€ ๋ชปํ–ˆ๋‹ค. ๋ถ€๋ก DยทE์— Python API(Scene, Action, Skeleton, Cost, Planner)์˜ ํ˜•ํƒœ๊ฐ€ ์†Œ๊ฐœ๋˜์ง€๋งŒ ํŒจํ‚ค์ง€๋Š” ๊ณต๊ฐœ๋˜์ง€ ์•Š์•˜๋‹ค. ๋”ฐ๋ผ์„œ ์ด ๋ฆฌ๋ทฐ์˜ ๋ชจ๋“  ์ˆ˜์น˜๋Š” ๋…ผ๋ฌธ๊ณผ ๋ถ€๋ก์ด ๋ณด๊ณ ํ•œ ๊ฐ’์ด๋ฉฐ, ์ฝ”๋“œ ๋Œ€์กฐ๋‚˜ ์‹คํ–‰ ํ™•์ธ์€ ํ•˜์ง€ ์•Š์•˜๋‹ค.

๊ด€๋ จ ์—ฐ๊ตฌ์™€์˜ ์ž๋ฆฌ ๋งค๊น€

RoboBallet๊ณผ์˜ ๊ด€๊ณ„: ํ•™์Šต ๋Œ€ ํƒ์ƒ‰. RoboBallet ๋ฆฌ๋ทฐ์—์„œ ๋ณธ ๊ฒƒ์ฒ˜๋Ÿผ RoboBallet์€ ํ• ๋‹นยท์Šค์ผ€์ค„ยทmotion์„ ํ•™์Šต๋œ GNN ์ •์ฑ… ํ•˜๋‚˜๋กœ ํ‘ธ๋Š” ์ชฝ์— ๊ฑธ์—ˆ๋‹ค. ์กฐํ•ฉ ํญ๋ฐœ์„ ๊ทธ๋ž˜ํ”„ ํ‘œํ˜„๊ณผ ์˜คํ”„๋ผ์ธ ํ•™์Šต์œผ๋กœ ํก์ˆ˜ํ•˜๊ณ , ์ถ”๋ก ์€ ์Šคํ…๋‹น 1 ms ๋ฏธ๋งŒ์ด๋‹ค. cuArms๋Š” ์ •๋ฐ˜๋Œ€ ์ชฝ์—์„œ ๊ฐ™์€ ๋ฒค์น˜๋งˆํฌ๋ฅผ ํ‘ผ๋‹ค. ํ•™์Šต ์—†์ด ํƒ์ƒ‰์œผ๋กœ, ๋Œ€์‹  ํƒ์ƒ‰์ด ์š”๊ตฌํ•˜๋Š” ๊ธฐํ•˜๋ฅผ GPU๋กœ ๋ชฐ์•„์„œ ํ‘ผ๋‹ค. ๋‘ ๋…ผ๋ฌธ์„ ๋‚˜๋ž€ํžˆ ์ฝ์œผ๋ฉด โ€œ๋ฉ€ํ‹ฐ์•” ์…€ ๊ณ„ํš์€ ์˜คํ”„๋ผ์ธ ํ•™์Šต์œผ๋กœ ์ƒ๊ฐํ•  ๋ฌธ์ œ์ธ๊ฐ€, ์˜จ๋ผ์ธ ํƒ์ƒ‰์„ ์ถฉ๋ถ„ํžˆ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค ๋ฌธ์ œ์ธ๊ฐ€โ€๋ผ๋Š” ์งˆ๋ฌธ์ด ์„ ๋ช…ํ•ด์ง„๋‹ค. cuArms์˜ ๊ฒฐ๊ณผ๋Š” ์ ์–ด๋„ ์ด ๋ฒค์น˜๋งˆํฌ์—์„œ ์˜จ๋ผ์ธ ํƒ์ƒ‰ ์ชฝ์ด ํ•™์Šต ์—†์ด ์„ฑ๊ณต๋ฅ ๊ณผ makespan ๋ชจ๋‘์—์„œ ์•ž์„ค ์ˆ˜ ์žˆ์Œ์„ ๋ณด์ธ๋‹ค. ๋‹ค๋งŒ ์œ„์—์„œ ์งš์€ ๋Œ€๋กœ RL ๋ฒ ์ด์Šค๋ผ์ธ์˜ ์กฐ๊ฑด์ด ์ถฉ๋ถ„ํžˆ ๋ฐํ˜€์ง€์ง€ ์•Š์•˜๋‹ค.

GPU ๊ฐ€์† ๊ณ„ํš์˜ ๊ณ„๋ณด. cuArms๋Š” cuRobo ๋ฆฌ๋ทฐ์˜ collision sphere ํ‘œํ˜„๊ณผ GPU IK๋ฅผ ๋ถ€ํ’ˆ์œผ๋กœ ์“ด๋‹ค(์šฉ์ ‘ ํƒ€๊นƒ์˜ ๊ด€์ ˆ ๋ชฉํ‘œ ์ƒ˜ํ”Œ๋ง, ๋ถ€๋ก D ์ƒŒ๋“œ๋ฐ•์Šค์˜ cuRobo ํฌํ•จ). cuRobo๊ฐ€ ๋‹จ์ผ ๋กœ๋ด‡์˜ ๊ถค์  ์ตœ์ ํ™”๋ฅผ GPU๋กœ ๋ณ‘๋ ฌํ™”ํ–ˆ๋‹ค๋ฉด, cuArms๋Š” ๊ทธ ๋ณ‘๋ ฌํ™”๋ฅผ ๋‹ค์ค‘ ๋กœ๋ด‡ ๊ฐ„ ์ถฉ๋Œ ์งˆ์˜์™€ multi-modal roadmap์˜ mode๋ณ„ ์œ ํšจ์„ฑ์œผ๋กœ ๋„“ํ˜”๋‹ค. ๊ฐ™์€ NVIDIA ๊ทธ๋ฃน์˜ cuTAMP๊ฐ€ task skeleton์„ GPU๋กœ ๋ณ‘๋ ฌ ํ‰๊ฐ€ํ•œ ๊ฒƒ๊ณผ ์ง์„ ์ด๋ฃฌ๋‹ค.

MAPF์—์„œ manipulation์œผ๋กœ. LaCAMยทPIBT๋Š” ์ˆ˜์ฒœ ๋Œ€ ์ด๋™ ๋กœ๋ด‡์„ ๋‹ค๋ฃจ๋˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๊ณ , db-LaCAM์ด kinodynamic์œผ๋กœ ๋„“ํ˜”๋‹ค. ์ €์ž๋“ค์€ LaCAM ๊ณ„์—ด์ด ์ด๋™ ๋กœ๋ด‡์—์„œ๋งŒ ๋ณด์—ฌ์กŒ๋‹ค๊ณ  ์“ฐ๋ฉฐ, cuArms๋ฅผ ๊ณ ์ฐจ์› ํŒ”๊ณผ hybrid skill๋กœ์˜ ํ™•์žฅ์œผ๋กœ ๋‚ด์„ธ์šด๋‹ค. ๊ณต์ €์ž Jiaoyang Li(CMU)๊ฐ€ ์ฐธ์—ฌํ•œ xECBSยทAPEX-MRยทVAMP-MR์ด ๋ฐ”๋กœ ์•ž ๋‹จ๊ณ„์ด๊ณ , ๋ถ€๋ก์€ ๊ทธ ์…‹๊ณผ ๋ชจ๋‘ ๋น„๊ตํ•œ๋‹ค. TAMP ํ‰๊ฐ€ ์ชฝ์—์„œ๋Š” KinDER ๋ฆฌ๋ทฐ๊ฐ€ TAMPยทRLยทIL ๋ฒ ์ด์Šค๋ผ์ธ์„ ๊ฐ™์€ ๋ฌผ๋ฆฌ ์ถ”๋ก  ํ™˜๊ฒฝ์—์„œ ๋น„๊ตํ•œ๋‹ค. ๋‹ค๋งŒ KinDER๋Š” ๋‹จ์ผ ๋กœ๋ด‡ ๊ณผ์ œ๊ฐ€ ์ค‘์‹ฌ์ด๋ผ, cuArms๊ฐ€ ๋‹ค๋ฃจ๋Š” ๋‹ค์ค‘ ํŒ” ํ˜‘์‘์€ ์•„์ง ๊ทธ๋Ÿฐ ๊ณตํ†ต ๋ฒค์น˜๋งˆํฌ ๋ฐ–์— ์žˆ๋‹ค(ํ•„์ž ํ•ด์„).

์ฝ”๋”ฉ ์—์ด์ „ํŠธ๊ฐ€ planner๋ฅผ ๋„๊ตฌ๋กœ ์“ฐ๋Š” ํ๋ฆ„. ๋ถ€๋ก D๋Š” LLM ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๊ฐ€ ์†์œผ๋กœ ์ง  scheduler๋ฅผ ๋Œ€์‹ ํ•ด skillยทskeletonยท๋น„์šฉ์„ ์ž‘์„ฑํ•˜๊ณ  cuArms๋ฅผ API๋กœ ๋ถ€๋ฅธ๋‹ค. ASPIRE ๋ฆฌ๋ทฐ์˜ ์—์ด์ „ํŠธ๊ฐ€ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์™€ ์‹คํ–‰ ํ”ผ๋“œ๋ฐฑ์œผ๋กœ skill ์ฝ”๋“œ๋ฅผ ์Œ“์•„ ๊ฐ€๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ณ„์—ด์ด๋‹ค. cuArms ์ชฝ์—์„œ ํฅ๋ฏธ๋กœ์šด ์ ์€ ์—์ด์ „ํŠธ์˜ ์ด๋“์ด ์ฃผ๋กœ skill ํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹(๋ฐฐ์น˜ยท์ ‘๊ทผ ๋†’์ดยทgrasp ๊ฐ๋„)์—์„œ ์™”๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋น ๋ฅธ planner๊ฐ€ ์žˆ์œผ๋ฉด ์—์ด์ „ํŠธ๊ฐ€ ๊ทธ ์œ„์—์„œ ์ˆ˜๋ฐฑ ๋ฒˆ ์‹œ๋„ํ•˜๋ฉฐ ์ƒ์œ„ ๊ฒฐ์ •์„ ๊ณ ๋ฅผ ์ˆ˜ ์žˆ๋‹ค. planner์˜ ์†๋„๊ฐ€ ์—์ด์ „ํŠธ ๋ฃจํ”„์˜ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ์ •ํ•œ๋‹ค๋Š” ์ ์—์„œ, โ€œ์‹ค์‹œ๊ฐ„ ์ฒซ ํ•ดโ€์˜ ์ง„์งœ ์ˆ˜ํ˜œ์ž๋Š” ์‚ฌ๋žŒ๋ณด๋‹ค ์—์ด์ „ํŠธ์ผ ์ˆ˜ ์žˆ๋‹ค(ํ•„์ž ํ•ด์„).

์š”์•ฝ

cuArms๋Š” ๋ฉ€ํ‹ฐ์•” ์กฐ์ž‘ ๊ณ„ํš์„ skeleton์ด ๊ณ ์ •ํ•œ ํ–‰๋™ ์‚ฌ์ด์˜ ํ˜‘์‘ ๋ฌธ์ œ๋กœ ์ •์˜ํ•˜๊ณ , ๋กœ๋ด‡๋ณ„ multi-modal roadmap, LaCAMยทPIBT ๊ธฐ๋ฐ˜ conflict-driven ํƒ์ƒ‰, GPU ๋ฐฐ์น˜ shortcut์œผ๋กœ ํ‘ผ๋‹ค. ๊ธฐ์—ฌ์˜ ํ•ต์‹ฌ์€ ๊ณ„์‚ฐ ๋ถ„ํ• ์ด๋‹ค. ์žฌ๊ท€์  ๊ฒฐ์ •(PIBT ์šฐ์„ ์ˆœ์œ„ ์ƒ์†, LaCAM์˜ lazy ์ œ์•ฝ)์€ CPU์— ๋‘๊ณ , ๊ทธ ๊ฒฐ์ •์ด ๋ฌผ์„ ๊ธฐํ•˜ ์งˆ๋ฌธ(ํ›„๋ณด ์Œ ์ถฉ๋Œ, mode๋ณ„ ์œ ํšจ์„ฑ, shortcut ์œ ํšจ์„ฑ)์€ ๋ฏธ๋ฆฌ ํฐ GPU ๋ฐฐ์น˜๋กœ ๋‹ตํ•ด ๋‘”๋‹ค. ์ด ๋•๋ถ„์— RoboBallet 4ยท8ํŒ” ์šฉ์ ‘์—์„œ 1์ดˆ ์•ˆ์— ์ฒซ ํ•ด๋ฅผ ์ฐพ์•„ 450/450์„ ํ’€๊ณ , 2ํŒ” tabletop TAMP์—์„œ ScheduleStream๋ณด๋‹ค ๋น ๋ฅด๊ณ  ์งง์€ ๊ณ„ํš์„ ๋‚ด๋ฉฐ, ๋ถ€๋ก์˜ MRMGยทxECBSยทLEGO ๋ฒค์น˜๋งˆํฌ์—์„œ๋„ ์ฒซ ํ•ด ์†๋„์—์„œ ๋Œ€์ฒด๋กœ ์•ž์„ ๋‹ค.

ํ•œ๊ณ„๋Š” ๋ฒ”์œ„์™€ ๊ทผ๊ฑฐ์˜ ์ข…๋ฅ˜์— ์žˆ๋‹ค. โ€œ์‹ค์‹œ๊ฐ„โ€์€ skeleton์ด ์ฃผ์–ด์ง„ ๋’ค์˜ ๋‹จ๊ณ„์— ๋Œ€ํ•œ ๋ง์ด๊ณ , 8๊ฐœ ๋ฌผ์ฒด TAMP๋Š” scheduler๊นŒ์ง€ ํฌํ•จํ•ด ์ˆ˜์‹ญ ์ดˆ๊ฐ€ ๊ฑธ๋ฆฐ๋‹ค. ๊ฒฐ๊ณผ์˜ ์ƒ๋‹น ๋ถ€๋ถ„์ด scheduler ํ’ˆ์งˆ์— ๋ฌถ์—ฌ ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ๋ถ€๋ก์˜ ์ฝ”๋”ฉ ์—์ด์ „ํŠธ ์‹คํ—˜์ด ์Šค์Šค๋กœ ๋ณด์—ฌ ์ค€๋‹ค. ๊ณต๋™ ์„ค๊ณ„์˜ ๊ฐ ์š”์†Œ๋ฅผ ๋ถ„๋ฆฌํ•œ ablation์ด ์—†๊ณ , ๊ฐ™์€ ๊ณ„์—ด planner์™€์˜ ๋น„๊ต๋Š” arXiv ๋ณธ๋ฌธ์ด ์•„๋‹ˆ๋ผ ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ ๋ถ€๋ก์— ์žˆ์œผ๋ฉฐ ์ผ๋ถ€๋Š” ๋‹ค๋ฅธ ํ•˜๋“œ์›จ์–ด์˜ ๋ฐœํ‘œ ์ˆ˜์น˜์™€ ๊ฒจ๋ฃฌ๋‹ค. PIBT์˜ ํ•œ ๋ฒˆ์— ํ•œ ๋กœ๋ด‡ ํ•ด์†Œ๋Š” ๋ฐ€์ง‘ํ•œ 8ํŒ” Shelves์—์„œ 38%๋ผ๋Š” ๋ถ„๋ช…ํ•œ ์•ฝ์ ์„ ๋“œ๋Ÿฌ๋‚ธ๋‹ค. ๊ทธ๋Ÿผ์—๋„ โ€œMAPF์˜ lazy ํƒ์ƒ‰์„ GPU ๊ธฐํ•˜์™€ ์ง์ง€์–ด hybrid manipulation์œผ๋กœ ์˜ฎ๊ธด๋‹คโ€๋Š” ์„ค๊ณ„๋Š” ๋ช…๋ฃŒํ•˜๊ณ , ๋น ๋ฅธ planner๋ฅผ ์—์ด์ „ํŠธ์˜ ๋„๊ตฌ๋กœ ์“ฐ๋Š” ๋ถ€๋ก D์˜ ๋ฐฉํ–ฅ์€ ๋ฉ€ํ‹ฐ์•” ์…€ ์„ค๊ณ„๋ฅผ ์‚ฌ๋žŒ ์†์—์„œ ์ž๋™ํ™” ๋ฃจํ”„๋กœ ์˜ฎ๊ธฐ๋Š” ์‹ค์šฉ์  ์ถœ๋ฐœ์ ์ด ๋  ์ˆ˜ ์žˆ๋‹ค. ์ฝ”๋“œ๊ฐ€ ๊ณต๊ฐœ๋˜๋ฉด conflict table์˜ ์‹ค์ œ ๊ธฐ์—ฌ๋ฅผ ablation์œผ๋กœ ํ™•์ธํ•ด ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

์ด ๊ธ€์— ๋Œ€ํ•ด

  • ์ฝ์€ ๋ฒ”์œ„: arXiv v1(2026-10-26 ์ œ์ถœ, ๋ณธ๋ฌธ 8์ชฝ)์„ PDF์™€ HTML๋กœ ์ฝ์—ˆ๋‹ค. ๋ฒ”์œ„ ์ˆ˜์น˜(0.48~2.96 s, 42~57%, 18.1~24.7% ๋“ฑ)์™€ ๋ชจ๋“  ํ‘œ ๊ฐ’์€ PDF์—์„œ ์˜ฎ๊ฒผ๋‹ค. ๋ถ€๋ก์€ arXiv์— ์—†๊ณ  ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€์˜ Appendix PDF(6์ชฝ, Fig. 9~14, Table V~IX)์—์„œ ์ฝ์—ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€์˜ Paper PDF๋Š” ์ €์ž ํ‘œ๊ธฐ๊ฐ€ ์ต๋ช…์ด๋ผ๋Š” ์  ์™ธ์— arXiv ๋ณธ๋ฌธ๊ณผ ๊ฐ™๋‹ค. ํ•™ํšŒ ๊ฒŒ์žฌ ํ‘œ๊ธฐ๋Š” arXiv์— ์—†๊ณ  ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€๋Š” double-blind ์‹ฌ์‚ฌ ์ค‘์ด๋ผ๊ณ  ์ ๋Š”๋‹ค.
  • ๊ทธ๋ฆผ: arXiv HTML์ด Fig. 1~7์„ SVG๋กœ๋งŒ ์‹ค์–ด ๋ชจ๋“  ๊ทธ๋ฆผ์„ PDF์—์„œ 300 dpi๋กœ ๋ž˜์Šคํ„ฐํ™”ํ•ด ์ž˜๋ž๋‹ค. ๋ณธ๋ฌธ Fig. 1~8๊ณผ ๋ถ€๋ก Fig. 9ยท10ยท11ยท13ยท14๋ฅผ ์‹ค์—ˆ๊ณ , ๋ถ€๋ก Fig. 12(์ฝ”๋”ฉ ์—์ด์ „ํŠธ ๋„์‹)๋Š” ์ƒ๋žตํ–ˆ๋‹ค. ๋ชจ๋“  ๊ทธ๋ฆผ์„ ์—ด์–ด ์บก์…˜๊ณผ ๋Œ€์กฐํ–ˆ๋‹ค.
  • ์˜์ƒ: ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ mp4๋ฅผ ์› URL๋กœ ์ฐธ์กฐํ•œ๋‹ค(CORS ํ—ˆ์šฉยทํฌ๊ธฐ ํ™•์ธ, ์žฅ๋‹น 0.4~5.5 MB). 27 MB ํ•˜์ด๋ผ์ดํŠธ ์˜์ƒ, 18 MB ์ „์ฒด supplementary ์˜์ƒ, 13~28 MB KinovaยทLEGO ์˜์ƒ์€ ์ž„๋ฒ ๋“œํ•˜์ง€ ์•Š์•˜๋‹ค. ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์˜์ƒ ์บก์…˜์˜ ๊ณ„ํš ์‹œ๊ฐ„ยทmakespan์€ ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ content.js์˜ ํ‘œ๊ธฐ๊ฐ’์ด๋ฉฐ ๋…ผ๋ฌธ ํ‘œ์˜ ์ค‘์•™๊ฐ’๊ณผ ๋‹ค๋ฅธ ๋‹จ์ผ ์‚ฌ๋ก€๋‹ค. Human intent ์‹คํ—˜์€ ๋ถ€๋ก PDF์— ์—†๊ณ  ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€์—๋งŒ ์žˆ๋‹ค.
  • ์ฝ”๋“œ: ๋ฏธ๊ณต๊ฐœ(์œ„ โ€œ์ฝ”๋“œ ๊ณต๊ฐœ ๋ฒ”์œ„โ€ ์ ˆ). ์ฝ”๋“œ ๋Œ€์กฐ๋‚˜ ์‹คํ–‰ ํ™•์ธ์€ ์—†๋‹ค.
  • ํ‘œ๊ธฐ: โ€œํ•„์ž ๊ณ„์‚ฐยท๊ฒ€์‚ฐโ€์€ ๋…ผ๋ฌธ ํ‘œ ๊ฐ’์œผ๋กœ ์ง์ ‘ ๊ณ„์‚ฐํ•œ ๊ฐ’(ํ•ฉ์‚ฐ ๊ธฐ์ค€ 46.4% ์žฌํ˜„, ๊ณผ์ œ๋ณ„ ๊ฐ์†Œ์œจ, 4โ†’8ํŒ” ๋ณ€ํ™”์œจ, ๋กœ๋ด‡ ์Œ ์ˆ˜ ๋Œ€๋น„ conflict table ์ฆ๊ฐ€, ๋‹จ๊ณ„๋ณ„ ๋น„์ค‘, RL ํ•™์Šต ์‹œ๊ฐ„ ํ™˜์‚ฐ)์ด๋‹ค. ๋‹จ๊ณ„๋ณ„ ๋น„์ค‘์€ ์ค‘์•™๊ฐ’์„ ๋”ํ•œ ๊ทผ์‚ฌ๋‹ค. โ€œํ•„์ž ํ•ด์„โ€์€ ๋…ผ๋ฌธ์ด ๋งํ•˜์ง€ ์•Š์€ ์ถ”๋ก (150ยท45์˜ ๊ตฌ์„ฑ, ์™„์ „์„ฑ์˜ roadmap ์ƒ๋Œ€์„ฑ, ๋ฐ€์ง‘ ํšจ๊ณผ, ์—์ด์ „ํŠธ ์ˆ˜ํ˜œ ํ•ด์„)์ด๋‹ค. โ€œ๊ทธ๋ฆผ์—์„œ ์ฝ์€ ๊ทผ์‚ฌ์น˜โ€๋Š” Fig. 7์˜ 8๊ฐœ ๋ฌผ์ฒด ์ฒซ ํ•ด ์‹œ๊ฐ„์ด๋‹ค. RoboBallet ์› ๋…ผ๋ฌธ ์ˆ˜์น˜๋Š” ์ด ๋ธ”๋กœ๊ทธ์˜ RoboBallet ๋ฆฌ๋ทฐ์— ์ •๋ฆฌํ•œ ๊ฐ’์ด๋‹ค.
  • ์กฐํšŒ ์‹œ์ : ๋…ผ๋ฌธยทํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€ยทGitHub 2026-10-29.

Copyright 2026, JungYeon Lee