Part 3. GPS 데이터 처리 기법 연구

Download Report

Transcript Part 3. GPS 데이터 처리 기법 연구

ETRI 최종발표
GPS/INS/DMI 강결합 및
GPS 데이터 처리 기술 개
발
2005. 1. 14
서울대학교 박 찬 국 교수
항공대학교 이 형 근 교수
1
목 차
•
Part 1. 과제 요약
– 과제 개요
– 수행 연구 내용
•
Part 2. INS/GPS 강결합 기법 연구
– 측정치 증가 기법 및 강결합 알고리즘
– INS/GPS/DMI 통합 프로그램 구현 및 검증
– Bad Data 제거 알고리즘
•
Part 3. GPS 데이터 처리 기법 연구
– GPS 데이터 처리 모듈
– LAMBDA 기법 및 CDGPS를 이용한 위치 결정
– GPS를 이용한 자세 계산
•
Part 4. 결론 및 추후 연구 과제
– 과제 결과 요약
– 추후 연구 과제
2
Part 1. 과제 요약
3
과제 개요
•
과제명
– GPS/INS/DMI 강결합 및 GPS 데이터 처리기술 개발
•
수행 기간
– 2004년 4월 1일~2004년 12월 31일(9개월)
•
과제 목표
– 실시간 및 후처리용 알고리즘 모듈 개발
•
주요 연구 내용
–
–
–
–
4
실시간 GPS 강결합 기술 연구 및 모듈 개발
GPS 부정확 측정치 추출/제거 기법 연구 및 모듈 개발
CDGPS 기술 연구 및 모듈 개발
GPS 수신기를 이용한 자세 측정 모듈 개발
과제참여 연구원
과제책임자 :
5
박찬국
세부과제명 :
강결합 기법
부정확 측정치제거
CDGPS 기술
GPS 자세 측정
세부 과책 :
박찬국
박 찬 국. 이 장 규
이형근
이 형 근. 박 찬 국
연구원(P) :
김광진
서재원
서재원
김광진
연구원(S) :
강우용
이한성
신용설. 심 주 영
강우용
연구 진행 계획
연구 주제
세부 연구 내명
4월
INS/GPS/DMI
강결합 기법
운동모델연구,
걍결합 기법 연구
기본 이론
Dual Frequency
특성 연구,
LABMDA method
기본 이론
RINEX Decoding,
Ephemeris
Correction
GPS
데이터 처리
기술 개발
Filter, Detector,
Covariance
Estimation
For advanced GPS
Code-carrier
Processing
Smoothing Program
Bad Data Rejection
자세측정,
Lever-Arm 오차 보상
6
5월
6월
7월
강결합 기법 연구
8월
9월
강결합 프로그램 작성
10월
11월
실데이터 이용 검증
12월
보충연구
과제정리
차량 운동 모델 연구
LAMBDA Code
프로그램 및 검증
L1, L2 모두 적용 가능
LAMBDA 기법 연구
기본 이론
RINEX 분석 및 변환
알고리즘 구현 및 검증
Ephemeris
분석, 연구
GPS 측정식 이해
중간보고서
CDGPS Procedure
알고리즘 구현 및 검증
Multipath 억제,
Cycle Slip 검출 기법
Code Carrier 처리
(Hatch Filter 적용)
기본 이론
알고리즘 구현 및 검증
Bad Data 제거 기법
기본 이론
최종보고서
자세측정 기법 분석
Level-Arm 오차
보상 기법 연구
자세측정 프로그램
구현 및 검증
통합
프로그램
실데이터 이용 검증
수행 연구 내용
• INS/GPS/DMI 강결합 알고리즘 연구 및 프로그램 개발
– 차량용 순수항법 알고리즘 및 측정치 증가 기법 연구
– INS/GPS 강결합 알고리즘 연구
• GPS 데이터 처리를 위한 알고리즘 연구 및 프로그램 개발
– RINEX 데이터 형식 분석 및 데이터 처리 알고리즘 연구
– 부정확 측정치 제거 기법 연구
– 미지정수 결정을 위한 LAMBDA 기법 연구
– GPS를 이용한 자세계산 알고리즘 연구
• 후처리 항법을 위한 스무딩 알고리즘 성능 개선
– Bad Data 제거 알고리즘 연구
7
Part 2.
INS/GPS 강결합 기법 및
후처리 프로그램 성능 개선
8
실시간 항법 프로그램
• 실시간 항법
– 운전자나 사용자에게 실시간으로 현재 위치 정보를 제공
• 텔레매틱스 분야에서 주행 정보 제공을 위해서는 필수적임
• 4S VAN 실시간 운용 개념
IMU : LN200
200 Hz
순수 항법 연산
(위치, 속도, 자세)
GPS 수신기
1 Hz
INS/GPS/DMI
결합 알고리즘
(항법 오차 추정)
실시간 항법정보 Display
9
DMI : Wheel 장착
200 Hz
DMI 데이터 획득
(속도 정보 )
항법 프로그램 흐름도
10
200Hz 수행 모듈
200Hz 수행 모듈
1Hz 수행 모듈
가속도계 및 자이로
데이터 획득
DMI 데이터 획득 및
Scale Factor 처리
GPS 위성 정보, 의사거리,
의사거리 변화율 획득
Scale Factor 처리 및
센서 오차 보상
데이터 필터링
GPS/DMI 측정치 생성
회전벡터 이용한
쿼터니언 자세 계산
칼만필터 Propagation
차량 속도 계산
칼만필터 갱신
기준좌표계 속도
및 현재 위치 계산
오차 추정 및 보상
항법 프로그램 구조
Main.c
 변수 초기화
 initGlobarVar()
 initKalmanVar()
 Sensor Data 획득
 fopen()
 fscanf ()
 자세, 속도 증분 계산





