pnucse-capstone2026/capstone-2026-team-24

Python

0

53 commits

updated Sep 29, 2026

See the code

README

πŸ€— Hugging Face

CategoryLink
πŸ“Š DatasetsView all datasets
🧠 ModelsView all models
πŸ‘€ Profiles1eepypillow

1. ν”„λ‘œμ νŠΈ λ°°κ²½

1.1. μ‹œμž₯ ν˜„ν™© 및 문제점

  • μ‚°μ—… ν˜„μž₯의 μ‘°μž‘ μž‘μ—… μžλ™ν™”: 제쑰 및 λ¬Όλ₯˜ μ‚°μ—… ν˜„μž₯μ—μ„œλŠ” 물체λ₯Ό μ§‘μ–΄ μ§€μ •λœ μœ„μΉ˜λ‘œ μ΄λ™μ‹œν‚€λŠ” Pick-and-Place μž‘μ—…μ„ λ‘œλ΄‡ λ§€λ‹ˆν“°λ ˆμ΄ν„°λ‘œ μžλ™ν™”ν•˜μ—¬ 생산 κ³΅μ •μ˜ νš¨μœ¨μ„ 높이고 μžˆμŠ΅λ‹ˆλ‹€.
  • κ·œμΉ™ 기반 μ œμ–΄μ˜ ν•œκ³„: κΈ°μ‘΄ μ‹œμŠ€ν…œμ€ μž‘μ—… λŒ€μƒκ³Ό ν™˜κ²½μ΄ μΌμ •ν•˜λ‹€λŠ” κ°€μ •ν•˜μ— μ‚¬λžŒμ΄ 사전에 μ •μ˜ν•œ ꢀ적과 μˆœμ„œμ— 따라 λ‘œλ΄‡μ„ μ œμ–΄ν•˜λŠ” 방식을 주둜 μ‚¬μš©ν•΄ μ™”μŠ΅λ‹ˆλ‹€. μ‹€μ œ μž‘μ—… ν™˜κ²½μ—μ„œλŠ” 물체가 λ¬΄μž‘μœ„λ‘œ λ°°μΉ˜λ˜κ±°λ‚˜ μ£Όλ³€ ν™˜κ²½μ΄ λ³€ν™”ν•˜λŠ” λ“± λΆˆν™•μ‹€μ„±μ΄ μ‘΄μž¬ν•˜λ©°, κΈ°μ‘΄ 방식은 μ΄λŸ¬ν•œ μƒˆλ‘œμš΄ 쑰건에 λŒ€μ‘ν•˜κΈ° μœ„ν•΄ 맀번 λ³΅μž‘ν•œ κ·œμΉ™κ³Ό μ˜ˆμ™Έ 상황을 μΆ”κ°€λ‘œ 섀계해야 ν•˜λŠ” ν•œκ³„κ°€ μžˆμŠ΅λ‹ˆλ‹€.
  • 닀단계 μ •λ°€ μž‘μ—…μ—μ„œμ˜ λˆ„μ  였차: μ—¬λŸ¬ 개의 블둝을 순차적으둜 μ μž¬ν•˜λŠ” 수직 적재 μž‘μ—…μ˜ 경우, 각 λ‹¨κ³„μ—μ„œ λ°œμƒν•œ 객체 인식 및 μœ„μΉ˜ μ œμ–΄ μ˜€μ°¨κ°€ μ—°μ‡„μ μœΌλ‘œ λˆ„μ λ˜μ–΄ μž‘μ—… μ‹€νŒ¨λ‘œ μ΄μ–΄μ§€λŠ” 기술적 λ³΅μž‘μ„±μ΄ μ‘΄μž¬ν•©λ‹ˆλ‹€.

1.2. ν•„μš”μ„±κ³Ό κΈ°λŒ€νš¨κ³Ό

  • AI 기반 μ§€λŠ₯ν˜• 자율 μ œμ–΄ μ‹œμŠ€ν…œμ˜ ν•„μš”μ„±: μ •ν˜•ν™”λœ ν™˜κ²½μ—μ„œμ˜ λ‹¨μˆœ 반볡 μž‘μ—…μ—μ„œ λ²—μ–΄λ‚˜, 카메라 λ“± λΉ„μ „ μ„Όμ„œλ₯Ό 톡해 μ£Όλ³€ 상황을 μ‹€μ‹œκ°„μœΌλ‘œ κ΄€μΈ‘ν•˜κ³  μ μ ˆν•œ 행동을 슀슀둜 νŒλ‹¨ν•˜μ—¬ κ²°μ •ν•˜λŠ” μ§€λŠ₯ν˜• λ‘œλ΄‡ μ‹œμŠ€ν…œμœΌλ‘œμ˜ νŒ¨λŸ¬λ‹€μž„ μ „ν™˜μ΄ ν•„μˆ˜μ μž…λ‹ˆλ‹€.
  • λͺ¨λ°©ν•™μŠ΅μ„ ν†΅ν•œ μ œμ–΄ λ³΅μž‘μ„± ν•΄μ†Œ: μ‘°μž‘μžκ°€ 원격 μ‘°μž‘μ„ 톡해 직접 μ‹œμ—°ν•œ 행동 ꢀ적 데이터λ₯Ό ν™œμš©ν•˜μ—¬ 정책을 ν•™μŠ΅μ‹œν‚€λ©΄, λ³΅μž‘ν•œ μ œμ–΄ κ·œμΉ™μ„ μ‚¬λžŒμ΄ 직접 μž‘μ„±ν•˜μ§€ μ•Šκ³ λ„ λ‘œλ΄‡μ΄ μ‹€μ œ μž‘μ—…μ— ν•„μš”ν•œ λ™μž‘μ„ 효과적으둜 μŠ΅λ“ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • κΈ°μ‘΄ μ—°κ΅¬μ˜ ν•œκ³„ 극볡 및 ν™˜κ²½ 적응λ ₯ 확보: λŒ€μƒμ˜ μ‹œμž‘ μœ„μΉ˜κ°€ κ³ μ •λœ μ œν•œμ μΈ κΈ°μ‘΄ ν™˜κ²½μ„ λ„˜μ–΄μ„œκΈ° μœ„ν•΄ λ³Έ ν”„λ‘œμ νŠΈκ°€ ν•„μš”ν•©λ‹ˆλ‹€. μ‹œκ°μ  λ…Έμ΄μ¦ˆκ°€ μ‘΄μž¬ν•˜κ³  λΈ”λ‘μ˜ μœ„μΉ˜κ°€ λ¬΄μž‘μœ„λ‘œ λ³€ν•˜λŠ” λ³΅μž‘ν•œ ν™˜κ²½μ—μ„œλ„ μ•ˆμ •μ μΈ μ‘°μž‘ μ„±λŠ₯을 ν™•λ³΄ν•˜λŠ” 효과λ₯Ό κΈ°λŒ€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ΅œμ’… κΈ°λŒ€νš¨κ³Ό: 결과적으둜 카메라λ₯Ό ν†΅ν•œ μž‘μ—… ν™˜κ²½ 인식과 행동 생성을 μ—°κ²°ν•˜μ—¬, λ¬΄μž‘μœ„ 배치된 블둝듀에 λŒ€ν•΄ 연속적인 이동 및 적재 μž‘μ—…μ„ 자율적으둜 μ™„μˆ˜ν•˜λŠ” μ§€λŠ₯ν˜• λ‘œλ΄‡ μ œμ–΄ μ‹œμŠ€ν…œμ„ κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

2. 개발 λͺ©ν‘œ

2.1. λͺ©ν‘œ 및 μ„ΈλΆ€ λ‚΄μš©

λ³Έ ν”„λ‘œμ νŠΈμ˜ μ΅œμ’… λͺ©ν‘œλŠ” LeRobot SO-101 λ‘œλ΄‡ νŒ”μ„ ν™œμš©ν•˜μ—¬ λ¬΄μž‘μœ„λ‘œ 배치된 블둝을 λΉ„μ „ μ„Όμ„œλ‘œ μΈμ‹ν•˜κ³ , μ§€μ •λœ μ˜μ—­μ— 자율적으둜 이동 및 μ μž¬ν•  수 μžˆλŠ” μ§€λŠ₯ν˜• λ‘œλ΄‡ μ œμ–΄ μ‹œμŠ€ν…œμ„ κ΅¬μΆ•ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

  • Teleoperation 기반 데이터 μˆ˜μ§‘: Leader-Follower ꡬ쑰λ₯Ό ν™œμš©ν•΄ μ‘°μž‘μžμ˜ 직관적인 μ‘°μž‘ ꢀ적과 상단 및 손λͺ© μΉ΄λ©”λΌμ˜ μ˜μƒ 정보λ₯Ό λ™κΈ°ν™”ν•˜μ—¬ κ³ ν’ˆμ§ˆμ˜ μ‹œμ—° 데이터λ₯Ό κ΅¬μΆ•ν•©λ‹ˆλ‹€.
  • ACT(Action Chunking Transformer) λͺ¨λΈ 적용: 일정 길이의 μ—°μ†λœ 행동 μ‹œν€€μŠ€λ₯Ό ν•œ λ²ˆμ— μ˜ˆμΈ‘ν•˜λŠ” ACT λͺ¨λΈμ„ λ„μž…ν•˜μ—¬, μ‹œκ³„μ—΄μ  λˆ„μ  였차λ₯Ό 쀄이고 λ‘œλ΄‡ μ‘°μž‘μ˜ λΆ€λ“œλŸ¬μ›€κ³Ό μž‘μ—… 연속성을 ν™•λ³΄ν•©λ‹ˆλ‹€.
  • 단일 λͺ¨λΈ 기반 λ©€ν‹°νƒœμŠ€ν‚Ή: 데이터셋에 observation.environment_state 속성을 μΆ”κ°€ν•˜μ—¬, ν•˜λ‚˜μ˜ 인곡지λŠ₯ λͺ¨λΈμ΄ Task 1(5개의 블둝을 W ν˜•νƒœλ‘œ ꡬ역 λ‚΄ 배치)κ³Ό Task 2(블둝 수직 적재)λ₯Ό λͺ…ν™•νžˆ κ΅¬λΆ„ν•˜κ³  μˆ˜ν–‰ν•˜λ„λ‘ μ„€κ³„ν•©λ‹ˆλ‹€.
  • μ„œλ²„-ν΄λΌμ΄μ–ΈνŠΈ μ‹€μ‹œκ°„ μ œμ–΄ λΆ„μ‚° ꡬ쑰: 카메라 μ˜μƒ μˆ˜μ§‘ 및 μ‹€μ œ λ‘œλ΄‡ μ œμ–΄λŠ” Jetson Orin Nanoκ°€ λ‹΄λ‹Ήν•˜κ³ , 무거운 μ •μ±… 좔둠은 μ—°μ‚° μ„±λŠ₯이 λ›°μ–΄λ‚œ GPU μ„œλ²„κ°€ λ‹΄λ‹Ήν•˜λŠ” λΆ„μ‚° μ•„ν‚€ν…μ²˜λ₯Ό κ΅¬μΆ•ν•˜μ—¬ μ•½ 30Hz의 μ•ˆμ •μ μΈ μ‹€μ‹œκ°„ μ œμ–΄ μ£ΌκΈ°λ₯Ό λ‹¬μ„±ν•©λ‹ˆλ‹€.

