Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

SimAsset-Evaluation

Physical AI 시뮬레이션에서 실패하는 3D 에셋 도감 만들기

제작한 3D 에셋이 시뮬레이션에서 제대로 구동될지 미리 알 수 있는 근거를 만듭니다.

🗓 일시 매주 화요일 저녁 8시 ~ 10시
📍 장소 Discord Room-YL, 오프라인 모임 병행 (월 1회, 강남역 인근)
기간 14주 (활동 12주 + 휴식 2주)
🕐 예상 소요 시간 정기 모임과 별도로 주당 2시간

✨ Why this project?

프로젝트 배경

로봇은 현실에 나가기 전에 시뮬레이션에서 먼저 배웁니다. 시뮬레이션 속 컵, 상자, 공구는 모두 누군가 만든 3D 에셋(3D asset: 3D 물체 파일)입니다.

현업에서 이 에셋은 보통 이렇게 만들어집니다. 3D 디자이너가 형태와 질감을 만들어 넘기면, 시뮬레이션 엔지니어가 물리 엔진에 넣어 제대로 움직이는지 확인합니다. 화면에서는 멀쩡해 보이는 에셋이 물리 엔진 안에서는 바닥을 뚫고 가라앉거나, 가만히 있어야 할 때 떨리거나, 저절로 미끄러집니다. 이런 문제를 해결하기 위해 에셋은 디자이너에게 되돌아가고, 고쳐서 다시 넘깁니다. 이 왕복에서 시간이 많이 소요됩니다.

문제를 발견할 수 있는 사람과 고칠 수 있는 사람이 다르고, 발견이 파이프라인 맨 끝에서 일어납니다. 또한 에셋이 시뮬레이션에서 정확히 동작하는지는 사람의 판단에 크게 의존하지만, 그 감각이 어떤 측정값에 대응하는지는 공개된 데이터셋이 부재합니다.

기존에 이미 있는 것

규칙과 도구는 이미 정비되어 있습니다. 없는 것은 그 규칙이 실제 에셋에서 어떻게 작동하는지에 대한 공개 측정 결과입니다.

이미 있는 것 누가
USD 검증 규칙 NVIDIA SimReady Foundation
정적 메시 검사 (non-manifold, self-intersection, 두께) Blender 3D Print Toolbox
포맷 변환과 자동 수정 도구 여러 곳
생성형 3D 모델 벤치마킹 PhysX-Bench
에셋 데이터셋의 물성 대량 주석 PhysAssets 등

그래서 규칙은 남이 만든 것을 호출하고, 우리는 그 규칙을 여러 에셋에 돌려 결과를 공개하는 쪽으로 갈라섭니다. 2~3주차에 이 경계를 팀 전체가 다시 확인합니다.


🎯 프로젝트 개요

SimAsset-Evaluation 프로젝트에서는, 제작한 3D 에셋이 시뮬레이션 상에서 제대로 구동될 지 미리 알 수 있는 근거를 만듭니다.

  • 공개 3D 에셋 50개 이상을 MuJoCo / Isaac Sim 물리 엔진에서 검사합니다.
  • 침하, 떨림, 미끄러짐을 자동으로 측정하고, 적절 / 부적절을 판정합니다.
  • 검사 하네스와 평가 데이터셋을 공개합니다.
  • 추가로, 에셋 제작 방식에 따른 평가 결과를 비교하여 공개합니다.

우리가 풀고 싶은 문제

로봇 시뮬레이션용 3D 에셋을 만들거나 고르는 사람들이, 에셋이 시뮬레이션에서 제대로 작동할지 미리 판단할 공개된 근거가 없기 때문에 파이프라인 맨 끝에서야 문제를 발견하고 디자이너와 엔지니어 사이를 왕복하고 있다.


📦 Milestone

  • 3D 에셋 평가 방법과 시뮬레이션용 에셋 활용 사례를 리뷰하고, 기존 벤치마크(PhysX-Bench 등)와 우리 평가의 차이 정리
  • 전원이 MuJoCo를 설치하고 에셋 하나를 떨어뜨려 영상으로 저장 (환경 구성이 가능한 경우 Isaac Sim 활용)
  • OBJ나 glTF 에셋 하나를 명령 한 줄로 안착·낙하 검사에 넣고 측정값과 영상을 받는 스크립트
  • 공개 에셋 50개 이상을 검사한 평가 데이터셋 (에셋 출처, 측정값, 판정, 영상 링크 등)
  • 사례를 증상별로 분류하고 재현 가능한 형태로 공개