raw_aq()
dataAvg()
sculcon()
attitude()
acc_b2n
Nav_Part1.cpp




crs_align()
crs_align()
fineAlign()
Navigation
Nav_Part2.cpp
 Selected Mode 연산
- Mode 1
- Mode 2
- Mode 3
 보정항법 계산
11
 Fk_system()
 Get_measure()
 UD_filter()
Data_init.cpp
Nav_Part3.cpp
차량용 운동 모델 연구
•
연구 목적
•
4S VAN 차량 운동
•
Nonholonomic 강제 조건
–
–
–
–
•
4S VAN 차량 운동 모델 및 측정치 증가 알고리즘
전진 방향으로 진행하므로 강제 조건 제시
 vx   vx 
 
차량의 직진방향 이외의 속도 성분은 0 : vb  v y    0 
v   0 
 z  
적용 분야
•
•
INS 운동 모델
–
위치모델과 속도 모델에 강제 조건 적용
•
•
12
INS 운동 모델 : 일반적인 INS 모델에서 수평 및 수직 성분 0
측정치 모델 : GPS Outage 상태에서 속도 오차를 측정치로 사용
위치 모델 :
속도 모델 :
 vxb cos  cos 
 x
 y   c n v   v b cos  sin 
 x

b b
 


b
 z 
 vx sin 



axb


vb  f b  ib  vb   aby  vxb wzb 


 azb  vxb wby 
Arclength Coordinate
s2  x2  y 2  z 2
s  vxb
차량용 측정 모델
•
INS 측정 모델에 강제 조건 적용
– 차량 주행 진행 방향 이외의 속도는 0이므로 기준 측정치로 사용
•
측정식 구성
– 항체 속도 :
– 속도 오차 :
 
vˆb  Cˆ nb vˆ n  Cˆbn
T
vˆ n
 vb  Cnb  vn  Cnb vn  N

vb   vb  ( I  E n )Cbn

T
(v n   v n )  Cnb ( I  E n )(v n   v n )
– 칼만필터 측정식 :
zk   vby  vzb 
•
T
0 0 0 C12
Hk  
0 0 0 C13
C22
C23
C32 VE C32  VD C22 VD C12  VN C32 VN C22  VE C12 
C33 VE C33  VD C23 VD C13  VN C33 VN C23  VE C13 
시스템 구성도
– GPS Outage 구간에서 칼만필터 측정식 변경
 전진방향 제외한 속도 :
최대 0.5[m/sec] 이내
13
측정 모델 증가에 의한 항법 결
과
 수평축 RSS 위치 오차
•
 수직축 위치 오차
측정치 증가에 의한 성능 분석
– 위치 오차 비교
• 수평축 위치 오차 : 3.56m에서 2.58m로 감소
• 수직축 위치 오차 : 2.39m에서 1.29m로 감소
– GPS Outage 구간에서 급격한 오차 발생시 우수한 성능 보임
• 100초 동안 GPS Outage일 경우 효과적으로 사용 가능
14
강결합 기법 개요
•
강결합 기법
– GPS 수신기의 의사거리와 의사거리 변화율 정보를 사용
INS
INSAided
AidedGPS
GPSReceiver
Receiver
Delay
Lock Loop
Process Computer
Pseudorange+Rate
Kalman
Filter
Range+Rate
PhaseLock Loop
Pseudorange+Rate
Range+Rate
PVA
Ephemeris
INS Errors
Navigation Processor
Inertial Data
Inertial
InertialNavigation
NavigationSystem
System
•
시스템 오차 모델
– 기존 칼만필터(16차) 모델에 GPS 수신기 오차 추가
– 시스템 오차 모델 식
 x INS   FINS
 x    0
 DMI   115
 xclock  0215