2.2. κΈ°μ‘΄ μ„œλΉ„μŠ€ λŒ€λΉ„ 차별성

κΈ°μ‘΄ μ˜€ν”ˆμ†ŒμŠ€ 데이터셋을 ν™œμš©ν•œ μ„ ν–‰ 연ꡬ듀은 λ‹¨μΌν•œ 검은색 λ°°κ²½μ—μ„œ 물체의 μ‹œμž‘ μœ„μΉ˜κ°€ κ³ μ •λœ μ œν•œμ  ν™˜κ²½μ„ μ „μ œλ‘œ, 단일 블둝을 톡 μ•ˆμ— λ„£λŠ” λ‹¨μˆœν•œ νƒœμŠ€ν¬λ§Œμ„ μˆ˜ν–‰ν•œλ‹€λŠ” ν•œκ³„κ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λ³Έ ν”„λ‘œμ νŠΈλŠ” 이λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄ λ‹€μŒκ³Ό 같은 차별성을 κ°€μ§‘λ‹ˆλ‹€.

  • λ³΅μž‘ν•œ μ‹œκ°μ  ν™˜κ²½ 및 νƒœμŠ€ν¬ 연속성 극볡: 검은색과 흰색이 κ΅μ°¨ν•˜λŠ” 격자무늬 배경을 μ‚¬μš©ν•˜μ—¬ λΉ„μ „ λͺ¨λΈμ˜ κ°•κ±΄ν•œ νŠΉμ§• μΆ”μΆœμ„ μœ λ„ν•˜μ˜€μœΌλ©°, 단일 블둝 μ‘°μž‘μ„ λ„˜μ–΄ 5개의 블둝을 μ—°μ†μ μœΌλ‘œ νŒŒμ§€ν•˜κ³  μ •λ°€ν•˜κ²Œ 수직으둜 μ μž¬ν•˜λŠ” κ³ λ‚œλ„ μž‘μ—…μ„ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.
  • λ‹€μ–‘ν•œ 곡간적 μƒνƒœ 전이(State Transition) ν•™μŠ΅: λ‹¨μˆœνžˆ μ—ν”Όμ†Œλ“œ 수만 λŠ˜λ¦¬λŠ” 것이 μ•„λ‹ˆλΌ λΈ”λ‘μ˜ 쒌/우츑 편ν–₯, 상/ν•˜μΈ‘ 집쀑, 경계 인접 λ“± λ‹€μ–‘ν•œ μœ„μΉ˜ 쑰건을 μ˜λ„μ μœΌλ‘œ μ„€κ³„ν•˜μ—¬ λͺ¨λΈμ˜ 곡간적 μΌλ°˜ν™” μ„±λŠ₯을 κ·ΉλŒ€ν™”ν–ˆμŠ΅λ‹ˆλ‹€.
  • DAgger(Dataset Aggregation) νŒŒμ΄ν”„λΌμΈ λ„μž…: λ‹¨μˆœ 행동 볡제(Behavior Cloning) μ‹œ λ°œμƒν•˜λŠ” λˆ„μ  였차 및 μ΄νƒˆ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄, λ‘œλ΄‡μ΄ μ˜€μž‘λ™μ„ μΌμœΌν‚€λŠ” μ·¨μ•½ μƒνƒœμ—μ„œ μ „λ¬Έκ°€κ°€ μ‹€μ‹œκ°„μœΌλ‘œ κ°œμž…ν•΄ μ˜¬λ°”λ₯Έ 볡ꡬ ꢀ적을 μ œκ³΅ν•˜κ³  이λ₯Ό μž¬ν•™μŠ΅ν•˜λŠ” ν˜μ‹ μ μΈ λŠ₯동적 ꡐ정 μ‹œμŠ€ν…œμ„ κ΅¬μΆ•ν–ˆμŠ΅λ‹ˆλ‹€.

2.3. μ‚¬νšŒμ  κ°€μΉ˜ λ„μž… κ³„νš

  • 제쑰 및 λ¬Όλ₯˜ μ‚°μ—…μ˜ μœ μ—°ν•œ μžλ™ν™” κΈ°μ—¬: μž‘μ—… λŒ€μƒμ˜ μœ„μΉ˜λ‚˜ μ£Όλ³€ ν™˜κ²½μ΄ λ³€ν™”ν•  λ•Œλ§ˆλ‹€ μ‚¬λžŒμ΄ μ œμ–΄ κ·œμΉ™μ„ μΆ”κ°€ν•΄μ•Ό ν–ˆλ˜ κΈ°μ‘΄ κ·œμΉ™ 기반 μ œμ–΄μ˜ ν•œκ³„λ₯Ό λ²—μ–΄λ‚˜, ν™˜κ²½ 변화에 슀슀둜 λŒ€μ‘ν•˜λŠ” μ§€λŠ₯ν˜• μ‹œμŠ€ν…œμ„ 톡해 μ‚°μ—… ν˜„μž₯의 νš¨μœ¨μ„±κ³Ό 생산성을 λ†’μž…λ‹ˆλ‹€.
  • κ²½λŸ‰ν™” λͺ¨λΈ 채택을 ν†΅ν•œ μΉœν™˜κ²½μ  AI μ‹€ν˜„: μ΅œμ†Œ μˆ˜μ‹­μ–΅ 개의 νŒŒλΌλ―Έν„°μ™€ λ§‰λŒ€ν•œ μ»΄ν“¨νŒ… μžμ›μ„ μš”κ΅¬ν•˜λŠ” κ±°λŒ€ λ²”μš© λ‘œλ΄‡ λͺ¨λΈ λŒ€μ‹ , μ•½ 8,000만 개의 νŒŒλΌλ―Έν„°λ‘œ κ΅¬μ„±λœ κ²½λŸ‰ν™” ACT λͺ¨λΈμ„ μ±„νƒν–ˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 μ—£μ§€ λ””λ°”μ΄μŠ€μ™€ 단일 GPU ν™˜κ²½μ—μ„œλ„ μ›ν™œν•œ ν•™μŠ΅ 및 μ‹€μ‹œκ°„ μ œμ–΄κ°€ κ°€λŠ₯ν•˜λ„λ‘ ν•˜μ—¬ μ „λ ₯ μ†Œλͺ¨λ₯Ό μ΅œμ†Œν™”ν•©λ‹ˆλ‹€.
  • μ•ˆμ „ 기반 μ œμ–΄λ₯Ό ν†΅ν•œ ν•˜λ“œμ›¨μ–΄ 지속가λŠ₯μ„± 확보: 인곡지λŠ₯ λͺ¨λΈμ˜ 예츑 였λ₯˜κ°€ ν•˜λ“œμ›¨μ–΄ νŒŒμ†μœΌλ‘œ 이어지지 μ•Šλ„λ‘, 각 κ΄€μ ˆμ˜ ν—ˆμš© μœ„μΉ˜ λ²”μœ„μ™€ Stepλ‹Ή μ΅œλŒ€ λ³€ν™”λŸ‰μ„ 물리적으둜 μ œν•œν•˜λŠ” 이쀑 μ•ˆμ „ λ‘œμ§μ„ κ΅¬ν˜„ν•˜μ—¬ λ‘œλ΄‡ μ‹œμŠ€ν…œμ˜ μ•ˆμ „μ„±κ³Ό 수λͺ…을 보μž₯ν•©λ‹ˆλ‹€.

3. μ‹œμŠ€ν…œ 섀계

3.1. μ‹œμŠ€ν…œ ꡬ성도

image

λ³Έ ν”„λ‘œμ νŠΈμ˜ μ‹œμŠ€ν…œμ€ λ‘œλ΄‡μ˜ μ‹€μ‹œκ°„ μ œμ–΄μ™€ κ³ μ—°μ‚° AI μΆ”λ‘ μ˜ λΆ€ν•˜λ₯Ό λΆ„μ‚°ν•˜κΈ° μœ„ν•΄ μ„œλ²„-ν΄λΌμ΄μ–ΈνŠΈ 기반의 ꡬ쑰둜 μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  • Jetson Client (μ—£μ§€ μ œμ–΄ ν™˜κ²½): μ‹€μ œ λ‘œλ΄‡(LeRobot SO-101)κ³Ό μ—°κ²°λ˜μ–΄ μž‘μ—… κ³΅κ°„μ˜ 카메라 μ˜μƒ(상단/손λͺ©)κ³Ό λ‘œλ΄‡μ˜ ν˜„μž¬ κ΄€μ ˆ μƒνƒœλ₯Ό μˆ˜μ§‘ν•©λ‹ˆλ‹€. μˆ˜μ§‘λœ μ˜μƒμ€ JPEG둜 μ••μΆ•λ˜μ–΄ κ΄€μ ˆ 데이터와 ν•¨κ»˜ μ„œλ²„λ‘œ μ „μ†‘λ˜λ©°, μ„œλ²„λ‘œλΆ€ν„° μˆ˜μ‹ λœ λ™μž‘ λͺ…령을 νŒ”λ‘œμ›Œ 암에 μ¦‰κ°μ μœΌλ‘œ μ μš©ν•©λ‹ˆλ‹€.

  • μΆ”λ‘  Server (GPU μ„œλ²„): ν΄λΌμ΄μ–ΈνŠΈλ‘œλΆ€ν„° TCP Socket을 톡해 전달받은 κ΄€μΈ‘ 데이터λ₯Ό ACT μ •μ±… λͺ¨λΈμ— μž…λ ₯ν•˜μ—¬ λ‹€μŒ λ‘œλ΄‡μ˜ 행동을 Chunk λ‹¨μœ„λ‘œ μƒμ„±ν•˜κ³  이λ₯Ό λ‹€μ‹œ ν΄λΌμ΄μ–ΈνŠΈλ‘œ λ°˜ν™˜ν•©λ‹ˆλ‹€.