Expected Outcome

  • Dataset: 평가 데이터셋. 원본 에셋은 재배포하지 않고 출처 식별자와 파일 해시, 측정값만 기록합니다
  • Open Source Repository: 검사 하네스, 리포트 스키마, 재현 스크립트
  • Research / Experiment: 에셋 제작 방식에 따라 무엇이 어떻게 실패하는지에 대한 분석
  • Documentation: 비전공자가 읽을 수 있는 용어집. 팀이 배우면서 만든 것이 그대로 산출물이 됩니다

완벽한 결과물보다, 실제로 작동하고 남이 재현할 수 있는 무언가를 남기는 것을 목표로 합니다.


🔬 무엇을 어떻게 재는가

측정 대상은 입력 속성이 아니라 출력 증상입니다

지표 단위 무엇을 보는가
침하 (penetration) mm 물체가 바닥을 얼마나 뚫고 들어가는가
떨림 (jitter) mm 멈춰 있어야 할 구간의 위치 흔들림
미끄러짐 (drift) mm 낙하 지점에서 안착 지점까지의 수평 이동
안착 시간 (settle time) s 멈추는 데 걸리는 시간

폴리곤 수는 합격 기준이 아닙니다. 렌더링 폴리곤 예산은 팀마다 하드웨어마다 다른 절충이고, 각 팀이 이미 성능 테스트로 정하고 있습니다. 폴리곤 수와 충돌 형상 복잡도는 원인 후보와 통계 항목으로만 등장합니다. "폴리곤 48만이므로 부적절"이 아니라 "충돌 껍질이 412개라서 접촉 솔버가 수렴하지 못함"처럼 설명 안에 들어갑니다.

프로젝트 규칙 네 가지

  1. 정책(policy)을 쓰지 않습니다. Task success (작업 성공률) 지표는 에셋 품질과 시뮬레이터 품질과 정책 품질을 뒤섞습니다. 정책을 빼면 그 혼입이 사라집니다
  2. 잡음 폭을 먼저 잰 다음 주장합니다. 같은 에셋을 초기 조건만 바꿔 반복하고 편차를 측정합니다. 그 편차보다 작은 차이는 주장하지 않습니다
  3. 원인은 검증한 뒤에 단정합니다. 수정을 적용하고 다시 돌려서 증상이 사라지면 원인, 남으면 가설로 표시합니다
  4. 판정에는 조건을 붙입니다. "침하 3mm"가 아니라 "MuJoCo 3.x, 타임스텝 2ms, 기본 솔버 조건에서 침하 3mm"로 씁니다. 조건을 빼고 보편 상수처럼 쓰면 틀린 주장이 됩니다

만들거나 고치는 도구는 범위 밖입니다

이번 프로젝트에서는 재고 기록하는 것을 중점으로 합니다. 검증 단계에서는 trimesh의 정점 병합, decomposition (볼록 분해) 파라미터 변경, Blender 정리 기능 등을 활용합니다. 에셋을 만들거나 잘못된 에셋을 수정하는 도구의 제작은 본 프로젝트 범위에 포함하지 않을 예정입니다.


🛠 Tech Stack

핵심

  • Python 3.11
  • MuJoCo: 물리 시뮬레이션. pip install mujoco 한 줄이고 Apple Silicon 네이티브
  • trimesh: 메시 로드, 연결 조각 분리, 부피와 관성 계산
  • numpy, scipy, pandas
  • ffmpeg: 검사 영상 인코딩

보조

  • Isaac Sim: 환경 구성이 가능한 팀원이 있을 경우 활용. 현업이 주로 쓰는 스택이라 결과의 전이 가능성이 높아집니다
  • CoACD: 볼록 분해. 대안으로 V-HACD
  • Docker 또는 lock 파일: 환경 고정. "같은 조건에서 돌렸다"를 보장하지 못하면 통계가 성립하지 않습니다

MuJoCo를 먼저 쓰는 이유는 설치가 쉽고 GPU가 필요 없어 4주차에 전원이 같은 데모를 돌릴 수 있기 때문입니다. 다만 MuJoCo만으로 나온 수치는 다른 엔진으로 그대로 옮겨가지 않습니다. 이 한계를 문서에 명시하고, Isaac Sim 환경을 구축할 수 있는 경우 비교 대상으로 씁니다.


🗺️ Weekly Roadmap