0151
FDMI
021
0152   xINS 
012   xDMI   wTC ,
Fclock   xclock 
– GPS 수신기 시계 오차 :

wTC ~ N (0, QTC )
xclock  cbias cdrift

T
cbias 
cbias   w1  0 1 cbias   w1 
c   Fclock c      
 c   w 
w
0
0
drift
drift
  drift   2 



  2 
15
PVA
강결합 기법을 위한 GPS 데이터
•
GPS Format
– 강결합 기법 사용 데이터를 위하여 GPS 위성 정보에서 데이터 재구성
• 사용 데이터 : 의사거리, 의사거리 변화율, 위성 좌표(X, Y, Z), 위성 속도
• 가시 위성 개수 : 측정치 개수를 결정. View_Sat_Number
•
GPS 데이터 처리
– 정의된 데이터 형식과 View_Sat_Number 이용 측정치와 측정식 구성
– 의사거리 측정식
• 시선 거리 :
ri  ( xi  xu )2  ( yi  yu )2  ( zi  zu )2
• 의사거리 추정식 : ˆi  ( xi  xu )2  ( yi  yu )2  ( zi  zu )2  clockBias
• 의사거리 측정식 :
zk [i]  ˆi  i
– 의사거리 변화율 측정식
• LOS 계산 :
 
hi   i
 xu
• ECEF 속도차 :
i
yu
i   x0  xi

zu   r
y0  yi
r
z0  zi 

r 
E
Vi  VGPS  VINS
T
ˆ
• 변화율 추정식 : i  hi Vi  clockrate
• 변화율 측정식 : zk [i  View _ Sat _ Num]  ˆi  i
16
강결합 측정식 구성
•
강결합 측정치
– 시선벡터와 편미분식을 이용 측정식 구성
– 측정행렬의 행 : 가시위성의 개수 * 2[의사거리 + 변화율]
– 측정식
H TC
•
 1
 L


 
n
  L

 0



 0
1
l
1
h
 n
l
0
 n
h
0
0
0
0
019
0
019
h1T Cne
019
hnT Cne
019

0 1 0 0



0 1 0 0

0 0 1 0 


0 0 1 0 
강결합 측정식 알고리즘 출력값
– 칼만필터 측정치 : zk [2 View _ Sat _ Num]
– 측정식 행렬 :
HTC
 Get_Measure() 함수에서 처리
- 약결합 or 강결합 선택
- DMI 데이터 선택
17
측정치 생성 모듈
KF Propagation( )
Get Measure( )
YES
Loosely
결합 기법?
약결합 측정치 계산
GPS Available?
YES
Tightly
강결합 측정치 계산
YES
DMI Available?
DMI 측정치 계산
NO
DMI Available?
GPS/DMI 연합측정치
UD Filter( )
18
NO
NO
Nonholonomic
차량 주행 시험
• 4S VAN 주행 궤적
– 4공단 주행 데이터 이용
– GPS Outage : Point 1. 지점에서 20초 동안 왕복으로 발생
36.444
: G P S O U TA G E
P o int 1.
36.442
위도 [D eg]
36.44
36.438
Start
36.436
P o int 2.
36.434
36.432
P o int 4.
P o int 5.
P o int 3.
36.43
127.407
127.408
127.409
127.41
127.411
127.412
경도 [D eg]
19
127.413
127.414
127.415
127.416
127.417
결합 시스템 검증
• INS/GPS/DMI 결합시스템
– GPS/DMI 연합 측정치 사용
• 시스템 모델 18차 : 강결합 17차 모델에 속도계 오차 포함
36.444
: G P S O U TA G E
P o int 1.
36.442
위도 [D eg]
36.44
36.438
36.436
P o int 2.
36.434
36.432
P o int 4.
P o int 5.
P o int 3.
36.43
127.407
127.408
127.409
127.41
127.411
127.412
경도 [D eg]
20
127.413
127.414
127.415
127.416
127.417
결합 시스템 오차 비교
• 결합시스템 오차 해석
– GPS 가시위성을 1분간 제한하여 약결합 및 강결합 사용
• 주행 후 5분, 10분, 15분, 20분에서 1분 동안 가시위성수 제한
• 수평축 오차 비교
– 실험 결과
• GPS 가시 위성 3개 이하인 경우 약결합과 비교하여 강결합 성능 우수
– 약결합인 경우 가시위성 4개 이상인 경우에만 GPS 측정치 출력
21
스무딩 알고리즘 개선
•
Bad Data 제거
– 후처리 프로그램의 성능 향상
•
3-Sigma Residual Test
– 알고리즘 :
s  m  HX

