Mujoco 번역

DM wiki
Kim135797531 (토론 | 기여)님의 2020년 2월 2일 (일) 08:57 판 (새 문서: ==Solver 파라미터 (Solver parameters)== Computation 챕터의 Solver 파라미터 섹션에서 MuJoCo의 제약의 행동을 결정하는 수치 d, b, k의 수학적 알고리즘...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
둘러보기로 이동 검색으로 이동

Solver 파라미터 (Solver parameters)

Computation 챕터의 Solver 파라미터 섹션에서 MuJoCo의 제약의 행동을 결정하는 수치 d, b, k의 수학적 알고리즘적 의미를 설명했다. 여기서 우리는 그것을 어떻게 설정하는지 설명한다.

설정은 '제약'을 갖고 있는 모든 MJCF 요소의 solref와 solimp attribute에 의해 간접적으로 완료된다.

이 파라미터들은 각 제약 또는 각 기본 클래스에 대해 조정되거나, 혹은 미설정 상태로 남겨둘 수 있다 - 그러면 MuJoCo는 아래에 나와 있는 내부 기본 값을 사용한다.

참고로 option에서 오버라이드 메커니즘도 가능하다; 런타임에 모든 접촉과 관련된 solver 파라미터를 바꾸는데 사용될 수 있어, 파라미터 세팅이나 수치 최적화에서의 연속적인 방법을 동적으로 실험할 수 있다.


여기서 우리는 한 개의 스칼라 제약에 초점을 둔다.

Computation 챕터에서와 조금 다른 표기법을 사용하여,

  • a1을 가속도,
  • v를 속도,
  • r을 위치 또는 유수 (마찰 차원에서 0으로 정의된다),
  • b와 k는 각각 스프링에서의 참조 가속도 aref = -b*v - k*r을 나타내기 위한 단단함, 댐핑을 나타낸다.
  • d는 상수 응답(임피던스),
  • a0은 제약 힘이 없을 때의 가속도라고 한다. (원래 가속도)

앞서 분석에서 우리는 제약 공간에서의 다이나믹스가 대략

  • a1 + d * (b v + k r) = (1 - d) * a0
  • 가속도 + 상수 * (단단함 * 속도 + 댐핑 * 위치) = (1 - 상수) * 원래 가속도

으로 나타냄을 밝혔다.

다시, 유저가 조정할 수 있는 파라미터는 d, b, k(상수, 단단함, 댐핑) 이다. 나머지 양들은 시스템의 상태이며 각 시간 스텝에서 자동으로 계산된다.


먼저 우리는 응답 상수 d에 대해 설명한다.

  • d는 반드시 0~1 사이여야 한다; 내부적으로 MuJoCo는 0.0001 ~ 0.9999로 자른다.
  • 이것이 solver가 a0과 aref 사이를 상호작용 할 수 있게 해준다.
  • 작은 d값은 부드럽고 약한 제약이고, 큰 d값은 강하고 딱딱한 제약이다.
  • 유저는 d를 상수로 설정하거나, 아니면 위치 의존적인 함수 d(r)로 설정할 수 있다.
    • 위치 의존적 응답은 물체 주변의 부드러운 접촉 레이어로 사용하거나, 혹은 큰 위반일수록 강해지는 equality 제약을 정의할 수 있다. (따라서 예제에서의 backlash를 근사할 수 있다)
    • 함수 d(r)의 모양은 요소별로 정의할 수 있는 solimp 벡터 파라미터로 정의할 수 있다.

solimp: real(5), "0.9 0.95 0.001 0.5 2"

다섯 개의 숫자는 (dmin, dmax, width, midpoint, power)이다. 이것은 함수 d(r)의 파라미터를 결정한다. (최소 d, 최대 d, 너비, 중간점, 차수)

MuJoCo 2.0 이전에서는 3개였으며, 거기에 함수의 형태를 결정하는 한 개의 추가 전역 옵션이 있었다.

MuJoCo 2.0에서는 이전 버전의 호환성을 유지하며 응답 함수를 확장했다.

이전 버전에서 앞의 3개만 설정 가능했고, 기본값은 똑같다.

뒤의 2개의 기본값은 이전 버전과 똑같은 함수의 모양 (시그모이드)를 생성한다.

  • 새롭게 정의된 뒤의 2개는 함수의 이동(shift)나 조여짐(skew)을 조정할 수 있다.
    • 아래 그림은 사실은 두 반사된 시그모이드(???)를 보여주고 있으며, 이는 응답 함수 d(r)이 r의 절대값에 의존하기 때문이다.
    • 이 유연성은 원격 접촉 힘에 대한 더 나은 조절을 하기 위해 추가되었으며, 또한 다른 제약을 위해서도 사용될 수 있다.
  • (함수를 생성하기 위한 다항 스플라인의) 차수는 1과 같거나 커야한다.
  • (반사 지점을 결정하는) 중간점은 0과 1 사이여야 하고, 단위는 너비이다.
    • 참고로 차수가 1이면, 함수는 중간점과 관계 없는 선형이 된다.