LCP를 이용해서 Contact model을 구성하는 내용을 다뤘었다. 오늘은 실제 LCP 문제를 푸는 법에 대해 이야기 해보려 한다. 기본적인 LCP는 아래와 같이 정의 된다.이런 형태로 접촉 문제를 구성하여 LCP를 풀면 접촉 힘을 계산할 수 있게 된다. 우선 간단한 점이 바닥과 접촉하는 경우의 Contact model을 구성해보자. (원이 아니라 점이다. Point mass라 생각하자.)무게는 0.2, 마찰 계수는 1이라 하자. 점이기 때문에 Mass matrix, (혹은 Inertia matrix)는 무게를 대각행렬로 가지는 형태가 된다. 점이기에 바닥과 접촉하는 순간 발생하는 접촉의 수는 1개로 고정된다.우선 모든 걸 contact frame (접촉 프레임)으로 바꿔줘야 한다. 어떤 좌표 ..
D. E. Stewart and J. C. Trinkle, “An implicit time-stepping scheme for rigid body dynamics with inelastic collisions and coulomb friction,” Int. J. Numer. Meth. Eng., vol. 39, no. 15, pp. 2673–2691, Aug. 1996. E. Todorov, “A convex, smooth and invertible contact model for trajectory optimization,” in 2011 IEEE Int. Conf. Robotics and Automation, 2011, pp. 1071–1076. Baraff, David. "Fast contact ..
Linear Complimentarity problem(선형 상보성 문제)는 강체 간의 접촉을 모델링하는 데 사용하는 방법중 하나다. 이번 글에서는 Linear Complimentarity 을 대수 관점에서 우선 설명하려 한다. Linear Complimentarity Problem(LCP)1차원 LCPLCP의 쉬운 이해를 위해 1차원 문제로 접근해보자. 1차원 LCP에서는 x, y 변수 2개가 있다. 이 둘은 모두 실수에 포함된다. LCP는 상보되는 제약 조건을 만족하는 x와 y를 찾는 문제이다. 이때 제약 조건은 아래와 같다하자.상보 문제이기 때문에 or가 들어간다. 이를 LCP에서는 아래와 같이 표기한다.위 문제를 만족하는 해는 단순히 양의 x축과 양의 y축이다.여기에 y와 x의 선형 관계 y..
어떤 시작점과 도착점으로 이뤄진 두 경로가 동일한 공간 안에서 장애물을 넘지 않고 서로 변형될 수 있다면 두 경로는 호모토피 클래스에 속한다고 한다.figure2의 왼쪽의 경로들은 같은 호모토피 클래스이고 오른쪽은 중간에 장애물로 인해 다른 호모토피 클래스가 된다. 호모토피 경로 계획 문제는 시작점에서 도착점으로 가는 여러 경로들 중에 위상적으로 구별되는(즉, 다른 호모토피 클래스에 속하는) 최적 경로를 찾는 문제이다. 일반적인 경로 계획과는 다르게 장애물의 오른쪽으로 가야할지, 왼쪽으로 가야할 지를 고려한다고 보면 된다.주로 장애물 기준으로 시계 방향이냐, 반시계 방향이냐에 따라 서로 다른 호모토피 클래스가 나뉜다. 이런 다른 호모토피 클래스 중에 최적 경로를 찾는 게 목표이다. 최적 경로란 길이의..