; s: 3  1 vector
 R  HPH T
; T: 3  3 matrix
– 여기서, m : GPS또는 DMI 측정치(3x1), H : 측정행렬(3x16), X : 상태변수(16x1)
R : GPS또는 DMI 측정치의 측정잡음 공분산(3x3)
P : 상태변수의 공분산 (16x16)
– Bad Data 판단 조건 : si  3 i
Bad Data로 간주 사용 안 함
– Q 값에 따라 3-Sigma Residual Test 의 결과가 많이 달라짐을 확인
22
스무딩 항법 결과 1
 Applanix사의 CDGPS를 이용한 항법 결과
그림 1. 흰색: Applanix 항법 결과, 검은색: 서울대 항법 결과
그림 2. 위도오차 (9.33cm)
그림 3. 경도오차 (7.46cm)
 위도, 경도, 고도 위치오차 모두 30cm 이내의 값을 가짐.
23
그림 4. 고도오차 (26.44cm)
스무딩 항법 결과 2
 서울대의 CDGPS를 이용한 항법 결과
그림 4. 흰색: Applanix 항법 결과, 검은색: 서울대 항법 결과
그림 5. 위도오차 (11.33cm)
그림 6. 경도오차 (14.37cm)
그림 7. 고도오차 (27.60cm)
 SNU CDGPS 이용 : 위도, 경도, 고도 위치오차 모두 30cm 이내의 값을 가짐
24
스무딩 항법 3
• 자세 결과 비교
– SNU 결과와 Applanix 스무딩 결과 자세 비교
그림 8. roll오차 (0.009도)
그림 9. pitch오차 (0.018도)
그림 10. yaw오차(0.884도)
– 비교 결과
• 수평축 자세인 롤, 피치는 최대 0.1도, 평균 0.01도로 오차 유발됨
• 수직축 자세인 요는 평균 0.884도 오차 발생
– 요 자세 오차는 일정 범위에서 수렴하지 않고 발산
25
Yaw 결과 비교
• Applanix사와 SNU 스무딩 Yaw 자세 비교
– 전체 주행 구간 중 정지상태 부분 확대
– Applanix Yaw 결과 : 일정 기울기를 가지면서 자세 Drift
• 4S VAN의 LN200 INS는 1[deg/hr] 급으로 자세 Drift 원인
• Applainx사의 스무딩 알고리즘은 Yaw Drift 정확하게 보상하지 못 함
– SNU 스무딩 알고리즘의 Yaw 결과가 더 정확한 것으로 판단됨
26
결 론
• INS/GPS/DMI 강결합 기법
– Nonholonomic에 의한 측정치 생성 및 보정 항법 수행
• GPS Outage 구간에서 우수한 성능 보임
– 측정치 생성 모듈 구현
• 사용 측정치 선택 : INS, GPS, DMI, Nonholonomic
• 결합 기법 선택 : 약결합, 강결합
– 약결합 및 강결합 성능 비교
• 가시위성 3개 이하인 구간에서 강결합 성능 우수
• 스무딩 알고리즘 개선
– 3-Sigma Residual Test 모듈 구현
• Bad Data 판단 조건 제시
– 후처리 칼만필터 측정 및 공정 잡음 Tuning에 의한 성능 개선
• 스무딩 Yaw 결과는 SNU 성능이 더 우수한 것으로 판단됨
27
Part 3.
GPS 데이터 처리 기법 연구
28
CDGPS 1
 CDGPS(Carrier phase Differential GPS)
– GPS 위성이 송신하는 신호의 반송파를 이용하여 위치계산
– 이동국의 위치 결정 : 기준국 수신 신호, 기준국의 좌표 필요
29
CDGPS 2
i-th SV

j-th SV
ui
i
r
rj
uj
 위치해 계산법
i
i
i
i
i
i
i
– 측정식 : r  dr  Br  b  Nr  I  T   r
– SD : rui  ui  ri  d rui  Bru  N rui   rui
DD : ruij  ruj  rui  d ruij  N ruij   ruij
– 근사방정식
 ruij  d ruij  N ruij
~
Ri
Ref. station
Rr
30
Rj
User
– 정확한 d ruij 를 알 수 있다면 실수 N ruij
를 계산할 수 있다.
~
– 람다알고리듬과 실수 N ruij 로부터 미
ij
지정수 N ru를 계산
– 선형근사방정식
 ru  N ru  H ru [ x, y, z ]
ij
ij
ij
T
– 최소자승법에 의해 위치해 계산
RINEX 데이터 입력
• 수신기에서 획득한 데이터 : RINEX 포맷으로 저장
• Receiver INdependent EXchange
• Observation data file, meteorological data file,
navigation message file
Navigation data
31
Observation data
이중 차분 측정치 생성
•
•
•
•
•
L1 반송파 L1: 19.04cm 파장
L2 반송파 L 2: 24.44cm 파장
Wide lane 측정치 생성 : wl  L1  L 2
Wide lane 측정치 : 86.25cm 파장
ij
ij
ij
Wide lane 이중 차분 측정치 :wlwl ru  dru  Nru
• Wide lane 이중 차분 측정치 이용시 장점
– 파장이 크기 때문에 미지정수 결정을 위한 검색공간 축소
– 잘못된 미지정수의 판별이 용이
32
스무디드 코드 칼만필터
• 스무디드 코드 칼만필터(smoothed code Kalman filter)
–
–
–
–
–
–
Lambda 알고리듬의 입력인 실수해와 공분산 제공
코드를 이용한 의사거리와 반송파 위상 변화량을 이용
두 정보를 가장 효율적으로 결합
정확한 의사거리와 그것의 공분산 값 제공
정확한 의사거리로부터 미지정수의 실수해 계산
Filter equation

rsn  rsn1    sn   sn1
pn

pn1

q
kn  pn pn  r


1
rsn  rsn  kn rn  rsn
pn  (1  kn ) pn
33


rSn :
rSn :
 Sn:
pn :
q :
r :
시간전파된 코드 의사거리 추정치
측정치갱신된 코드 의사거리 추정치
반송파 위상 측정치
의사거리 추정치의 공분산
반송파 위상 측정치의 공분산
코드 의사거리 측정치의 공분산
Float Solution
•
다음의 선형화된 이중 차분 식을 고려
ruij  H ruij [ x, y, z ]T  N ruij  H ruij X  N ruij
ij
 ru
: 이중차분된 측정치
ij
 H ru
:
이중차분된 시선각벡터
ij
  N ru
: 이중차분된 미지정수
•
Float solution(실수 해)
– 미지정수를 구하는 과정에서 정수 조건 해제
– 다음의 Cost function 에 가중 최소 자승법 적용
min   H X  N
ij
ru
ij
ru
 Q   Qy1 
2
T
y
Qy  Co var iance of y
34
ij 2
ru Q

Fixed Solution
•
최소자승법으로 구한 실수해와 공분산 행렬
– 실수해
– 공분산
•
 H T Q1 H H T Q1   Xˆ   H T Q1 
 T 1
     T 1

T
1
ˆ

Q
H

Q


Q


  N  




T 1
T 1
QXˆ QXˆNˆ   H Q H H Q  


   T 1
T 1
Q
Q
 Nˆ Xˆ Nˆ   Q H  Q  
목적함수를 최소화하는 미지정수를 검색으로 결정
min Nˆ  N
N
2
QNˆ1
with N  Z n
– 실수해 와 공분산을 이용
– 검색공간의 효율화를 위해 LAMBDA 방법을 사용
•
Fixed solution(정수 해)
– 결정된 미지정수를 다시 대입하여 정확한 위치 해 결정


1 ˆ
ˆ
X  X  QXˆNˆ QNˆ ( N  N )
35
LAMBDA 미지정수 결정 기법
• 이중 차분된 미지정수는 3개만이 독립
– Measurement 가 많을 경우 미지정수 간의 상관관계가 커져 불필요한 검
색 증가
• 적절한 변환 행렬 Z 를 사용하여 미지정수의 상호 독립성을 높임
– 기존의 미지정수 검색에서 발생하는 불필요한 검색을 줄임
미지정수 검색 공간의 효율화
36
미지정수의 검증
• LAMBDA 방법
– 미지정수의 검색을 보다 더 정확하게 효율적으로 하는 수단
– 결정된 미지정수를 검증해야 잘못된 위치 해를 제거 가능
• 검증방법
– 대부분의 경우 비율검사법을 이용
• 비율검사법
– 잔차의 weighted squared sum을 구하여 비율검사
2
 threshold ratio
1
 T 1

ˆ
ˆ
  ( N  N ) QNˆ ( N  N )