3.2. μ‚¬μš© 기술

Hardware

  • Edge Device: Jetson Orin Nano (ARM64 μ•„ν‚€ν…μ²˜)
  • Server Device: NVIDIA RTX 5090 (32GB VRAM GPU μ„œλ²„)
  • Robot: LeRobot SO-101 (Leader-Follower ꡬ쑰, 6μžμœ λ„ λ§€λ‹ˆν“°λ ˆμ΄ν„°)
  • Sensor: 640x480 해상도(30FPS)의 상단(Top-view) 및 손λͺ©(Wrist-view) 카메라

Software & Environment

  • OS / Environment: JetPack 6.2.2, Docker μ»¨ν…Œμ΄λ„ˆ, Conda κ°€μƒν™˜κ²½
  • Robot Control: LeRobot Framework, ROS 2
  • 톡신 (Network): TCP Socket 톡신 , USB Serial/UVC 톡신

AI & Machine Learning

  • Core Model: ACT (Action Chunking with Transformers), DAgger (Dataset Aggregation) μ•Œκ³ λ¦¬μ¦˜
  • Framework: PyTorch (CUDA 기반 GPU μ—°μ‚° ν™˜κ²½)
  • Vision Processing: OpenCV (카메라 μΈν„°νŽ˜μ΄μŠ€ 및 μ‹€μ‹œκ°„ ν”„λ ˆμž„ νšλ“/μ••μΆ•)
  • MLOps & Tracking: Hugging Face Hub (ν•™μŠ΅ 데이터셋 및 μ •μ±… λͺ¨λΈ Checkpoint 관리), Weights & Biases (W&B, ν•™μŠ΅ Loss 및 μ§€ν‘œ λͺ¨λ‹ˆν„°λ§)

4. 개발 결과

4.1. 전체 μ‹œμŠ€ν…œ 흐름도

image

4.2. κΈ°λŠ₯ μ„€λͺ… 및 μ£Όμš” κΈ°λŠ₯ λͺ…μ„Έμ„œ

λ‘œλ΄‡ νŒ” μ œμ–΄ μ‹œμŠ€ν…œμ˜ 핡심 κΈ°λŠ₯κ³Ό 각 κΈ°λŠ₯별 μž…λ ₯/좜λ ₯ λͺ…μ„ΈλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

κΈ°λŠ₯λͺ…μž…λ ₯ (Input)좜λ ₯ (Output)상세 μ„€λͺ…
Teleoperation 데이터 μˆ˜μ§‘μ‘°μž‘μžμ˜ Leader Arm 물리적 μ‘°μž‘Follower Arm λ™μž‘ μˆ˜ν–‰ 및 μ‹œμ—° μ—ν”Όμ†Œλ“œ λ‘œκΉ…μ‚¬μš©μžκ°€ Leader Arm을 μ‘°μž‘ν•˜λ©΄ Follower Arm이 이λ₯Ό λ”°λΌν•˜λ©°, 상단/손λͺ© 카메라 μ˜μƒκ³Ό κ΄€μ ˆ μƒνƒœλ₯Ό μ‹€μ‹œκ°„μœΌλ‘œ κΈ°λ‘ν•˜μ—¬ ν•™μŠ΅ 데이터셋을 κ΅¬μΆ•ν•©λ‹ˆλ‹€.
ACT 기반 행동 μΆ”λ‘ μ‹€μ‹œκ°„ 카메라 μ˜μƒ(Top, Wrist), λ‘œλ΄‡ κ΄€μ ˆ μƒνƒœ(observation.state), Task 쑰건(environment_state)행동 청크 (Action Chunk)μ„œλ²„μ˜ GPU ν™˜κ²½μ—μ„œ λ™μž‘ν•˜λ©°, μž…λ ₯된 λΉ„μ „ 및 μƒνƒœ 데이터λ₯Ό λ°”νƒ•μœΌλ‘œ ν–₯ν›„ μ—°μ†λœ λͺ©ν‘œ κ΄€μ ˆ ꢀ적을 ν•œ λ²ˆμ— μ˜ˆμΈ‘ν•©λ‹ˆλ‹€.
μ„œλ²„-ν΄λΌμ΄μ–ΈνŠΈ μ‹€μ‹œκ°„ ν†΅μ‹ μ••μΆ•λœ 카메라 μ˜μƒ(JPEG) 및 ν˜„μž¬ λ‘œλ΄‡ κ΄€μ ˆ μƒνƒœACT λͺ¨λΈμ΄ μΆ”λ‘ ν•œ λ‹€μŒ λͺ©ν‘œ 행동 λͺ…λ ΉJetson Clientμ—μ„œ μ†ŒμΌ“ 톡신을 톡해 데이터λ₯Ό μ†‘μ‹ ν•˜κ³ , μ„œλ²„λ‘œλΆ€ν„° μˆ˜μ‹ ν•œ 행동 λͺ…령을 30Hz둜 λ‘œλ΄‡μ— μ μš©ν•©λ‹ˆλ‹€.
Temporal Ensembling μ œμ–΄ν˜„μž¬ μŠ€ν… 및 이전 μŠ€ν…λ“€μ—μ„œ 예츑된 쀑첩 행동 청크듀가쀑 ν‰κ· λœ μ΅œμ’… 단일 행동 λͺ…λ Ήλ§€ μ œμ–΄ μ£ΌκΈ°λ§ˆλ‹€ μƒˆλ‘œμš΄ 관츑을 톡해 행동을 μ˜ˆμΈ‘ν•˜λ˜, μ‹œκ³„μ—΄ μƒμ—μ„œ μ€‘μ²©λ˜λŠ” μ˜ˆμΈ‘κ°’λ“€μ„ μ§€μˆ˜ 가쀑 ν‰κ· ν•˜μ—¬ λ‘œλ΄‡μ˜ λœμ»Ήκ±°λ¦Όμ„ μ™„ν™”ν•˜κ³  λΆ€λ“œλŸ¬μš΄ ꢀ적을 μƒμ„±ν•©λ‹ˆλ‹€.
μ œμ–΄ μ•ˆμ „ λ‘œμ§μΆ”λ‘  μ„œλ²„λ‘œλΆ€ν„° μˆ˜μ‹ λœ μ •μ±… 좜λ ₯(λͺ©ν‘œ κ΄€μ ˆ 각도)μ•ˆμ „ λ²”μœ„ λ‚΄μ˜ μ΅œμ’… κ΄€μ ˆ μ œμ–΄κ°’λͺ¨λΈμ˜ 예츑 였λ₯˜λ‘œ μΈν•œ κΈ‰κ²©ν•œ μ›€μ§μž„μ„ λ°©μ§€ν•˜κΈ° μœ„ν•΄, 각 κ΄€μ ˆμ˜ 물리적 ν—ˆμš© λ²”μœ„μ™€ 1 Stepλ‹Ή μ΅œλŒ€ λ³€ν™”λŸ‰μ„ μ œν•œν•©λ‹ˆλ‹€.
DAgger 기반 κ΅μ •μ‹€νŒ¨ 및 OOD μƒνƒœ μ§„μž… μ‹œ ν…”λ ˆμ˜€νΌλ ˆμ΄ν„°μ˜ 즉각적인 κ°œμž…κΈ°μ‘΄ 데이터셋에 병합될 정상 볡ꡬ ꢀ적 λ°μ΄ν„°λ‘œλ΄‡μ΄ λͺ©ν‘œ μ˜μ—­μ„ μ˜€μΈμ‹ν•˜κ±°λ‚˜ νŠΉμ • μœ„μΉ˜μ—μ„œ 멈좜 λ•Œ μ „λ¬Έκ°€κ°€ κ°œμž…ν•˜μ—¬ 정상 ꢀ적으둜 λ³΅κ΅¬ν•˜λŠ” 행동을 μ‹œμ—°ν•˜κ³ , 이λ₯Ό λ°μ΄ν„°λ‘œ μ €μž₯ν•˜μ—¬ λͺ¨λΈμ„ μž¬ν•™μŠ΅ν•©λ‹ˆλ‹€.

4.3. 디렉토리 ꡬ쑰

https://github.com/pnucse-capstone2026/capstone-2026-team-24/tree/main/lerobot

4.4. 산업체 λ©˜ν† λ§ 의견 및 반영 사항

λ³Έ ν”„λ‘œμ νŠΈ μ§„ν–‰ κ³Όμ •μ—μ„œ μ‚°ν•™ν˜‘λ ₯ λ©˜ν† μ˜ ν”Όλ“œλ°±μ„ μˆ˜λ ΄ν•˜μ—¬ μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜λ₯Ό κ°œμ„ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

  • λ©˜ν† λ§ 의견: μ΄ˆκΈ°μ—λŠ” Jetson Orin Nano λ‚΄λΆ€μ—μ„œ λͺ¨λΈ μΆ”λ‘ κΉŒμ§€ 직접 μˆ˜ν–‰ν•˜λŠ” '둜컬 μΆ”λ‘ ' λ°©μ‹μœΌλ‘œ μ‹œμŠ€ν…œμ„ κ΅¬μ„±ν•˜μ˜€μœΌλ‚˜, μ‚°ν•™ν˜‘λ ₯ λ©˜ν† λ‘œλΆ€ν„° "둜컬 μΆ”λ‘ κ³Ό μ„œλ²„ μΆ”λ‘  방식 쀑 μ‹€μ œ λ‘œλ΄‡ μ œμ–΄ μ‹œμŠ€ν…œμ— κ°€μž₯ μ ν•©ν•˜κ³  μ•ˆμ •μ μΈ ꡬ쑰λ₯Ό λͺ…ν™•ν•˜κ²Œ κ²€μ¦ν•˜κ³  κ²°μ •ν•  ν•„μš”κ°€ μžˆλ‹€"λŠ” ν”Όλ“œλ°±μ„ λ°›μ•˜μŠ΅λ‹ˆλ‹€.