Week 날짜 시간 주요 활동 결과물
W01 2026.10.06 20:00–22:00 OT. 프로젝트 소개, 근황과 관심사 공유, 파트 배정, GitHub 저장소 개설 역할표, 저장소, 용어집 v0
W02 2026.10.13 20:00–22:00 선행 연구 리뷰. 에셋 평가 방법 논문, 시뮬레이션용 에셋 활용 사례 각자 읽은 것 정리
W03 2026.10.20 20:00–22:00 선행 연구 리뷰. PhysX-Bench, WorldBench 등과 우리 평가의 차이 정리 선행 연구 정리 문서. 겹치면 여기서 범위를 조정합니다
W04 2026.10.27 20:00–22:00 시뮬레이션 실습. 전원 MuJoCo 설치, 에셋 하나 떨어뜨려 보기, 영상 저장 전원이 같은 데모를 돌리고 영상을 남긴다
W05 2026.11.03 20:00–22:00 방향 점검과 하네스 정리. 리뷰 결과로 후반 계획 확정. 실습 스크립트를 검사 하네스 v0.1로 정리 시작 확정된 후반 계획
W06 2026.11.10 20:00–22:00 하네스 정리 및 에셋 확정. 검사할 에셋(공개 데이터셋 및 제작 방식) 확정 검사 하네스 v0.1, 에셋 목록
W07 2026.11.17 20:00–22:00 수집과 실행. 하네스 v0.1 완성, 검사 시작 명령 한 줄로 측정값과 영상이 나온다
W08 2026.11.24 20:00–22:00 수집과 실행 (계속) 검사 진행, 실패 로그 정리
W09 2026.12.01 20:00–22:00 수집과 실행 (계속) 50개 이상 검사와 판정
W10 2026.12.08 20:00–22:00 수집과 실행 마무리 평가 데이터셋 초안
W11 2026.12.15 20:00–22:00 분석. 사례 분류, 평가 리포트 작성 증상별 분류표
W12 2026.12.22 20:00–22:00 분석. 제작 방식별 비교 제작 방식별 비교 결과
W13 2026.12.29 20:00–22:00 공개. 데이터셋과 하네스 README, 재현 방법, 결과 정리, 최종 발표자료 제작 남이 재현할 수 있는 상태
W14 2027.01.05 20:00–22:00 프로젝트 결과 발표 및 공유 v1.0 공개, 발표

휴식 2주는 7~10주 구간에 팀 합의로 배치합니다. 휴식 기간에는 오래 걸리는 개인 과제를 진행하고 복귀 모임에서 결과를 공유합니다.

축소 경로

막히면 뒤로 밀지 않고 범위를 줄입니다. 어디서 무엇을 줄일지 미리 정해 두었습니다.

  • 선행 연구와 겹치면: 3주차에 확인하고, 기여를 "공개 에셋 데이터셋에 대한 적용과 실측"으로 좁힙니다
  • Isaac Sim 환경이 서지 않으면: MuJoCo만으로 갑니다. 수치의 전이 한계를 문서에 적습니다
  • 볼록 분해가 막히면: 바운딩 박스나 볼록 껍질 하나로 대체해 배관부터 뚫습니다
  • 판정자 간 일치율이 낮으면: 임계값 표를 포기하고 적절 / 부적절 2단계 판정으로 내려갑니다
  • 50개 검사가 늦어지면: 개수를 줄이고 증상 분류의 품질에 집중합니다. 분류 자체가 산출물입니다

👥 Team

Core Team

Role Name 담당
🧭 Builder (빌더) @name 프로젝트 리딩, 스키마, 집계, 전체 조율
⚙️ Harness (검사 장치) @name 검사 하네스 구현, 재현 환경 고정
🔍 Collector (채집) @name 검사할 에셋 수집, 제작 방식별 균형, 출처와 라이선스 기록
🔬 Examiner (관찰) @name 측정 실행, 실패 로그 정리, 재실행
⚖️ Judge (판정) @name 판정 기준 설계, 검사 영상 보고 적절 / 부적절 판정
📖 Archivist (도감) @name 증상별 분류, 용어집, 결과 기록

참여 조건

🔥 Must Have

Physical AI에 대한 관심, 책임감, 사이드프로젝트에 시간과 노력을 쓸 수 있는 약간의 여유 ☕️

☺️ Good to Have

시뮬레이션에 대한 사전 지식이나 MuJoCo, Isaac Sim 등 구동 경험이 있으면 좋습니다. 개발 경력이 있는 분도 환영입니다.

그렇지만 사전 지식이 거의 없더라도 함께 배우고 기여할 수 있는 프로젝트입니다.

코딩 없이 참여할 수 있는 일

검사 영상을 보고 "실제 물건처럼 움직이나요"를 판정하는 작업, 에셋 수집과 출처 기록, 리포트 검토. 3D 지식이 필요 없고, 오히려 경험 없는 분의 판정도 데이터가 됩니다.


🧑‍🤝‍🧑 How We Work

Explore → Design → Build → Test → Improve → Share