where, 1 : smallest 2 : one but smallest
– 비율이 임계치(1.5-7사이의 값)이상이면 참 미지정수로 확정
37
LAMBDA 세부 대표 모듈
• LAMTEST_TestFromFile()
– 실수 해 및 공분산 입력부
• LAMBDA_AllocateSearchRecord()
– 미지정수의 비상관화를 위한 검색 공간 생성
• LAMBDA_FixAmbiguities()
– 비상관화 및 검색 수행하고 정수 해 결정
• SquaredRatio()
– 비율검사를 위한 비율계산
38
위치해 결정
• 이중 차분 측정식 : ruij  d ruij  N ruij
• 미지정수가 구해지면 : ruij   Nruij  druij
ij
– dru 는 기준국으로부터 이동국까지의 기저선 좌표의 비선형 항
• 기준국 좌표를 nominal 값으로 선형 근사화
ruij  N ruij  H ruij [ x, y, z ]T
• Hruij 를 계산하기 위해서는 위성의 좌표와 기준국 좌표가
필요
• 미지수(기저선 좌표)보다 측정치가 많을 경우
– 선형근사식의 해를 계산 : pseudo-inverse 이용
39
미지정수 재결정 알고리듬
•
•
환경적 요인에 의해 위성조합은 빈번하게 변화할 수 있
음
위성조합의 변화
– 미지정수 결정 알고리듬 초기화
– 위성조합의 빈번한 변화 : 스무디드 코드 칼만 코드가 수렴할 시
간적 여유가 없음
– 결정된 미지정수의 신뢰성 악화
•
미지정수 재결정
– 기존에 결정된 신뢰성 있는 미지정수의 활용 극대화
– 방법
1. 이전 epoch의 위성조합에서 탈락된 위성 파악 : 해당되는 미지정
수의 제거후 위치해 계산
2. 이전 epoch의 위성조합에 추가된 위성 파악 : 기존의 미지정수만
을 이용하여 위치해 생성후 추가된 미지정수를 역으로 계산
40
알고리듬 전체 흐름도
41
대표적인 세부 모듈
•
main_dd_gps_RINEX() : 전체 알고리듬 구현
•
form_wide_lane() : wide lane 측정치 생성
•
form_gps_sd() : 단일 차분 측정치 생성
•
form_gps_dd() : 이중 차분 측정치 생성
•
smoothed_code_filter() : 스무디드 코드 칼만필터
•
gen_ro_dd() : 스무디드 코드 의사거리 이중차분 생성
•
gen_fixed_sol() : 정수해를 이용하여 위치해 계산
•
gen_fixed_sol1(), gen_fixed_sol3(), gen_fixed_sol4() :
미지정수 재결정에 의해 위치해 계
산
42
•
gen_int() : 미지정수 재결정 방법에 의해 미지정수 계산
•
read_correct_expand_RinexObs() : RINEX 데이터 입력, 보상, 전처리
Observation data header
• 2003/10/31 기준국 데이터
• 2003/10/10 기준국 데이터
1.593m
• 기준국의 기선 감안이 필수적
• 기록되어 있지 않은 경우도 있음
43
2003/10/10 데이터 분석 (1)
• 평면도
• 고도
105
0.6351
Applanix
SNU
Applanix
SNU
0.6351
100
0.635
95
Height(m)
Lat(rad)
0.635
0.635
90
0.635
85
0.635
80
0.6349
0.6349
2.2226
2.2228
2.223
2.2232
Long(rad)
75
4.58
4.585
4.59
4.595
4.6
4.605
time(sec)
4.61
•제공된 해의 개수 : Applanix - 3581, 서울대 – 3356
•Applanix와의 차이(RMS)
-위도 : 23.38cm
-경도 : 10.22cm
-고도 : 34.13cm
44
< 50cm
사양 만족
4.615
4.62
5
x 10
2003/10/31 데이터 분석 (1)
• 평면도
• 고도
0.6355
110
Applanix
SNU
Applanix
SNU
0.6354
100
0.6353
0.6352
Height(m)
Lat(rad)
90
0.6351
80
70
0.635
60
0.6349
0.6348
2.2225
2.2226
2.2227
2.2228
2.2229 2.223
Long(rad)
2.2231
2.2232
2.2233
50
4.525
4.53
4.535
4.54
time(sec)
4.545
•제공된 해의 개수 : Applanix - 2155, 서울대 – 2064
•Applanix와의 차이(RMS)
-위도 : 12.23cm
-경도 : 11.58cm
-고도 : 23.60cm
45
< 50cm
사양 만족
4.55
4.555
5
x 10
2004/12/3 데이터 분석 (1)
• 평면도
• 고도
0.636
80
Applanix
SNU
75
Applanix
SNU
0.636
70
65
0.6359
Lat(rad)
60
0.6359
55
50
0.6358
45
40
0.6358
35
0.6357
2.2236
2.2236
2.2237
2.2237
Long(rad)
2.2238
2.2238
30
4.5
4.51
•제공된 해의 개수 : Applanix - 5072, 서울대 –
5148
•APPLANIX사의 고도 결과가 매우 좋지 않음
•Applanix와의 차이(RMS) < 50cm
46
-위도 : 24.57cm
-경도 : 14.30cm
4.52
4.53
4.54
4.55
5
x 10
사양 만족
2004/12/3 데이터 분석 (2)
36
34
33
32
4.524
4.526
30
4.525
4.53
5
x 10
38
x 10
80
60
Height(m)
34
50
32
40
4.536
4.538
time(sec)
4.54
5
x 10
30
4.54
4.542
4.544 4.546 4.548
5
time(sec)
x 10
• APPLANIX사의 결과가 잘못
되었음
• 반면 서울대의 결과는 양호
47
5
32.2
32.1
4.526
4.527
5
x 10
4.54
4.541
time(sec)
4.542
5
x 10
5
x 10
32.5
32
4.532
32.5
4.528
32.5
32
4.539
32.2
33
x 10
32
4.525
33
70
36
Height(m)
4.535
32.3
32.1
4.512 4.514 4.516 4.518 4.52
4.502
Height(m)
4.522
5
30
4.534
4.5
32.3
Height(m)
31
4.52
33
32.5
4.498
32
Applanix
SNU
32.4
Height(m)
Height(m)
35
34
33.5
Height(m)
36
• 고도 방향 부분 확대 2
Applanix
SNU
Height(m)
• 고도 방향 부분 확대 1
4.533
4.534
4.535
5
x 10
32
31.5
4.546
4.547
time(sec)
4.548
5
x 10
• APPLANIX사의 결과가 양호
한 부분에서의 성능 비교
• 고도 차이(RMS) : 4.38cm
< 50cm
사양 만족
2004/12/3 데이터 분석 (3)
• Applanix와의 차이(RMS)
1
lat(m)
- 위도 : 24.57cm
- 경도 : 14.30cm
- 고도 : 4.38cm
0
-1
4.5
4.51
4.52
4.53
4.54
5
long(m)
1
x 10
0
-1
4.5
4.51
4.52
4.53
4.54
height(m)
4.55
5
1
x 10
0
-1
48
4.55
4.5
4.51
4.52
4.53
time(sec)
4.54
4.55
5
x 10
자세 계산 과정
부 안테나
이동 방향
주 안테나
•
•
•
•
49
자세 : 안테나와 부 안테나 사이의 상대적인 벡터
4S VAN 의 경우 정지 및 이동하는 차량의 자세를 구해 주어야 함
도심지 주행시 사이클 슬립 및 다중경로오차 영향이 커짐 -> 오차증가요
인
수신기간 차분 기법 : 이중 차분에 비해서 사이클 슬립에 둔감하게 동작
프로그램 흐름도
변수 설정
SD 생성
Hatch filter Time-propagation
and Measurement update
기준 안테나 및
부 안테나 data 설정
기준 안테나 좌표 계산
Floating Solution
(부 안테나 좌표)
Ephemeris
data 읽기
N
SD의 위성수 ≥ 4
Y
Y(Init!=1)
Y(Init==1)
Observable
Data 읽기
50
Hatch Filter Initialization
자세 계산
자세 계산 모듈
• 코드 분량 : 2561라인, 89개 함수
• 주요함수 : attitude()
<Attitude 흐름도>
51
SD 오차
20.5˚
0.6m
1.6 m
• SD(Single Difference)
– 수신기 시계 오차가 상쇄 되지 않음
– 60 ㎝ : 오차 발생
• 자세 계산시 오차
– Atan(0.6/1.6) = 20.5˚
– 1.6 : 기저선 길이
– 0.6 : 오차 범위
52
자세 계산 비교 방법
• 기준 자세 정보
– Applanix가 자세 정보의 기준 데이터를 제공해 주지 않음
– CDGPS로 계산된 4S VAN의 이동 궤적을 기준 정보로 사용
• 비교 방법
– 방위각 : 이동 궤적과 방위각 계산 결과 비교
– 앙각 : 이동 궤적으로 비교가 불가능
 방위각만 비교