ν”Όλ“œλ°±μ„ λ°˜μ˜ν•˜μ—¬ 둜컬 μΆ”λ‘  방식과 μ„œλ²„ μΆ”λ‘  방식 두 κ°€μ§€ μ•„ν‚€ν…μ²˜λ₯Ό λͺ¨λ‘ κ΅¬ν˜„ν•˜κ³  μ‹€μ œ ν™˜κ²½μ—μ„œ μ œμ–΄ μ„±λŠ₯을 비ꡐ ν‰κ°€ν•˜μ˜€μŠ΅λ‹ˆλ‹€. 평가 κ²°κ³Ό, Jetson μž₯치 ν•˜λ‚˜μ—μ„œ μ˜μƒ 처리, μ œμ–΄, μΆ”λ‘  연산을 λ™μ‹œμ— μˆ˜ν–‰ν•˜λŠ” 것보닀 역할을 λΆ„λ¦¬ν•˜λŠ” 것이 μœ λ¦¬ν•˜λ‹€κ³  νŒλ‹¨ν•˜μ˜€μŠ΅λ‹ˆλ‹€. μ΅œμ’…μ μœΌλ‘œ GPU μ„œλ²„μ—μ„œ μ—°μ‚°λŸ‰μ΄ 높은 ACT μ •μ±… 좔둠을 μ „λ‹΄ν•˜κ³ , Jetson Orin NanoλŠ” 카메라 데이터 μˆ˜μ§‘κ³Ό μ‹€μ‹œκ°„ λ‘œλ΄‡ μ œμ–΄λ§Œμ„ λ‹΄λ‹Ήν•˜λŠ” 'μ„œλ²„-ν΄λΌμ΄μ–ΈνŠΈ 기반 λΆ„μ‚° ꡬ쑰'둜 μ‹œμŠ€ν…œμ„ μˆ˜μ •ν•˜μ˜€μŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 λ„€νŠΈμ›Œν¬ μ˜€λ²„ν—€λ“œλ₯Ό ν¬ν•¨ν•˜κ³ λ„ 평균 30Hz의 μ•ˆμ •μ μΈ μ‹€μ‹œκ°„ μ œμ–΄ μ£ΌκΈ°λ₯Ό 달성할 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

5. μ„€μΉ˜ 및 μ‹€ν–‰ 방법

5.1. μ„€μΉ˜μ ˆμ°¨ 및 μ‹€ν–‰ 방법

5.1.1. ν™˜κ²½ μ„ΈνŒ… (GPU μ„œλ²„, 졜초 1회)
bash scripts/setup_env.sh
5.1.2. 데이터 μˆ˜μ§‘ (Jetson Orin Nano)
export HF_USER={USERNAME}
bash scripts/record.sh
5.1.3. 데이터셋 병합
export HF_USER={USERNAME}
bash scripts/merge_dataset.sh
5.1.4. ACT ν•™μŠ΅ (GPU μ„œλ²„)
tmux new -s train
export HF_USER={USERNAME}
bash scripts/train.sh
# Ctrl+B, D 둜 μ„Έμ…˜μ—μ„œ λΉ μ Έλ‚˜μ˜€κΈ° (λ°±κ·ΈλΌμš΄λ“œλ‘œ 계속 진행됨)
5.1.5. μ‹€λ¬Ό λ‘œλ΄‡ 배포 및 평가 (Jetson Orin Nano)
export HF_USER={USERNAME}
bash scripts/rollout.sh
5.1.6. GPU μ„œλ²„μ—μ„œ μΆ”λ‘  μ„œλ²„ μ‹€ν–‰
python server_inference.py \
  --policy_path {Hugging_Face_μ‚¬μš©μžλͺ…}/{λͺ¨λΈ_μ €μž₯μ†Œλͺ…} \
  --dataset_repo_id {Hugging_Face_μ‚¬μš©μžλͺ…}/{데이터셋_μ €μž₯μ†Œλͺ…} \
  --dataset_root {둜컬_데이터셋_경둜} \
  --port {μ„œλ²„_포트} \
  --use_env_state
5.1.7. Jetsonμ—μ„œ ν΄λΌμ΄μ–ΈνŠΈ μ‹€ν–‰
python jetson_client.py \
  --server_host {GPU_μ„œλ²„_IP} \
  --server_port {μ„œλ²„_포트} \
  --environment_state {Task_ID}

5.2. 였λ₯˜ λ°œμƒ μ‹œ ν•΄κ²° 방법

troubleshooting.md β€” μ§€κΈˆκΉŒμ§€ κ²ͺ은 μ—λŸ¬/해결법 λͺ¨μŒ

6. μ†Œκ°œ 자료 및 μ‹œμ—° μ˜μƒ

6.1. ν”„λ‘œμ νŠΈ μ†Œκ°œ 자료

λ°œν‘œ 자료

6.2. μ‹œμ—° μ˜μƒ

2026 μ „κΈ° μ‘Έμ—…κ³Όμ œ 24 Formula 1

7. νŒ€ ꡬ성

7.1. νŒ€μ›λ³„ μ†Œκ°œ 및 μ—­ν•  λΆ„λ‹΄

  • μœ€μ£Όμ—° (202255576, [email protected])

    • λͺ¨λ°©ν•™μŠ΅μ„ μœ„ν•œ Pick & Place 데이터셋 μˆ˜μ§‘
    • λͺ¨λΈ 뢄석 및 ν•˜μ΄νΌνŒŒλΌλ―Έν„° ν…ŒμŠ€νŒ…
    • μ„œλ²„λ₯Ό ν†΅ν•œ λͺ¨λΈ ν•™μŠ΅ ν™˜κ²½ ꡬ좕
  • κ°•νƒœν›ˆ (202155503, [email protected])

    • LeRobot SO-101 ν•˜λ“œμ›¨μ–΄ ꡬ성
    • 데이터셋 μˆ˜μ§‘ μ „λž΅ 수립 및 μˆ˜μ •
    • DAgger Correction을 μœ„ν•œ 경둜 μˆ˜μ • 데이터셋 μˆ˜μ§‘
  • 솑λͺ…κ·Ό (202355713, [email protected])

    • LeRobot SO-101 μ œμ–΄ ν™˜κ²½ ꡬ좕
    • 닀쀑 과제 해결을 μœ„ν•œ λ©€ν‹°νƒœμŠ€ν¬ ν™˜κ²½ ꡬ좕
    • λͺ¨λΈ ν•™μŠ΅ 및 μˆ˜ν–‰ κ²°κ³Ό 뢄석

7.2. νŒ€μ› 별 μ°Έμ—¬ ν›„κΈ°

πŸ‘©β€πŸ’» μœ€μ£Όμ—°

λͺ¨λΈμ˜ μ„±λŠ₯을 κ·ΉλŒ€ν™”ν•˜κΈ° μœ„ν•΄ λ‹€μ–‘ν•œ ν•˜μ΄νΌνŒŒλΌλ―Έν„° μ€‘μ—μ„œ 졜적의 값을 μ°Ύμ•„λ‚΄λŠ” ν…ŒμŠ€νŒ… 과정을 λ‹΄λ‹Ήν–ˆμŠ΅λ‹ˆλ‹€. 이 κ³Όμ •μ—μ„œ CVAE 기반의 ACT λͺ¨λΈ ꡬ쑰와 잠재 곡간에 λŒ€ν•΄ 심도 있게 μ—°κ΅¬ν•˜κ²Œ λ˜μ—ˆκ³ , 결과적으둜 ν”„λ‘œμ νŠΈμ˜ μ „λ°˜μ μΈ 완성도λ₯Ό λ†’μ΄λŠ” 데 큰 도움이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

πŸ‘¨β€πŸ’» κ°•νƒœν›ˆ

λͺ¨λΈμ˜ ν•œκ³„λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄ DAgger 기반의 볡ꡬ ꢀ적 데이터셋을 ν˜„ ν”„λ‘œμ νŠΈμ— μ μš©ν•˜λŠ” κ³Όμ •μ—μ„œ λ§Žμ€ μ‹œν–‰μ°©μ˜€λ₯Ό κ²ͺμ—ˆμŠ΅λ‹ˆλ‹€. λ‘œλ΄‡μ΄ ν—·κ°ˆλ € ν•˜λŠ” κ΅¬κ°„μ—μ„œ μ–΄λ–€ λ°©μ‹μ˜ μ‹€νŒ¨-볡ꡬ 데이터λ₯Ό μŒ“μ•„μ•Ό ν• μ§€ μˆ˜μ§‘ μ „λž΅μ„ κ³ λ―Όν•˜λ©°, 데이터 ν’ˆμ§ˆ 관리와 μ‹œμŠ€ν…œ μ•ˆμ •ν™”μ— κΈ°μ—¬ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

πŸ‘¨β€πŸ’» 솑λͺ…κ·Ό

Environment Stateλ₯Ό ν™œμš©ν•˜μ—¬ 단일 ACT λͺ¨λΈμ΄ λ©€ν‹°νƒœμŠ€ν‚Ή(Task 1, Task 2)이 κ°€λŠ₯ν•œμ§€ κ³ λ―Όν•˜κ³  이λ₯Ό μ‹œμŠ€ν…œμ— 직접 μ μš©ν•΄ λ³΄μ•˜μŠ΅λ‹ˆλ‹€. 이 κ³Όμ •μ—μ„œ μ—¬λŸ¬ μ‹œν–‰μ°©μ˜€λ₯Ό κ±°μ³€μ§€λ§Œ, 결과적으둜 ν™˜κ²½ 변화와 λ‹€μ–‘ν•œ μ‘°κ±΄μ—μ„œλ„ μœ μ—°ν•˜κ²Œ λ™μž‘ν•˜λŠ” κ°•κ±΄ν•œ(Robust) μ œμ–΄ λͺ¨λΈμ„ κ΅¬μΆ•ν•˜λŠ” 데 κΈ°μ—¬ν•  수 μžˆμ–΄ λœ»κΉŠμ—ˆμŠ΅λ‹ˆλ‹€.

8. μ°Έκ³  λ¬Έν—Œ 및 좜처

πŸ“– λ…Όλ¬Έ 및 μ•Œκ³ λ¦¬μ¦˜ 연ꡬ (Research & Papers)

πŸ€– ν•˜λ“œμ›¨μ–΄ μŠ€νŽ™ (Hardware & Specs)

πŸ’» ν”„λ ˆμž„μ›Œν¬ 및 데이터셋 (Software & Dataset)

βš™οΈ ν™˜κ²½ ꡬ좕 및 초기 μ„€μ • (Environment Setup & Configuration)

pnucse-capstone2026/capstone-2026-team-24

Python

0

53 commits

