Signed Distance Field는 주어진 x와 특정 집합의 경계 사이의 직교 거리를 나타내는 필드(혹은 함수)이다. 이 거리는 점 x가 집합의 내부에 있는지 여부에 따라 부호가 결정된다. 집합 내부에서는 양수, 경계에서는 0, 외부에서는 음의 값을 가진다. 이런 SDF는 시뮬레이션에서 충돌을 계산하는 데 사용된다.MuJoCo는 SDF 플러그인을 제공한다.https://github.com/google-deepmind/mujoco/blob/main/plugin/sdf/README.mddistance 함수를 만들어서 나만의 플러그인을 만들 수 있다. 이때 참고하면 좋은 사이트가 https://iquilezles.org/articles/distfunctions/기본적인 SDF들에 대한 함수를 작성해두었다..
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의 왼쪽의 경로들은 같은 호모토피 클래스이고 오른쪽은 중간에 장애물로 인해 다른 호모토피 클래스가 된다. 호모토피 경로 계획 문제는 시작점에서 도착점으로 가는 여러 경로들 중에 위상적으로 구별되는(즉, 다른 호모토피 클래스에 속하는) 최적 경로를 찾는 문제이다. 일반적인 경로 계획과는 다르게 장애물의 오른쪽으로 가야할지, 왼쪽으로 가야할 지를 고려한다고 보면 된다.주로 장애물 기준으로 시계 방향이냐, 반시계 방향이냐에 따라 서로 다른 호모토피 클래스가 나뉜다. 이런 다른 호모토피 클래스 중에 최적 경로를 찾는 게 목표이다. 최적 경로란 길이의..
Fast Model Predictive Control with Soft Constraints저자 : Arthur Richards논문 : https://www.sciencedirect.com/science/article/pii/S0947358015000667작성 : 이해구Wang and Boyd의 Fast MPC방식에서 발전한 방법이다.(https://pasus.tistory.com/230 참고) 이들은 소프트 제약조건을 추가하는 효율적인 방법에 대해서 다뤘다. 다양한 robust mpc 방식들은 모델 불확실성은 어느정도 가져간 상태에서 robust함을 가지고 꽤 복잡한 형태이다. 이보다 쉬운 방법은 제약 조건을 어느정도 어기도록 최적제어기를 설계하는 것이다. 이를 위해서는 주로 여분의 변수 (slac..
기본 개념Wh = Ah X VWh: 1시간 동안 생산 혹은 소비되는 전력의 양Ah: 1암페어 전류가 1시간동안 흘렀을 때 전류량 (capacity)V: 공칭 전압 (nominal voltage)Energy Consumed(Wh) = Power Consumption(W) X Time(h)Remaining Energy(Wh) = Total Battery Capacity(Wh) - Energy Consumed(Wh)EvaluationRemaining Time(h) = Remaining Energy(Wh) / Average Power Consumption(W)Remaining Percentage(%) = Remaining Energy(Wh) / Total Battery Capacity(Wh) X 100Fixed..
Lecture Topic : Linear regression, Gaussian Process Regression, System Identification최근 학교에서 Data Driven Control 수업들 드디어 들었다. 벌써 까먹기 시작해서 그 전에 조금이나마 정리해두려 한다.Data Driven을 사용하는 이유는 Non-parametric model을 확인하여 제어 성능을 높이기 위함이다. 주된 방식은 우리가 알고 있는 모델과 실제 로봇의 output 차이를 줄이는 방향으로 최적화를 진행하여 Non-parametric model을 알아낸다. 이번 글에서는 기본적은 Estimation 방식인 Recurisve Least square method부터 Bayesian Linear Regression..