2.6 물리 재질과 접촉 역학
2.6.1 Coulomb friction의 단순 모델
접촉면의 법선력 크기를 이라 할 때 단순 Coulomb 모델은 다음과 같다.
는 정마찰계수(static friction), 는 동마찰계수(dynamic friction)다. PhysX는 개별 점 하나가 아니라 contact patch와 friction anchor를 사용해 충격량 기반으로 제약을 푼다. 따라서 교과서 식은 방향과 규모를 이해하는 모델이며 solver의 정확한 내부 결과와 같다고 가정하면 안 된다.
마찰계수는 재질 pair의 속성이다. 고무-플라스틱, 고무-금속은 서로 다른 값을 갖는다. 두 material의 값을 결합하는 combine mode도 결과에 영향을 준다. 프로젝트에서 rubber_mu=0.9처럼 단일 숫자만 기록하지 말고 두 표면, 측정 방법, 습도/오염 상태를 기록한다.
2.6.2 기울기 실험으로 정마찰 추정
물체가 경사면에서 막 미끄러지기 시작하는 각도를 라 하면 단순 모델에서
이다. code/contact_estimator.py가 이 계산을 수행한다. 최소 5회 반복해 평균과 분산을 기록하고, 표면을 닦은 조건과 그대로 둔 조건을 구분한다. 실제 그리퍼에는 압력 분포, 패드 변형, 곡면 접촉이 추가되므로 이 값은 초기값이지 정답이 아니다.
2.6.3 반발계수
충돌 법선 방향 상대속도를 기준으로 반발계수(coefficient of restitution) 를 단순화하면
이다. 공기 저항과 회전을 무시한 낙하 실험에서는 로 추정할 수 있다. pick-and-place 대상체는 보통 큰 bounce가 필요하지 않으므로 낮은 값을 시작점으로 삼되, 임의의 범위를 정답처럼 고정하지 않는다. 바닥 재질과 대상체 재질을 실제 조합으로 측정한다.
2.6.4 physics material과 render material
- Physics material: friction, restitution, density 등 접촉 계산에 사용된다.
- Render material: base color, roughness, metallic, normal 등 픽셀 생성에 사용된다.
둘은 서로 독립적이다. 반짝이는 금속처럼 보이게 만들었다고 마찰이 자동으로 낮아지지 않는다. Isaac Sim의 material API 중 일부는 experimental로 표시되어 있어 변경될 수 있다. 안정성이 중요한 asset pipeline에서는 UsdPhysics.MaterialAPI와 명시적인 binding을 사용하고, high-level wrapper를 쓸 때는 설치 버전 문서를 확인한다.