updated Sep 29, 2026

See the code

README

πŸ€— Hugging Face

CategoryLink
πŸ“Š DatasetsView all datasets
🧠 ModelsView all models
πŸ‘€ Profiles1eepypillow

1. ν”„λ‘œμ νŠΈ λ°°κ²½

1.1. μ‹œμž₯ ν˜„ν™© 및 문제점

  • μ‚°μ—… ν˜„μž₯의 μ‘°μž‘ μž‘μ—… μžλ™ν™”: 제쑰 및 λ¬Όλ₯˜ μ‚°μ—… ν˜„μž₯μ—μ„œλŠ” 물체λ₯Ό μ§‘μ–΄ μ§€μ •λœ μœ„μΉ˜λ‘œ μ΄λ™μ‹œν‚€λŠ” Pick-and-Place μž‘μ—…μ„ λ‘œλ΄‡ λ§€λ‹ˆν“°λ ˆμ΄ν„°λ‘œ μžλ™ν™”ν•˜μ—¬ 생산 κ³΅μ •μ˜ νš¨μœ¨μ„ 높이고 μžˆμŠ΅λ‹ˆλ‹€.
  • κ·œμΉ™ 기반 μ œμ–΄μ˜ ν•œκ³„: κΈ°μ‘΄ μ‹œμŠ€ν…œμ€ μž‘μ—… λŒ€μƒκ³Ό ν™˜κ²½μ΄ μΌμ •ν•˜λ‹€λŠ” κ°€μ •ν•˜μ— μ‚¬λžŒμ΄ 사전에 μ •μ˜ν•œ ꢀ적과 μˆœμ„œμ— 따라 λ‘œλ΄‡μ„ μ œμ–΄ν•˜λŠ” 방식을 주둜 μ‚¬μš©ν•΄ μ™”μŠ΅λ‹ˆλ‹€. μ‹€μ œ μž‘μ—… ν™˜κ²½μ—μ„œλŠ” 물체가 λ¬΄μž‘μœ„λ‘œ λ°°μΉ˜λ˜κ±°λ‚˜ μ£Όλ³€ ν™˜κ²½μ΄ λ³€ν™”ν•˜λŠ” λ“± λΆˆν™•μ‹€μ„±μ΄ μ‘΄μž¬ν•˜λ©°, κΈ°μ‘΄ 방식은 μ΄λŸ¬ν•œ μƒˆλ‘œμš΄ 쑰건에 λŒ€μ‘ν•˜κΈ° μœ„ν•΄ 맀번 λ³΅μž‘ν•œ κ·œμΉ™κ³Ό μ˜ˆμ™Έ 상황을 μΆ”κ°€λ‘œ 섀계해야 ν•˜λŠ” ν•œκ³„κ°€ μžˆμŠ΅λ‹ˆλ‹€.
  • 닀단계 μ •λ°€ μž‘μ—…μ—μ„œμ˜ λˆ„μ  였차: μ—¬λŸ¬ 개의 블둝을 순차적으둜 μ μž¬ν•˜λŠ” 수직 적재 μž‘μ—…μ˜ 경우, 각 λ‹¨κ³„μ—μ„œ λ°œμƒν•œ 객체 인식 및 μœ„μΉ˜ μ œμ–΄ μ˜€μ°¨κ°€ μ—°μ‡„μ μœΌλ‘œ λˆ„μ λ˜μ–΄ μž‘μ—… μ‹€νŒ¨λ‘œ μ΄μ–΄μ§€λŠ” 기술적 λ³΅μž‘μ„±μ΄ μ‘΄μž¬ν•©λ‹ˆλ‹€.

1.2. ν•„μš”μ„±κ³Ό κΈ°λŒ€νš¨κ³Ό

  • AI 기반 μ§€λŠ₯ν˜• 자율 μ œμ–΄ μ‹œμŠ€ν…œμ˜ ν•„μš”μ„±: μ •ν˜•ν™”λœ ν™˜κ²½μ—μ„œμ˜ λ‹¨μˆœ 반볡 μž‘μ—…μ—μ„œ λ²—μ–΄λ‚˜, 카메라 λ“± λΉ„μ „ μ„Όμ„œλ₯Ό 톡해 μ£Όλ³€ 상황을 μ‹€μ‹œκ°„μœΌλ‘œ κ΄€μΈ‘ν•˜κ³  μ μ ˆν•œ 행동을 슀슀둜 νŒλ‹¨ν•˜μ—¬ κ²°μ •ν•˜λŠ” μ§€λŠ₯ν˜• λ‘œλ΄‡ μ‹œμŠ€ν…œμœΌλ‘œμ˜ νŒ¨λŸ¬λ‹€μž„ μ „ν™˜μ΄ ν•„μˆ˜μ μž…λ‹ˆλ‹€.
  • λͺ¨λ°©ν•™μŠ΅μ„ ν†΅ν•œ μ œμ–΄ λ³΅μž‘μ„± ν•΄μ†Œ: μ‘°μž‘μžκ°€ 원격 μ‘°μž‘μ„ 톡해 직접 μ‹œμ—°ν•œ 행동 ꢀ적 데이터λ₯Ό ν™œμš©ν•˜μ—¬ 정책을 ν•™μŠ΅μ‹œν‚€λ©΄, λ³΅μž‘ν•œ μ œμ–΄ κ·œμΉ™μ„ μ‚¬λžŒμ΄ 직접 μž‘μ„±ν•˜μ§€ μ•Šκ³ λ„ λ‘œλ΄‡μ΄ μ‹€μ œ μž‘μ—…μ— ν•„μš”ν•œ λ™μž‘μ„ 효과적으둜 μŠ΅λ“ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • κΈ°μ‘΄ μ—°κ΅¬μ˜ ν•œκ³„ 극볡 및 ν™˜κ²½ 적응λ ₯ 확보: λŒ€μƒμ˜ μ‹œμž‘ μœ„μΉ˜κ°€ κ³ μ •λœ μ œν•œμ μΈ κΈ°μ‘΄ ν™˜κ²½μ„ λ„˜μ–΄μ„œκΈ° μœ„ν•΄ λ³Έ ν”„λ‘œμ νŠΈκ°€ ν•„μš”ν•©λ‹ˆλ‹€. μ‹œκ°μ  λ…Έμ΄μ¦ˆκ°€ μ‘΄μž¬ν•˜κ³  λΈ”λ‘μ˜ μœ„μΉ˜κ°€ λ¬΄μž‘μœ„λ‘œ λ³€ν•˜λŠ” λ³΅μž‘ν•œ ν™˜κ²½μ—μ„œλ„ μ•ˆμ •μ μΈ μ‘°μž‘ μ„±λŠ₯을 ν™•λ³΄ν•˜λŠ” 효과λ₯Ό κΈ°λŒ€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ΅œμ’… κΈ°λŒ€νš¨κ³Ό: 결과적으둜 카메라λ₯Ό ν†΅ν•œ μž‘μ—… ν™˜κ²½ 인식과 행동 생성을 μ—°κ²°ν•˜μ—¬, λ¬΄μž‘μœ„ 배치된 블둝듀에 λŒ€ν•΄ 연속적인 이동 및 적재 μž‘μ—…μ„ 자율적으둜 μ™„μˆ˜ν•˜λŠ” μ§€λŠ₯ν˜• λ‘œλ΄‡ μ œμ–΄ μ‹œμŠ€ν…œμ„ κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

2. 개발 λͺ©ν‘œ

2.1. λͺ©ν‘œ 및 μ„ΈλΆ€ λ‚΄μš©

λ³Έ ν”„λ‘œμ νŠΈμ˜ μ΅œμ’… λͺ©ν‘œλŠ” LeRobot SO-101 λ‘œλ΄‡ νŒ”μ„ ν™œμš©ν•˜μ—¬ λ¬΄μž‘μœ„λ‘œ 배치된 블둝을 λΉ„μ „ μ„Όμ„œλ‘œ μΈμ‹ν•˜κ³ , μ§€μ •λœ μ˜μ—­μ— 자율적으둜 이동 및 μ μž¬ν•  수 μžˆλŠ” μ§€λŠ₯ν˜• λ‘œλ΄‡ μ œμ–΄ μ‹œμŠ€ν…œμ„ κ΅¬μΆ•ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

  • Teleoperation 기반 데이터 μˆ˜μ§‘: Leader-Follower ꡬ쑰λ₯Ό ν™œμš©ν•΄ μ‘°μž‘μžμ˜ 직관적인 μ‘°μž‘ ꢀ적과 상단 및 손λͺ© μΉ΄λ©”λΌμ˜ μ˜μƒ 정보λ₯Ό λ™κΈ°ν™”ν•˜μ—¬ κ³ ν’ˆμ§ˆμ˜ μ‹œμ—° 데이터λ₯Ό κ΅¬μΆ•ν•©λ‹ˆλ‹€.
  • ACT(Action Chunking Transformer) λͺ¨λΈ 적용: 일정 길이의 μ—°μ†λœ 행동 μ‹œν€€μŠ€λ₯Ό ν•œ λ²ˆμ— μ˜ˆμΈ‘ν•˜λŠ” ACT λͺ¨λΈμ„ λ„μž…ν•˜μ—¬, μ‹œκ³„μ—΄μ  λˆ„μ  였차λ₯Ό 쀄이고 λ‘œλ΄‡ μ‘°μž‘μ˜ λΆ€λ“œλŸ¬μ›€κ³Ό μž‘μ—… 연속성을 ν™•λ³΄ν•©λ‹ˆλ‹€.
  • 단일 λͺ¨λΈ 기반 λ©€ν‹°νƒœμŠ€ν‚Ή: 데이터셋에 observation.environment_state 속성을 μΆ”κ°€ν•˜μ—¬, ν•˜λ‚˜μ˜ 인곡지λŠ₯ λͺ¨λΈμ΄ Task 1(5개의 블둝을 W ν˜•νƒœλ‘œ ꡬ역 λ‚΄ 배치)κ³Ό Task 2(블둝 수직 적재)λ₯Ό λͺ…ν™•νžˆ κ΅¬λΆ„ν•˜κ³  μˆ˜ν–‰ν•˜λ„λ‘ μ„€κ³„ν•©λ‹ˆλ‹€.
  • μ„œλ²„-ν΄λΌμ΄μ–ΈνŠΈ μ‹€μ‹œκ°„ μ œμ–΄ λΆ„μ‚° ꡬ쑰: 카메라 μ˜μƒ μˆ˜μ§‘ 및 μ‹€μ œ λ‘œλ΄‡ μ œμ–΄λŠ” Jetson Orin Nanoκ°€ λ‹΄λ‹Ήν•˜κ³ , 무거운 μ •μ±… 좔둠은 μ—°μ‚° μ„±λŠ₯이 λ›°μ–΄λ‚œ GPU μ„œλ²„κ°€ λ‹΄λ‹Ήν•˜λŠ” λΆ„μ‚° μ•„ν‚€ν…μ²˜λ₯Ό κ΅¬μΆ•ν•˜μ—¬ μ•½ 30Hz의 μ•ˆμ •μ μΈ μ‹€μ‹œκ°„ μ œμ–΄ μ£ΌκΈ°λ₯Ό λ‹¬μ„±ν•©λ‹ˆλ‹€.