우리의 원칙

  • 🧪 작은 것부터 만들어봅니다. 4주차에 전원이 에셋 하나를 떨어뜨려 보는 것이 첫 목표입니다
  • 📖 과정과 실패도 기록합니다. "현업이 이미 갖고 있다"도 결과입니다
  • 🔍 주장하기 전에 찾아봅니다. 이 분야는 빠르게 움직이고, 계획한 산출물 여러 개가 이미 발표되어 있었습니다
  • 📏 검증한 것과 추정한 것을 구분해 적습니다
  • 🤝 서로의 성장을 돕습니다. 비전공자가 읽을 수 있게 쓰는 것이 기본값입니다

📚 Archive

결과물

주요 기록

Date Content Link
2026.10.06 OT URL
2026.11.03 방향 점검 (5주차) URL
2026.12.08 평가 데이터셋 초안 (10주차) URL
2027.01.05 결과 발표 (14주차) URL

🔗 Related Work

경쟁하지 않고 인용하는 선행 연구입니다. 2~3주차에 팀 전체가 읽고 겹치는 지점을 다시 확인합니다.

  • PhysX-Bench: 생성형 3D 모델 벤치마킹. 우리는 모델을 평가하지 않고 이미 나온 에셋을 잽니다
  • WorldBench (arXiv 2601.21282): video world model이 알려진 물리 상수를 재현하는지 평가합니다. 차이는 이것입니다. 그쪽은 모델이 알려진 상수를 재현하는지 보고, 우리는 파일에 적힌 값이 시뮬레이터에서 버티는지 봅니다
  • NVIDIA SimReady Foundation: USD 검증 규칙. 규칙을 새로 만들지 않고 남이 만든 규칙을 돌립니다
  • PhysAssets: 에셋 데이터셋의 물성 대량 주석
  • Articraft: 관절 에셋 생성과 검증 하네스
  • SimFoundry, Genie Sim: 씬과 환경 생성. 환경 에셋은 처음부터 범위 밖입니다

🌱 참여 안내 (How to Engage)

  • 빌더로 참여: 프로젝트 기획과 운영 주도
  • 러너로 참여: 검사 구현, 에셋 큐레이션, 판정, 문서
  • 청강 참여: 공개 세션 참여 가능

❗️참여 링크: 가짜연구소 디스코드 ❗️커뮤니케이션 채널: 디스코드 #Room-YL

누구나 청강을 통해 모임에 참여하실 수 있습니다.

  • 특별한 신청 없이 정기 모임 시간(매주 화요일 저녁 8시)에 맞추어 디스코드 Room-YL 채널로 입장
  • Magical Week 중 행사에 참가
  • Pseudo Lab 행사에서 만나기

기여 경로

코드를 쓰지 못해도 기여할 수 있습니다.

  1. 실패 사례 제출: 이슈 템플릿으로 받습니다. 템플릿 필드를 데이터셋 스키마와 일치시켜, 제출된 이슈가 그대로 한 줄이 되게 합니다
  2. 새 에셋 추가: 다른 데이터셋이나 다른 생성기 결과를 같은 방식으로 돌려 붙입니다
  3. 새 백엔드 추가: 다른 물리 엔진 사용자가 붙일 수 있도록 인터페이스를 문서화합니다

Acknowledgement 🙏

이 프로젝트는 가짜연구소 Open Academy로 진행됩니다. 여러분의 참여와 기여가 '우연한 혁명(Serendipity Revolution)'을 가능하게 합니다. 모두에게 깊은 감사를 전합니다.

방향 설정에 도움을 주신 현업 인터뷰 참여자분들과 기획안에 피드백을 주신 분들께 감사드립니다. 여러 차례의 범위 조정이 모두 그 대화에서 나왔습니다.


About Pseudo Lab 👋🏼

Pseudo-Lab은 머신러닝과 AI 기술의 발전에 기여하는 비영리 단체입니다. Sharing, Motivation, Collaborative Joy라는 핵심 가치를 바탕으로 5,000명 이상의 연구자가 참여하고 있습니다.

Contributors 😃

License 🗞

This project is licensed under the MIT License.

  • 코드: MIT License
  • 데이터셋: CC BY 4.0
  • 원본 에셋은 재배포하지 않습니다. 출처 식별자와 파일 해시, 측정값만 저장하고 다운로드 스크립트를 제공합니다

리포트에는 사용한 도구 버전과 규칙 버전을 함께 기록합니다. 참조하는 규칙 프레임워크가 독립적으로 버전이 올라가므로, 버전을 고정하지 않으면 몇 달 뒤 통계가 비교 불가능해집니다.

About

가짜연구소 13기 SimAsset-Evaluation | Physical AI 시뮬레이션에서 실패하는 3D 에셋 도감 만들기

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors