9/25 세상에 도전하기 87일차

살짝 취미 생활을 해버렸다. Kiro 넘긴 페이지 펴기 태스크 해야 하는데 XR 연동 하는 게 넘 재밌어서 어제 새벽부터 오늘 오후까지 쭉 해버렸다. kiro-sim에서 pybullet으로 물리엔진 서버를 켜고 kiro-space에서 이 물리엔진 공간을 WebXR로 렌더링하고 Quest3에서 해당 웹에 접속해서 immersive view를 제공한다.
Quest3 뷰
그럼 이런 식으로 pybullet에서 렌더한 페이지들을 볼 수 있다!
나의 니즈가 지금 꽤나 복잡한 듯 하다.
총 3가지 방법이 있다.
- 단일 엔진 (Unity, Unreal Engine 등)
- 물리엔진 서버 + 웹 뷰어 (Pybullet + WebXR 등)
- 전부 웹에서 (ammojs, rapier 등)
나에게 필요한 것은 아래 5개이다.
- (now) Kiro 메커니즘 가상환경으로 복제
- (now) Kiro 제어 알고리즘 + Kiro 메커니즘 실험 가능한 환경
- (future) 시각 데이터 수집
- (future) 휴먼 인터랙션으로 실험
- (future) 가상환경에서 kiro training (Supervised, RL)
일단 2번에서 kiro 제어 알고리즘이 실험 가능한 환경을 만들려면 kiro-server와 같은 python이 좀 더 편하리라 생각했다. 여기에서 나의 시각적 이해 및 아이디에이션을 위해 내 2D 맥북 모니터로만 보는 것이 아니라 WebXR 프론트엔드를 추가로 붙혔다. 전부 웹에서 동작시키는 것은 2, 3, 5가 어려울 것이라 생각해 고려 대상도 아니었고 단일 엔진을 쓰는 것도 2, 5 때문에 고민을 좀 하다가 2번으로 하고 있다.
다만 2번 구현이 생각보다 어렵다. 레퍼런스가 많지 않다. 레퍼런스가 많은 1번으로 하고 kiro-server와 kiro-sim을 아예 독립적인 서버로 생각하고 통신으로 소통하게 해야 되나 싶다. 실제로도 kiro-server와 kiro-device가 통신하면서 동작하긴 하니...
아 네트워크 타긴 해야 하는 것 같다. kiro-sim = virtual kiro-device + kiro-mech 로 생각하는 것이 제일 깔끔하다. 물리적인 것은 내가 현실 공간에서 모델링한 것 그대로 모델링하고, kiro-device에서 wifi 빼고, 카메라, 모터, 통신 부분 3개를 오버라이딩해서 kiro-sim의 소프트웨어를 만들어서 kiro-server와 통신하도록 해야 한다. kiro-server 입장에선 kiro-sim인지, kiro-device인지 알 수 없어야 한다.
이렇게 한다고 치면 단일 엔진 써도 전혀 문제 없을 것 같긴 하다. GPT한테 물어봤다.
항목 | Isaac Sim | Unity | Unreal | PyBullet |
---|---|---|---|---|
접촉/마찰 튜닝(페이지 펴기) | 상 (PhysX+Omnigraph, D6/접촉 파라미터 풍부) | 중상 (PhysX+Articulation, 안정적) | 중 (Chaos 개선 중) | 중 (필요 충분, 시각화 한계) |
카메라/합성데이터 | 최상 (Replicator, 센서 모델, 도메인랜덤) | 중상 (패키지로 보완 가능) | 상 (커스텀 가능, 손작업 큼) | 하 (기본 렌더) |
ROS2/로보틱스 | 최상 (기본 제공) | 중 (ROS-TCP/타 플러그인) | 중 (rclUE 등) | 하 (직접 바인딩) |
XR(Quest3) | 중 (스트리밍/뷰어 구성) | 최상 (XR 생태계/툴) | 최상 (네이티브 XR) | 하 (외부 뷰어 필요) |
헤드리스/클라우드 스케일 | 상 (NVIDIA GPU 필수) | 중상 (서버 빌드 가능) | 중상 | 최상 |
개발 생산성(현재 네 스택) | 중 (USD/OmniGraph 학습 필요) | 상 (툴/인력 구인 용이) | 중 | 상 (연구용) |
비용/라이선스 | 무료(개발), GPU 의존 | 상용/수익 임계 고려 | 로열티 임계 고려 | 오픈소스 |
pybullet + WebXR 바로 때려치고 Isaac Sim으로 가야겠다. 책의 마찰력이나 리프트암의 접착력 등 매우 디테일한 부분들까지 정확히 시뮬레이션되어야 해서 pybullet으로 다 구현하다고 하더라도 제대로 동작하는 것을 기대하기가 어렵다.
kiro-space는 사실 좀 순수 재미로 한 느낌이긴 했는데 여기까지!
kiro-sim에 더 집중해야겠다. 이것도 빠른 시일 내에 될 것 같진 않다. AWS 서버에 환경 셋팅도 하고 Isaac Sim도 공부해야 하고 object들 물리적으로 조립도 해야 하고 서버랑 통신하는 부분 쪽 코드도 짜야 하고. 할 것이 엄청나게 많다.
오늘은 일단 kiro-sim 여기까지 하고 오늘 온 카메라 CSI extension board 써서 카메라 테스트 마무리하고 넘긴 페이지 펴기 생각해둔 방안 물리적으로 구현해서 테스트해봐야겠다. 하루에 2-3시간 정도 내 취미 느낌으로 kiro-sim 해야지.
kiro-sim 왜 이렇게 재밌지? 이런 3D 환경 만들고 몰입형 뷰로 보고 하는 거 참 재밌다.
특허
답변이 왔다! 생각보다 꽤나 복잡해서 이번에 할지 안할지 고민을 좀 해봐야겠다. 한다 하더라도 내가 군대 들어가기 전까지 절대 끝나지 않을 것 같다.
스마트스토어
통신판매업 신고 완료! 통신판매업번호까지 포함해서 스마트스토어 사업자 전환 심사 넣었다.
국민신문고에 올린 KC인증 관련 문의는 아직 답변이 없다.