2.2. κΈ°μ‘΄ μ„œλΉ„μŠ€ λŒ€λΉ„ 차별성

κΈ°μ‘΄ μ˜€ν”ˆμ†ŒμŠ€ 데이터셋을 ν™œμš©ν•œ μ„ ν–‰ 연ꡬ듀은 λ‹¨μΌν•œ 검은색 λ°°κ²½μ—μ„œ 물체의 μ‹œμž‘ μœ„μΉ˜κ°€ κ³ μ •λœ μ œν•œμ  ν™˜κ²½μ„ μ „μ œλ‘œ, 단일 블둝을 톡 μ•ˆμ— λ„£λŠ” λ‹¨μˆœν•œ νƒœμŠ€ν¬λ§Œμ„ μˆ˜ν–‰ν•œλ‹€λŠ” ν•œκ³„κ°€ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. λ³Έ ν”„λ‘œμ νŠΈλŠ” 이λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄ λ‹€μŒκ³Ό 같은 차별성을 κ°€μ§‘λ‹ˆλ‹€.

  • λ³΅μž‘ν•œ μ‹œκ°μ  ν™˜κ²½ 및 νƒœμŠ€ν¬ 연속성 극볡: 검은색과 흰색이 κ΅μ°¨ν•˜λŠ” 격자무늬 배경을 μ‚¬μš©ν•˜μ—¬ λΉ„μ „ λͺ¨λΈμ˜ κ°•κ±΄ν•œ νŠΉμ§• μΆ”μΆœμ„ μœ λ„ν•˜μ˜€μœΌλ©°, 단일 블둝 μ‘°μž‘μ„ λ„˜μ–΄ 5개의 블둝을 μ—°μ†μ μœΌλ‘œ νŒŒμ§€ν•˜κ³  μ •λ°€ν•˜κ²Œ 수직으둜 μ μž¬ν•˜λŠ” κ³ λ‚œλ„ μž‘μ—…μ„ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.
  • λ‹€μ–‘ν•œ 곡간적 μƒνƒœ 전이(State Transition) ν•™μŠ΅: λ‹¨μˆœνžˆ μ—ν”Όμ†Œλ“œ 수만 λŠ˜λ¦¬λŠ” 것이 μ•„λ‹ˆλΌ λΈ”λ‘μ˜ 쒌/우츑 편ν–₯, 상/ν•˜μΈ‘ 집쀑, 경계 인접 λ“± λ‹€μ–‘ν•œ μœ„μΉ˜ 쑰건을 μ˜λ„μ μœΌλ‘œ μ„€κ³„ν•˜μ—¬ λͺ¨λΈμ˜ 곡간적 μΌλ°˜ν™” μ„±λŠ₯을 κ·ΉλŒ€ν™”ν–ˆμŠ΅λ‹ˆλ‹€.
  • DAgger(Dataset Aggregation) νŒŒμ΄ν”„λΌμΈ λ„μž…: λ‹¨μˆœ 행동 볡제(Behavior Cloning) μ‹œ λ°œμƒν•˜λŠ” λˆ„μ  였차 및 μ΄νƒˆ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄, λ‘œλ΄‡μ΄ μ˜€μž‘λ™μ„ μΌμœΌν‚€λŠ” μ·¨μ•½ μƒνƒœμ—μ„œ μ „λ¬Έκ°€κ°€ μ‹€μ‹œκ°„μœΌλ‘œ κ°œμž…ν•΄ μ˜¬λ°”λ₯Έ 볡ꡬ ꢀ적을 μ œκ³΅ν•˜κ³  이λ₯Ό μž¬ν•™μŠ΅ν•˜λŠ” ν˜μ‹ μ μΈ λŠ₯동적 ꡐ정 μ‹œμŠ€ν…œμ„ κ΅¬μΆ•ν–ˆμŠ΅λ‹ˆλ‹€.

2.3. μ‚¬νšŒμ  κ°€μΉ˜ λ„μž… κ³„νš

  • 제쑰 및 λ¬Όλ₯˜ μ‚°μ—…μ˜ μœ μ—°ν•œ μžλ™ν™” κΈ°μ—¬: μž‘μ—… λŒ€μƒμ˜ μœ„μΉ˜λ‚˜ μ£Όλ³€ ν™˜κ²½μ΄ λ³€ν™”ν•  λ•Œλ§ˆλ‹€ μ‚¬λžŒμ΄ μ œμ–΄ κ·œμΉ™μ„ μΆ”κ°€ν•΄μ•Ό ν–ˆλ˜ κΈ°μ‘΄ κ·œμΉ™ 기반 μ œμ–΄μ˜ ν•œκ³„λ₯Ό λ²—μ–΄λ‚˜, ν™˜κ²½ 변화에 슀슀둜 λŒ€μ‘ν•˜λŠ” μ§€λŠ₯ν˜• μ‹œμŠ€ν…œμ„ 톡해 μ‚°μ—… ν˜„μž₯의 νš¨μœ¨μ„±κ³Ό 생산성을 λ†’μž…λ‹ˆλ‹€.
  • κ²½λŸ‰ν™” λͺ¨λΈ 채택을 ν†΅ν•œ μΉœν™˜κ²½μ  AI μ‹€ν˜„: μ΅œμ†Œ μˆ˜μ‹­μ–΅ 개의 νŒŒλΌλ―Έν„°μ™€ λ§‰λŒ€ν•œ μ»΄ν“¨νŒ… μžμ›μ„ μš”κ΅¬ν•˜λŠ” κ±°λŒ€ λ²”μš© λ‘œλ΄‡ λͺ¨λΈ λŒ€μ‹ , μ•½ 8,000만 개의 νŒŒλΌλ―Έν„°λ‘œ κ΅¬μ„±λœ κ²½λŸ‰ν™” ACT λͺ¨λΈμ„ μ±„νƒν–ˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 μ—£μ§€ λ””λ°”μ΄μŠ€μ™€ 단일 GPU ν™˜κ²½μ—μ„œλ„ μ›ν™œν•œ ν•™μŠ΅ 및 μ‹€μ‹œκ°„ μ œμ–΄κ°€ κ°€λŠ₯ν•˜λ„λ‘ ν•˜μ—¬ μ „λ ₯ μ†Œλͺ¨λ₯Ό μ΅œμ†Œν™”ν•©λ‹ˆλ‹€.
  • μ•ˆμ „ 기반 μ œμ–΄λ₯Ό ν†΅ν•œ ν•˜λ“œμ›¨μ–΄ 지속가λŠ₯μ„± 확보: 인곡지λŠ₯ λͺ¨λΈμ˜ 예츑 였λ₯˜κ°€ ν•˜λ“œμ›¨μ–΄ νŒŒμ†μœΌλ‘œ 이어지지 μ•Šλ„λ‘, 각 κ΄€μ ˆμ˜ ν—ˆμš© μœ„μΉ˜ λ²”μœ„μ™€ Stepλ‹Ή μ΅œλŒ€ λ³€ν™”λŸ‰μ„ 물리적으둜 μ œν•œν•˜λŠ” 이쀑 μ•ˆμ „ λ‘œμ§μ„ κ΅¬ν˜„ν•˜μ—¬ λ‘œλ΄‡ μ‹œμŠ€ν…œμ˜ μ•ˆμ „μ„±κ³Ό 수λͺ…을 보μž₯ν•©λ‹ˆλ‹€.

3. μ‹œμŠ€ν…œ 섀계

3.1. μ‹œμŠ€ν…œ ꡬ성도

image

λ³Έ ν”„λ‘œμ νŠΈμ˜ μ‹œμŠ€ν…œμ€ λ‘œλ΄‡μ˜ μ‹€μ‹œκ°„ μ œμ–΄μ™€ κ³ μ—°μ‚° AI μΆ”λ‘ μ˜ λΆ€ν•˜λ₯Ό λΆ„μ‚°ν•˜κΈ° μœ„ν•΄ μ„œλ²„-ν΄λΌμ΄μ–ΈνŠΈ 기반의 ꡬ쑰둜 μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

  • Jetson Client (μ—£μ§€ μ œμ–΄ ν™˜κ²½): μ‹€μ œ λ‘œλ΄‡(LeRobot SO-101)κ³Ό μ—°κ²°λ˜μ–΄ μž‘μ—… κ³΅κ°„μ˜ 카메라 μ˜μƒ(상단/손λͺ©)κ³Ό λ‘œλ΄‡μ˜ ν˜„μž¬ κ΄€μ ˆ μƒνƒœλ₯Ό μˆ˜μ§‘ν•©λ‹ˆλ‹€. μˆ˜μ§‘λœ μ˜μƒμ€ JPEG둜 μ••μΆ•λ˜μ–΄ κ΄€μ ˆ 데이터와 ν•¨κ»˜ μ„œλ²„λ‘œ μ „μ†‘λ˜λ©°, μ„œλ²„λ‘œλΆ€ν„° μˆ˜μ‹ λœ λ™μž‘ λͺ…령을 νŒ”λ‘œμ›Œ 암에 μ¦‰κ°μ μœΌλ‘œ μ μš©ν•©λ‹ˆλ‹€.

  • μΆ”λ‘  Server (GPU μ„œλ²„): ν΄λΌμ΄μ–ΈνŠΈλ‘œλΆ€ν„° TCP Socket을 톡해 전달받은 κ΄€μΈ‘ 데이터λ₯Ό ACT μ •μ±… λͺ¨λΈμ— μž…λ ₯ν•˜μ—¬ λ‹€μŒ λ‘œλ΄‡μ˜ 행동을 Chunk λ‹¨μœ„λ‘œ μƒμ„±ν•˜κ³  이λ₯Ό λ‹€μ‹œ ν΄λΌμ΄μ–ΈνŠΈλ‘œ λ°˜ν™˜ν•©λ‹ˆλ‹€.