• 자세 계산 1 (2004 년 12월 3일)
– 6 바퀴 원형 주행 궤적과 방위각 결과를 비교
• 자세 계산 2 (2004년 1월 5일)
– 초기 200초간 이동 궤적과 방위각을 비교
53
자세 계산 결과 1(12월 3일 ) -1
CDGPS Positioning
0.6358
Heading
0.6358
400
0.6357
350
0.6357
300
0.6357
250
0.6357
200
0.6357
2.2236 2.2236 2.2236 2.2236 2.2237 2.2237 2.2237 2.2237 2.2237 2.2237 2.2237
150
6 바퀴 원형 주형 구간 확대 100
CDGPS Positioning
50
0.6357
0
5750
0.6357
0.6357
5900
1. 6개의 원형 주행 궤적에 대해서
360˚ 회전이 6번 측정됨
0.6357
0.6357
2.2236
2.2236
2.2236
2.2236
2.2236
<4S VAN 이동궤적>
54
5850
<방위각 결과>
0.6357
2.2236
5800
2.2236
2.2236
2. ○ ,*,□ ,,☆,+,△ : 시간 순서 표시
자세 계산 결과 2(1월 5일 )
CDGPS Positioning
0.6349
0.6349
0.6349
0.6349
0.6349
0.6349
0.6349
0.6349
2.2229
2.223
2.223
2.223
2.223
2.223
2.223
2.223
2.223
<4S VAN 이동궤적>
<이동 궤적 및 방위각 변화 양상>
<방위각 결과>
55
결론
•
CDGPS 알고리듬 연구 및 코드 구현
•
코드의 구성
1.
2.
3.
4.
5.
6.
56
RINEX 데이터 변환 부분
확대 파장을 이용한 이중 차분 측정치 생성 부분
스무디드 코드 칼만필터 부분(실수해, 공분산 생성)
Lambda 알고리듬 부분(정수해 생성)
위치해 계산 부분
미지정수 재결정 부분
•
실험 데이터 적용 및 결과 분석
•
APPLANIX사와 유사한 성능 보임
Part 4.
결론 및 추후 연구 과제
57
주요 연구 결과
•
INS/GPS/DMI 강결합 기법 연구
– Nonholonomic 강제조건을 이용한 새로운 측정치 도출
– INS/GPS/DMI 강결합 알고리즘 모듈 개발 완료
– 실데이터를 이용한 INS/GPS/DMI 강결합 알고리즘 검증 완료
•
GPS 데이터 처리 기술 개발
– RINEX 데이터 추출 및 위성궤도 정보 추출 모듈 구현 완료
– 부정확 측정치 제거 및 자세계산 결정 알고리즘 구현
– 단일/이중 차분 알고리즘 및 LAMBDA 프로그램 모듈 개발 완료
– 확대 파장을 위한 반송파 위상 조합 알고리즘 개발 완료
– 실데이터를 이용한 GPS 데이터 처리 모듈 검증
•
후처리 스무딩 항법
– 칼만필터 잡음 공분산 행렬에 따른 성능 분석 및 튜닝 기법
– 잔차 검사 알고리즘 및 프로그램 모듈 구현
58
개발 프로그램 주요 모듈
INS/GPS/DMI
강결합 기법
GPS 데이터
처리기법 연구
후처리 스무딩
항법 프로그램
59
Main.c
항법 및 측정치 생성 모듈 제어
Nav_Part1.cpp
센서 데이터 획득, 자세 및 속도 계산
Nav_Part2.cpp
초기 정렬, 위치 및 Transport Rate 계산
Nav_Part3.cpp
측정치 생성, 보정항법 수행
main_dd_gps_RINEX
GPS 데이터 처리 모듈 전체 알고리즘 제어
Form_wide_lane
확대 파장 측정치 생성
Smoothed_code
스무디드 코드 칼만필터 계산
gen_ro_dd
스무디드 코드 의사거리 이중차분 생성
gen_fixed_sol
정수해를 이용하여 위치해 계산
Gen_int
미지정수 재결정 방법에 의한 미지정수 계산
LAMBDA_Allocate
미지정수 비상관화를 위한 검색 공간 생성
LAMBDA_Fix
비상관화 및 검색 수행을 통한 정수해 결정
SquaredRatio
비율검사를 위한 비율계산
attitude
GPS를 이용한 자세계산 수행
Initailize
DMI 이용한 초기 정렬 시간 결정
Forword_update
Residual Test 수행
2216 Line
21 함수
7561 Line
109 함수
2949 Line
42 함수
ETRI 요구 구격 및 SNU 항법 결과
60
추후 연구 과제
• 영상정보와 항법정보 Fusion 알고리즘
– 영상 지형 지물을 이용한 항법 오차 보정
– 디지털 지도와 결합을 통한 항법 정보 제공
– 차량 운동 특성을 이용한 항법 성능 향상
– 후처리 항법 알고리즘 자세 정보 개선
61