본문 바로가기

반응형

전체 글

(33)
GNSS/INS Integration with Kalman Filter (1) GNSS는 Global Navigation Satellite System의 약자이고 INS는 Inertial Navigation System이다. 해당 두 시스템을 통합해서 사용하는 이유를 나름대로 정리하면 다음과 같다. GNSS의 Frequency는, INS의 Frequency보다 매우 작다. 따라서 INS가 이러한 GNSS의 단점을 보완해줄 수 있다. 또한 GNSS의 위치 측정치가 실제 위치와는 다른 오차가 많이 섞인 값이 들어와도 완충 작용이 가능하다. INS 중 MEMS(흔하게 사용하는 전자 IMU 센서)는 시간이 지속할수록 발산하기 때문에(센서의 bias), 단독으로 위치를 측정하기 어렵지만 GNSS가 IMU의 bias를 측정해서 보정하게 된다. 따라서 위와 같은 상호 보완적인 두 센서를 이용하..
Project - 위성의 궤도 plot 프로그램 Introduction ,TLE 파일은 위성의 상대적인 위치, 궤도 정보 등 다양한 데이터를 가지고 있다. TLE 파일이 있으면 특정 시간의 위성 위치를 알 수 있다. 따라서 이러한 일련의 데이터를 바탕으로 위성을 Visualization하는 프로그램을 제작하고자 한다. 본 프로그램은 Pyvista를 이용해서 제작되었다. 본 프로그램은 독립적인 프로그램으로 gRPC를 이용해서 구현하였다. 따라서 다른 외부 프로그램에서 이를 쉽게 이용할 수 있다. 본 프로그램이 수집하는 데이터는 다음과 같다. 현재 시간 위성 정보(Serial Number로 제공) 위성의 현재 자세 정보(quaternion으로 제공) 기준 벡터 정보 본 프로그램이 나타내는 정보는 다음과 같다. 지구 표현 위성의 궤도 표시 위성의 위치 표시..
sgp4와 수치적분을 이용한 위성 시뮬레이션 코딩 Introduction 이전에 배웠던 내용은 크게 2가지로 나눌 수 있다. 위성 위성의 위치 위성의 자세 첫 번째는 위성의 위치이다. 위성의 위치는 Simplified pertubation models의 한 종류인 sgp4를 이용해서 모사하였다. 이 알고리즘을 이용하면 TLE 데이터를 이용해서 Julian date에 따른 위성의 위치 정보를 반환한다. 따라서 이를 토대로 특정 시간에 위성의 위치를 파악할 수 있다. 두 번째는 위성의 자세이다. DCM은 특정 벡터를 다른 좌표계에서의 벡터로 바꾸어주는 행렬이다. 이를 토대로 위성의 자세를 모사할 수 있는데, 실제 우리가 위성에서 측정할 수 있는 값은 위성의 각속도 값이다. 그래서 위성의 각속도를 통해서 위치를 파악해야하는데, quaternion은 이를 가능..
Attitude and Frame 위성의 자세는 어떤 특정 Frame에서 위성이 얼마나 회전했는지를 통해서 나타낸다. 즉 다시 말하자면 위성의 Frame 회전으로 위성의 자세를 표현한다. 그러다보니 어떤 기준 좌표계 A(Reference Frame)으로부터 회전하여 위성의 Frame이 결정된다고 이야기 할 수 있다. 그전에 어떤 기준 좌표계와 같은 경우에는 천문에서 많이 쓰는 좌표계를 사용한다. 그러면 위성이 어떤 Attitude로 있는지 알기 위해서는 A에서 B로 가는 Frame 전환을 해주면 알 수 있다. 따라서 Attitude는 이러한 변환을 통해서 Attitude를 나타낸다. 매우 많은 변환이 있지만 대표적으로 3가지를 다루고자 한다. DCM(Direction Consine Matrix) Euler Angle Quaternion ..
System Modeling: Euler's equation(rigid body) Dynamic system Dynamic system은 계의 변화를 몇 가지 규칙에 의해서 나타내는 계를 의미한다. 이때, 만약 이 규칙이 1차 미분 방정식으로 표현되는 규칙이라고 한다면 문제가 단순화 된다. 따라서 이 간단한 형태를 이용해서 설명하고자 한다. 위에 예시로 나와있는Dynamic system을 구성하는 요소들과 무엇을 의미하는지 정리하고 위 식을 살펴보고자 한다. x(t): state vector로 시간에 따라 바뀌는 여러 변수들의 집합이다. u(t): external input으로 시간에 따라서 바뀌는 외부에서의 영향이다. f: f는 state vector의 시간에 따른 미분 값을 만들어내는 함수이다. n: 위 식에 나타나있지는 않지만, state vector의 요소 개수로 system ..
Astropy.coordinates Library 이론적으로 각 좌표계가 무엇을 의미하냐도 중요하지만, 이 좌표계들 사이에서 전환하여서 사용할 줄 아는 것이 그 다음으로 중요하다. 따라서 이를 변환하는 기능을 제공하는 라이브러리를 알아보고자 한다. Astropy.cordinates는 이러한 기능을 지원한다. 물론 다른 다양한 기능도 존재한다. Astropy.coordinates SkyCoord Initalization 이를 이용하는데 있어서 중요한 것은 SkyCoord라는 객체이다. 이는 초기 세팅을 통해서 좌표계 사이의 전환 등을 지원한다. 처음에 선언할 때, Quantity 객체와 무슨 좌표계(frame)인지 전달함으로써 사용할 수 있다. 먼저 선언하는 예시는 다음과 같다. SkyCoord(COORD, [FRAME], keyword_args ...)..
Earth-centered inertial(ECI) Coordinte Frame Earth-centered inertial(ECI)는 지구의 질량중심에 그 중심을 두고, 지구와 함께 회전하지 않는 좌표계이다. 이를 위해서 별을 기준으로 고정점을 두고 진행한다. 이 ECI 좌표계에서 주로 사용되는 것이 J2K(J2000) 좌표계이다. 좌표계에 대한 이해를 위해서 천구를 갖고왔다. 춘분이란 태양이 천구의 적도를 지나는 시점을 의미하며, 이를 춘분점이라고 한다. 실제 좌표계를 표현할 때, 춘분점을 자주 이용하게 된다. Mean vs True Mean과 True라는 표현이 등장하는데, 평균과 절대라는 의미를 가지고 있다. 실제 지구는 단순 자전 뿐만 아니라 다양한 운동을 한다. 세차운동(Precession)과 장동(Nutation)이 일어난다. 물론 주기가 25000년, 41000년이 될 ..
sgp4 Library & TLE(two-line element set) Simplified perturbations models 이는 5개의 수학적인 모델(SGP, SGP4, SDP4, and SDP8) 을 사용해서 위성의 orbital state vectors를 계산한다. 이는 지구시스템에 적용되는 모델이다. 이러한 모델 중 SGP4는 주로 TLE(two-line element sets)를 이용해서 계산하는데, 이러한 TLE는 NORAD 나 NASA에서 데이터를 얻어서 진행할 수 있다. TLE(two-line element set) 이는 orbital elements를 encoding 하는 방식이다. 어떤 주어진 지점과 시간(epoch)을 포함한다. 인터넷 프로토콜 처럼 문법이 있어서 이에 따라서 해석하면 된다. 실제로 미국에서는 이러한 TLE를 인터넷에 공개적으로 배포하..

반응형