3.2. μ‚¬μš© 기술

Hardware

  • Edge Device: Jetson Orin Nano (ARM64 μ•„ν‚€ν…μ²˜)
  • Server Device: NVIDIA RTX 5090 (32GB VRAM GPU μ„œλ²„)
  • Robot: LeRobot SO-101 (Leader-Follower ꡬ쑰, 6μžμœ λ„ λ§€λ‹ˆν“°λ ˆμ΄ν„°)
  • Sensor: 640x480 해상도(30FPS)의 상단(Top-view) 및 손λͺ©(Wrist-view) 카메라

Software & Environment

  • OS / Environment: JetPack 6.2.2, Docker μ»¨ν…Œμ΄λ„ˆ, Conda κ°€μƒν™˜κ²½
  • Robot Control: LeRobot Framework, ROS 2
  • 톡신 (Network): TCP Socket 톡신 , USB Serial/UVC 톡신

AI & Machine Learning

  • Core Model: ACT (Action Chunking with Transformers), DAgger (Dataset Aggregation) μ•Œκ³ λ¦¬μ¦˜
  • Framework: PyTorch (CUDA 기반 GPU μ—°μ‚° ν™˜κ²½)
  • Vision Processing: OpenCV (카메라 μΈν„°νŽ˜μ΄μŠ€ 및 μ‹€μ‹œκ°„ ν”„λ ˆμž„ νšλ“/μ••μΆ•)
  • MLOps & Tracking: Hugging Face Hub (ν•™μŠ΅ 데이터셋 및 μ •μ±… λͺ¨λΈ Checkpoint 관리), Weights & Biases (W&B, ν•™μŠ΅ Loss 및 μ§€ν‘œ λͺ¨λ‹ˆν„°λ§)

4. 개발 결과

4.1. 전체 μ‹œμŠ€ν…œ 흐름도

image

4.2. κΈ°λŠ₯ μ„€λͺ… 및 μ£Όμš” κΈ°λŠ₯ λͺ…μ„Έμ„œ

λ‘œλ΄‡ νŒ” μ œμ–΄ μ‹œμŠ€ν…œμ˜ 핡심 κΈ°λŠ₯κ³Ό 각 κΈ°λŠ₯별 μž…λ ₯/좜λ ₯ λͺ…μ„ΈλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

κΈ°λŠ₯λͺ…μž…λ ₯ (Input)좜λ ₯ (Output)상세 μ„€λͺ…
Teleoperation 데이터 μˆ˜μ§‘μ‘°μž‘μžμ˜ Leader Arm 물리적 μ‘°μž‘Follower Arm λ™μž‘ μˆ˜ν–‰ 및 μ‹œμ—° μ—ν”Όμ†Œλ“œ λ‘œκΉ…μ‚¬μš©μžκ°€ Leader Arm을 μ‘°μž‘ν•˜λ©΄ Follower Arm이 이λ₯Ό λ”°λΌν•˜λ©°, 상단/손λͺ© 카메라 μ˜μƒκ³Ό κ΄€μ ˆ μƒνƒœλ₯Ό μ‹€μ‹œκ°„μœΌλ‘œ κΈ°λ‘ν•˜μ—¬ ν•™μŠ΅ 데이터셋을 κ΅¬μΆ•ν•©λ‹ˆλ‹€.
ACT 기반 행동 μΆ”λ‘ μ‹€μ‹œκ°„ 카메라 μ˜μƒ(Top, Wrist), λ‘œλ΄‡ κ΄€μ ˆ μƒνƒœ(observation.state), Task 쑰건(environment_state)행동 청크 (Action Chunk)μ„œλ²„μ˜ GPU ν™˜κ²½μ—μ„œ λ™μž‘ν•˜λ©°, μž…λ ₯된 λΉ„μ „ 및 μƒνƒœ 데이터λ₯Ό λ°”νƒ•μœΌλ‘œ ν–₯ν›„ μ—°μ†λœ λͺ©ν‘œ κ΄€μ ˆ ꢀ적을 ν•œ λ²ˆμ— μ˜ˆμΈ‘ν•©λ‹ˆλ‹€.
μ„œλ²„-ν΄λΌμ΄μ–ΈνŠΈ μ‹€μ‹œκ°„ ν†΅μ‹ μ••μΆ•λœ 카메라 μ˜μƒ(JPEG) 및 ν˜„μž¬ λ‘œλ΄‡ κ΄€μ ˆ μƒνƒœACT λͺ¨λΈμ΄ μΆ”λ‘ ν•œ λ‹€μŒ λͺ©ν‘œ 행동 λͺ…λ ΉJetson Clientμ—μ„œ μ†ŒμΌ“ 톡신을 톡해 데이터λ₯Ό μ†‘μ‹ ν•˜κ³ , μ„œλ²„λ‘œλΆ€ν„° μˆ˜μ‹ ν•œ 행동 λͺ…령을 30Hz둜 λ‘œλ΄‡μ— μ μš©ν•©λ‹ˆλ‹€.
Temporal Ensembling μ œμ–΄ν˜„μž¬ μŠ€ν… 및 이전 μŠ€ν…λ“€μ—μ„œ 예츑된 쀑첩 행동 청크듀가쀑 ν‰κ· λœ μ΅œμ’… 단일 행동 λͺ…λ Ήλ§€ μ œμ–΄ μ£ΌκΈ°λ§ˆλ‹€ μƒˆλ‘œμš΄ 관츑을 톡해 행동을 μ˜ˆμΈ‘ν•˜λ˜, μ‹œκ³„μ—΄ μƒμ—μ„œ μ€‘μ²©λ˜λŠ” μ˜ˆμΈ‘κ°’λ“€μ„ μ§€μˆ˜ 가쀑 ν‰κ· ν•˜μ—¬ λ‘œλ΄‡μ˜ λœμ»Ήκ±°λ¦Όμ„ μ™„ν™”ν•˜κ³  λΆ€λ“œλŸ¬μš΄ ꢀ적을 μƒμ„±ν•©λ‹ˆλ‹€.
μ œμ–΄ μ•ˆμ „ λ‘œμ§μΆ”λ‘  μ„œλ²„λ‘œλΆ€ν„° μˆ˜μ‹ λœ μ •μ±… 좜λ ₯(λͺ©ν‘œ κ΄€μ ˆ 각도)μ•ˆμ „ λ²”μœ„ λ‚΄μ˜ μ΅œμ’… κ΄€μ ˆ μ œμ–΄κ°’λͺ¨λΈμ˜ 예츑 였λ₯˜λ‘œ μΈν•œ κΈ‰κ²©ν•œ μ›€μ§μž„μ„ λ°©μ§€ν•˜κΈ° μœ„ν•΄, 각 κ΄€μ ˆμ˜ 물리적 ν—ˆμš© λ²”μœ„μ™€ 1 Stepλ‹Ή μ΅œλŒ€ λ³€ν™”λŸ‰μ„ μ œν•œν•©λ‹ˆλ‹€.
DAgger 기반 κ΅μ •μ‹€νŒ¨ 및 OOD μƒνƒœ μ§„μž… μ‹œ ν…”λ ˆμ˜€νΌλ ˆμ΄ν„°μ˜ 즉각적인 κ°œμž…κΈ°μ‘΄ 데이터셋에 병합될 정상 볡ꡬ ꢀ적 λ°μ΄ν„°λ‘œλ΄‡μ΄ λͺ©ν‘œ μ˜μ—­μ„ μ˜€μΈμ‹ν•˜κ±°λ‚˜ νŠΉμ • μœ„μΉ˜μ—μ„œ 멈좜 λ•Œ μ „λ¬Έκ°€κ°€ κ°œμž…ν•˜μ—¬ 정상 ꢀ적으둜 λ³΅κ΅¬ν•˜λŠ” 행동을 μ‹œμ—°ν•˜κ³ , 이λ₯Ό λ°μ΄ν„°λ‘œ μ €μž₯ν•˜μ—¬ λͺ¨λΈμ„ μž¬ν•™μŠ΅ν•©λ‹ˆλ‹€.

4.3. 디렉토리 ꡬ쑰

https://github.com/pnucse-capstone2026/capstone-2026-team-24/tree/main/lerobot

4.4. 산업체 λ©˜ν† λ§ 의견 및 반영 사항

λ³Έ ν”„λ‘œμ νŠΈ μ§„ν–‰ κ³Όμ •μ—μ„œ μ‚°ν•™ν˜‘λ ₯ λ©˜ν† μ˜ ν”Όλ“œλ°±μ„ μˆ˜λ ΄ν•˜μ—¬ μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜λ₯Ό κ°œμ„ ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

  • λ©˜ν† λ§ 의견: μ΄ˆκΈ°μ—λŠ” Jetson Orin Nano λ‚΄λΆ€μ—μ„œ λͺ¨λΈ μΆ”λ‘ κΉŒμ§€ 직접 μˆ˜ν–‰ν•˜λŠ” '둜컬 μΆ”λ‘ ' λ°©μ‹μœΌλ‘œ μ‹œμŠ€ν…œμ„ κ΅¬μ„±ν•˜μ˜€μœΌλ‚˜, μ‚°ν•™ν˜‘λ ₯ λ©˜ν† λ‘œλΆ€ν„° "둜컬 μΆ”λ‘ κ³Ό μ„œλ²„ μΆ”λ‘  방식 쀑 μ‹€μ œ λ‘œλ΄‡ μ œμ–΄ μ‹œμŠ€ν…œμ— κ°€μž₯ μ ν•©ν•˜κ³  μ•ˆμ •μ μΈ ꡬ쑰λ₯Ό λͺ…ν™•ν•˜κ²Œ κ²€μ¦ν•˜κ³  κ²°μ •ν•  ν•„μš”κ°€ μžˆλ‹€"λŠ” ν”Όλ“œλ°±μ„ λ°›μ•˜μŠ΅λ‹ˆλ‹€.

