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

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

살짝 취미 생활을 해버렸다. Kiro 넘긴 페이지 펴기 태스크 해야 하는데 XR 연동 하는 게 넘 재밌어서 어제 새벽부터 오늘 오후까지 쭉 해버렸다. kiro-sim에서 pybullet으로 물리엔진 서버를 켜고 kiro-space에서 이 물리엔진 공간을 WebXR로 렌더링하고 Quest3에서 해당 웹에 접속해서 immersive view를 제공한다.

0:00
/0:10

Quest3 뷰

그럼 이런 식으로 pybullet에서 렌더한 페이지들을 볼 수 있다!

나의 니즈가 지금 꽤나 복잡한 듯 하다.

총 3가지 방법이 있다.

  1. 단일 엔진 (Unity, Unreal Engine 등)
  2. 물리엔진 서버 + 웹 뷰어 (Pybullet + WebXR 등)
  3. 전부 웹에서 (ammojs, rapier 등)

나에게 필요한 것은 아래 5개이다.

  1. (now) Kiro 메커니즘 가상환경으로 복제
  2. (now) Kiro 제어 알고리즘 + Kiro 메커니즘 실험 가능한 환경
  3. (future) 시각 데이터 수집
  4. (future) 휴먼 인터랙션으로 실험
  5. (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인증 관련 문의는 아직 답변이 없다.