Newton methods are iterative techniques used to solve nonlinear equations
자코비안은 문제를 수식 자체 하나만으로 "빰!"하고 풀어버렸다. 뉴턴의 방법은 해를 향해 점진적으로 전진해나가는 것이다. 단순히 문제를 가까이 간다는 것이 아니라 수학적으로 조금 엄밀하게 접근한다.
Problem definition
Problem linearization
Iterative update
Convergence check
⇒ 이러한 방식들로 풀어내는 것들을 The Newton family of methods 라고 한다
Advantages of Newton method
Fast convergence
Quadratic convergence
: iter을 반복할수록 빠른 수렴 + 적은 에러
특정 condition을 제공하면 Quadratic convergence을 제공한다
어떤 문제가 오든지 문제를 제대로 설정하고 condition을 지켰다면 시작만 하면 Quadratic convergence을 제공한다
Applicability to nonlinear problems
Disadvantages of Newton method
Sensitivity to initial conditions
Computation of Jacobian and Hessian
Inverse of Jacobian
그래서 어떤 방식을 통해 최적화를 하게 된다. 자코비안은 한 번에 결과가 나오지만 뉴턴은 iterative 방식이기 때문에 approximation을 하게 된다.
✔ power series의 한 종류
⇒ 모든 함수는 다른 함수들의 합으로 표현될 수 있는데 어떤 곡선은 그 곡선의 0차 미분 1차 미분 2 차미분 그것들을 어떤 방식을 통해 더해주면 표현이 가능하다.
⇒ 0차 1 차 2 차까지는 그래프의 모양에 영향을 주는데 3차부터는 작은 영향을 준다. 그래서 3차 부터는 무시해도 된다. 그래서 보통 2차 부분까지만 사용한다.
IK에서 Newton-Raphson method is referred Newton method
→ Newton-Raphson method : IK의 the roots of a nonlinear function을 찾는 것이다.
IK문제는 문제를 푸는 것이었다.
→ 이게 차가 0이라는 것은 goal position에 가 있는 것이다
→ F(x)가 0으로 가도록 minimize하는 문제를 풀고 있는 것이다.
✔ the solution to this problem is
→ Newton-Raphson root finding method을 적용할 수 있다
⇒ 이 과정을 반복할 수록 을 향해 간다 이를 통해 문제를 풀 수 있게 된다. 그래서 에 충분히 다가갔다고 판단했을 때까지 계산을 한다.
→ 근데 가 unknown이다. but 이다. 즉 이것을 이용해 보통 0.001 이하면 그만하게 된다. (threshhold이용)
root finding
- root finding은 0을 찾는 것이다.
Optimization
- Optimization 은 목적함수를 최소값으로 만들도록하는 것이다. 최소값은 반드시 0일 필요는 없다
⇒ 이 두개를 서로 상호전환이 될 수 있다.
대신 이걸 뉴턴의 방법을 이용헤 최소화하는 방식을 optimazstion problem이라 하자
다음과 같이 정의
IK problem is to solve the multivariate problem
Therefore, the single variable case (univariate case) should be
converted to the multivariate case.
→ 앞에서는 미지수가 x 하나였는데 IK는 그렇지 않다.
→ 엔드 이펙터를 결정하는데 있어서 그에 관여하는 함수들이 여러개 이다. 그리고 이 세타들이 순수한 세타(다차원)들이 아니다. 즉 다차원 다방정식이다
뉴텀의 방식은 2개로 풀 수 있다는 것을 알았다.
0을 찾아가는 것 : 자코비안
→ update funcion에 일차 미분만 들어감
미니넘 맥시멈을 찾아가는 optimization : 헤시안
→ update funcion에 이차 미분이 들어감
Let’s consider a multivariate root finding problem.
→ 가야하는 포즈 - 현재의 포즈 , 그리고 f는 그냥 FK 방식으로 품
✔ 정리
1차 미분으로 풀었던 것이 J로 바뀌었다. J로 바뀐 것을 정리했더니 위와 같은 식이 나왔다.
Assume that we have a robotic system with 4 end effectors and 8 joints, each defined by a three-dimensional
The goal is to find the joint angles that minimize a scalar-valued objective function
우리가 앞에서는 0을 향해 가는 것 자체가 문제를 푸는 방식이었다. 근데 여기서는 이 e들의 제곱의 루트를 최소로 가는 것을 풀고자 함
→ root finding에서는 각자를 0으로 가는 것을 찾는 것이었음. 여기서는 최소화되는 것을 찾고자 하는 것이기에 그냥 다 더해버린다.
왜 8x8이 나왔는지 염두해보고 공부
reciprocal of the second derivative
2차 미분 분의 일
함수를 얼마나 세게 업데이트 할 것인가? 델타 티를 구할 때 쓴다
얼마만큼 스템을 많이 갈 것인가를 결정할 때 사용
second derivative이 크면 거의 0으로 수렴
second derivative이 0과 비슷하면 reciprocal이 커진다. 즉 함수가 거기서 편평해진다는것이다.
아래 식을 보면 알 수있듯이 분모에 헤시안이 등장한다. 이 밑에 식을 쉽게 풀 수 있는 방법들을 이제 연구하기 시작한다.
해당 포스트는 강형엽 교수님의 게임공학[GE-23-1] 수업을 수강하고 정리한 내용입니다.