ν”Όλ“œλ°±μ„ λ°˜μ˜ν•˜μ—¬ 둜컬 μΆ”λ‘  방식과 μ„œλ²„ μΆ”λ‘  방식 두 κ°€μ§€ μ•„ν‚€ν…μ²˜λ₯Ό λͺ¨λ‘ κ΅¬ν˜„ν•˜κ³  μ‹€μ œ ν™˜κ²½μ—μ„œ μ œμ–΄ μ„±λŠ₯을 비ꡐ ν‰κ°€ν•˜μ˜€μŠ΅λ‹ˆλ‹€. 평가 κ²°κ³Ό, Jetson μž₯치 ν•˜λ‚˜μ—μ„œ μ˜μƒ 처리, μ œμ–΄, μΆ”λ‘  연산을 λ™μ‹œμ— μˆ˜ν–‰ν•˜λŠ” 것보닀 역할을 λΆ„λ¦¬ν•˜λŠ” 것이 μœ λ¦¬ν•˜λ‹€κ³  νŒλ‹¨ν•˜μ˜€μŠ΅λ‹ˆλ‹€. μ΅œμ’…μ μœΌλ‘œ GPU μ„œλ²„μ—μ„œ μ—°μ‚°λŸ‰μ΄ 높은 ACT μ •μ±… 좔둠을 μ „λ‹΄ν•˜κ³ , Jetson Orin NanoλŠ” 카메라 데이터 μˆ˜μ§‘κ³Ό μ‹€μ‹œκ°„ λ‘œλ΄‡ μ œμ–΄λ§Œμ„ λ‹΄λ‹Ήν•˜λŠ” 'μ„œλ²„-ν΄λΌμ΄μ–ΈνŠΈ 기반 λΆ„μ‚° ꡬ쑰'둜 μ‹œμŠ€ν…œμ„ μˆ˜μ •ν•˜μ˜€μŠ΅λ‹ˆλ‹€. 이λ₯Ό 톡해 λ„€νŠΈμ›Œν¬ μ˜€λ²„ν—€λ“œλ₯Ό ν¬ν•¨ν•˜κ³ λ„ 평균 30Hz의 μ•ˆμ •μ μΈ μ‹€μ‹œκ°„ μ œμ–΄ μ£ΌκΈ°λ₯Ό 달성할 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

5. μ„€μΉ˜ 및 μ‹€ν–‰ 방법

5.1. μ„€μΉ˜μ ˆμ°¨ 및 μ‹€ν–‰ 방법

5.1.1. ν™˜κ²½ μ„ΈνŒ… (GPU μ„œλ²„, 졜초 1회)
bash scripts/setup_env.sh
5.1.2. 데이터 μˆ˜μ§‘ (Jetson Orin Nano)
export HF_USER={USERNAME}
bash scripts/record.sh
5.1.3. 데이터셋 병합
export HF_USER={USERNAME}
bash scripts/merge_dataset.sh
5.1.4. ACT ν•™μŠ΅ (GPU μ„œλ²„)
tmux new -s train
export HF_USER={USERNAME}
bash scripts/train.sh
# Ctrl+B, D 둜 μ„Έμ…˜μ—μ„œ λΉ μ Έλ‚˜μ˜€κΈ° (λ°±κ·ΈλΌμš΄λ“œλ‘œ 계속 진행됨)
5.1.5. μ‹€λ¬Ό λ‘œλ΄‡ 배포 및 평가 (Jetson Orin Nano)
export HF_USER={USERNAME}
bash scripts/rollout.sh
5.1.6. GPU μ„œλ²„μ—μ„œ μΆ”λ‘  μ„œλ²„ μ‹€ν–‰
python server_inference.py \
  --policy_path {Hugging_Face_μ‚¬μš©μžλͺ…}/{λͺ¨λΈ_μ €μž₯μ†Œλͺ…} \
  --dataset_repo_id {Hugging_Face_μ‚¬μš©μžλͺ…}/{데이터셋_μ €μž₯μ†Œλͺ…} \
  --dataset_root {둜컬_데이터셋_경둜} \
  --port {μ„œλ²„_포트} \
  --use_env_state
5.1.7. Jetsonμ—μ„œ ν΄λΌμ΄μ–ΈνŠΈ μ‹€ν–‰
python jetson_client.py \
  --server_host {GPU_μ„œλ²„_IP} \
  --server_port {μ„œλ²„_포트} \
  --environment_state {Task_ID}

5.2. 였λ₯˜ λ°œμƒ μ‹œ ν•΄κ²° 방법

troubleshooting.md β€” μ§€κΈˆκΉŒμ§€ κ²ͺ은 μ—λŸ¬/해결법 λͺ¨μŒ

6. μ†Œκ°œ 자료 및 μ‹œμ—° μ˜μƒ

6.1. ν”„λ‘œμ νŠΈ μ†Œκ°œ 자료

λ°œν‘œ 자료

6.2. μ‹œμ—° μ˜μƒ

2026 μ „κΈ° μ‘Έμ—…κ³Όμ œ 24 Formula 1

7. νŒ€ ꡬ성

7.1. νŒ€μ›λ³„ μ†Œκ°œ 및 μ—­ν•  λΆ„λ‹΄

  • μœ€μ£Όμ—° (202255576, [email protected])

    • λͺ¨λ°©ν•™μŠ΅μ„ μœ„ν•œ Pick & Place 데이터셋 μˆ˜μ§‘
    • λͺ¨λΈ 뢄석 및 ν•˜μ΄νΌνŒŒλΌλ―Έν„° ν…ŒμŠ€νŒ…
    • μ„œλ²„λ₯Ό ν†΅ν•œ λͺ¨λΈ ν•™μŠ΅ ν™˜κ²½ ꡬ좕
  • κ°•νƒœν›ˆ (202155503, [email protected])

    • LeRobot SO-101 ν•˜λ“œμ›¨μ–΄ ꡬ성
    • 데이터셋 μˆ˜μ§‘ μ „λž΅ 수립 및 μˆ˜μ •
    • DAgger Correction을 μœ„ν•œ 경둜 μˆ˜μ • 데이터셋 μˆ˜μ§‘
  • 솑λͺ…κ·Ό (202355713, [email protected])

    • LeRobot SO-101 μ œμ–΄ ν™˜κ²½ ꡬ좕
    • 닀쀑 과제 해결을 μœ„ν•œ λ©€ν‹°νƒœμŠ€ν¬ ν™˜κ²½ ꡬ좕
    • λͺ¨λΈ ν•™μŠ΅ 및 μˆ˜ν–‰ κ²°κ³Ό 뢄석

7.2. νŒ€μ› 별 μ°Έμ—¬ ν›„κΈ°

πŸ‘©β€πŸ’» μœ€μ£Όμ—°

λͺ¨λΈμ˜ μ„±λŠ₯을 κ·ΉλŒ€ν™”ν•˜κΈ° μœ„ν•΄ λ‹€μ–‘ν•œ ν•˜μ΄νΌνŒŒλΌλ―Έν„° μ€‘μ—μ„œ 졜적의 값을 μ°Ύμ•„λ‚΄λŠ” ν…ŒμŠ€νŒ… 과정을 λ‹΄λ‹Ήν–ˆμŠ΅λ‹ˆλ‹€. 이 κ³Όμ •μ—μ„œ CVAE 기반의 ACT λͺ¨λΈ ꡬ쑰와 잠재 곡간에 λŒ€ν•΄ 심도 있게 μ—°κ΅¬ν•˜κ²Œ λ˜μ—ˆκ³ , 결과적으둜 ν”„λ‘œμ νŠΈμ˜ μ „λ°˜μ μΈ 완성도λ₯Ό λ†’μ΄λŠ” 데 큰 도움이 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

πŸ‘¨β€πŸ’» κ°•νƒœν›ˆ

λͺ¨λΈμ˜ ν•œκ³„λ₯Ό κ·Ήλ³΅ν•˜κΈ° μœ„ν•΄ DAgger 기반의 볡ꡬ ꢀ적 데이터셋을 ν˜„ ν”„λ‘œμ νŠΈμ— μ μš©ν•˜λŠ” κ³Όμ •μ—μ„œ λ§Žμ€ μ‹œν–‰μ°©μ˜€λ₯Ό κ²ͺμ—ˆμŠ΅λ‹ˆλ‹€. λ‘œλ΄‡μ΄ ν—·κ°ˆλ € ν•˜λŠ” κ΅¬κ°„μ—μ„œ μ–΄λ–€ λ°©μ‹μ˜ μ‹€νŒ¨-볡ꡬ 데이터λ₯Ό μŒ“μ•„μ•Ό ν• μ§€ μˆ˜μ§‘ μ „λž΅μ„ κ³ λ―Όν•˜λ©°, 데이터 ν’ˆμ§ˆ 관리와 μ‹œμŠ€ν…œ μ•ˆμ •ν™”μ— κΈ°μ—¬ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

πŸ‘¨β€πŸ’» 솑λͺ…κ·Ό

Environment Stateλ₯Ό ν™œμš©ν•˜μ—¬ 단일 ACT λͺ¨λΈμ΄ λ©€ν‹°νƒœμŠ€ν‚Ή(Task 1, Task 2)이 κ°€λŠ₯ν•œμ§€ κ³ λ―Όν•˜κ³  이λ₯Ό μ‹œμŠ€ν…œμ— 직접 μ μš©ν•΄ λ³΄μ•˜μŠ΅λ‹ˆλ‹€. 이 κ³Όμ •μ—μ„œ μ—¬λŸ¬ μ‹œν–‰μ°©μ˜€λ₯Ό κ±°μ³€μ§€λ§Œ, 결과적으둜 ν™˜κ²½ 변화와 λ‹€μ–‘ν•œ μ‘°κ±΄μ—μ„œλ„ μœ μ—°ν•˜κ²Œ λ™μž‘ν•˜λŠ” κ°•κ±΄ν•œ(Robust) μ œμ–΄ λͺ¨λΈμ„ κ΅¬μΆ•ν•˜λŠ” 데 κΈ°μ—¬ν•  수 μžˆμ–΄ λœ»κΉŠμ—ˆμŠ΅λ‹ˆλ‹€.

8. μ°Έκ³  λ¬Έν—Œ 및 좜처

πŸ“– λ…Όλ¬Έ 및 μ•Œκ³ λ¦¬μ¦˜ 연ꡬ (Research & Papers)

πŸ€– ν•˜λ“œμ›¨μ–΄ μŠ€νŽ™ (Hardware & Specs)

πŸ’» ν”„λ ˆμž„μ›Œν¬ 및 데이터셋 (Software & Dataset)

βš™οΈ ν™˜κ²½ ꡬ좕 및 초기 μ„€μ • (Environment Setup & Configuration)