티스토리 뷰
[SLAM] 양정연 교수 SLAM 강의 30강. Can we think Kalman Filter with Probability?
무엇보다_빛나는_샤트 2022. 2. 21. 21:252021. 10. 10. 20:42
안녕하세요
프로그래밍을 배우는 빛나는 샤트입니다.
SLAM 강의 30강. Can we think Kalman Filter with Probability?
*이 포스팅은 목원대학교 양정연 교수님의 SLAM강의 유튜브 영상을 보고 제작되었음을 밝힙니다.
출처: 30강. Can we think Kalman Filter with Probability?
30강. Can we think Kalman Filter with Probability?
🎉강의요약
1. 칼만 필터는 노이즈 제거에 탁월하나 복잡한 문제의 경우 연산량이 증가하는 단점
2. 칼만 필터의 기본 로직은 현재 위치를 이전 단계를 통해 추정하고 관측한 값과 비교해 covaricance를 줄이는 방향으로 보정하는 것이다.
3. 단순히 덧셈/뺄셈으로 위치를 보정하는 것은 의미 없다. (Process Noise, Measurement Noise 때문)
4. 현재 위치를 알기 위해 과거에 했던 모든 측정값을 이용한다.
5. 즉, 조건부 확률을 이용해 표현할 수 있다.
<Probabilistic Robotics From KF to PF>
칼만 필터 사용 시 노이즈 제거에 탁월
적용 대상들이 많아지게 되면 covariance 행렬 계산이 커진다.
연산량이 많아진다.
Kalman Gain
역행렬을 사용 -> 비선형에 적용하기 어렵다.
> 이를 개선하게 위해 Particle Filter
SLAM에 Kalman Filter를 잘 사용하지 않는다.
저차원 문제에서는 매우 압도적.(센서 보정)
PF가 SLAM을 구성할 때 많이 사용.
학교에서 배운 내용은 회사에서 새로운 제어를 시작할 때 필요하게 된다.
그러므로 배운 지식을 응용하게 된다.
SLAM 코드는 오픈소스로 많이 있지만 코드를 보고 이론(로직)을 이해하기는 매우 어렵다.
최근 유행중인 ORB SLAM의 경우 (오픈소스) 많은 대학에서 해석을 시도하지만 아직 어렵다.
ROS의 SLAM코드를 (G-Mapping)을 입맛에 맞게 수정하기 어렵다. 상위 지식들을 이해해야 가능하다.
<Now, Localization with Kalman Filter Where am I?(What is Xk=?)>
위치를 알고 싶다.
관측값을 얻어 추정-예측.
입력U를 넣으면 움직일 것이고, 이정도 움직이지 않을까(예측), 관측한 정보(z)를 토대로 예측된 결과를 보정. covariance(P)를 최소화.
<Remind: Kalman Filter's Simple Concept>
함수f로 칼만 필터 표현.
다음 단계, 예측값(Xk) = f(현재 단계(Xk-1), wk): wk는 process noise
wk~N(0,Q)
> 일차원이 아니라 다차원, 로봇이 굴러가고 자코비안이 풀려야 하므로 함수로 표현
관측값(Zk) = 함수h(Xk, Vk): Vk는 measurement noise
[Estimation] - ^(hat)을 씌운다.
예측값을 이용해서 Zk^가 출력되고 이를 실제로 관측한 값(Zk)과 비교.
covariance를 업데이트해서 어떻게 하면 추정한 값과 Zk와 비슷하게 할 지 고민.
오차때문에 추정과 관측값을 보정하는 것은 의미 없다.
>> 분산이 작아지는 방향으로 봐야한다.
>> 한 번의 관측으로 보정하는 것은 의미없다.
빨간 것은 실제 환경 -> 우리가 알 수 없는 자연계, 노이즈가 있는 것
검은 것은 추정 -> 우리가 계산할 수 있음
[왼쪽 아래 그림]
다음 단계로 진행할 때는 process noise
관측을 할 때는 measurement noise
관측을 정확히 할 수 있지만 노이즈가 섞여있다.
[오른쪽 아래 그림]
칼만 필터에서 업데이트 과정
X1->X2로 갈 때, Z2(노이즈 섞임)를 이용해 빨간 X2, 검은 X2 차이를 최대한 좁혀 보는 것. 차이를 단순히 더하기가 아니라 covaricance를 계산해 좁히는 것으로 보정한다.!! 검은 값을 빨간 값과 최대한 가깝게 근처에 분포하도록 변경.
이 과정을 반복
<Probabilistic Notaton for KF concept>
더 복잡한 문제 적용을 위해 복잡한 표현이 필요.
Xk에 영향을 주는 것은 Xk-1, Wk.
Zk에 영향을 주는 것은 Xk, Vk.
>> 아무런 입력을 넣지 않아도 영향을 준다.
이동의 스탭마다 보정을 하는 것이 칼만 필터.
Xk를 추정하기 위해 초기부터 현재(k)까지의 관측값이 영향을 준다.
반대로 말하면 Z로부터 X를 추정한다. Z를 통해서 X를 보정.
Z의 영향을 받아서 현재 X 평가.
조건부 확률 형태로 표현: P(Xk|Z_all_k)
>> 관측한 것을 토대로 현재를 결정하기 때문에 확률적으로 표현할 수 있다.
<Concept of X estimation in Probability>
현재의 Xk는 어떻게 결정이 됐나?
> 그 전 스탭에 있었던 값들을 이용해 결정됨.
우측 상단 그래프를 보면 covariance가 커져간다
> 원칙적으로 보정을 하지 않을 시. 에러가 커진다.
> 관측을 통해서 covaricane를 줄이는 것이 칼만 필터의 개념.
피드백은 언제나 환영합니다.😊
틀린 부분 있다면 지적해주시고 도움이 되었다면 댓글과 공감 눌러주세요
'SLAM' 카테고리의 다른 글
[SLAM] 양정연 교수 SLAM 강의 32강. Markov System (0) | 2022.02.21 |
---|---|
[SLAM] 양정연 교수 SLAM 강의 31강. Joint Probability and Conditional Independence (0) | 2022.02.21 |
[SLAM] 양정연 교수 SLAM 강의 29강. From Kalman Filter to Particle Filter (0) | 2022.02.21 |
[SLAM] 양정연 교수 SLAM 강의 28강. Kalman Gain in Kalman Filter (0) | 2022.02.21 |
[SLAM] 양정연 교수 SLAM 강의 27강. Prediction in KF (0) | 2022.02.21 |
- Total
- Today
- Yesterday
- 양정연SLAM
- 인공지능
- AIFFEL
- 대전 인공지능
- SLAM강의
- 도전
- 배달로봇
- 모두의 연구소
- 멘탈관리
- IT
- Python
- 광주인공지능사관학교
- 아이펠
- 실내자율주행
- Slam
- 멋쟁이사자처럼
- 인공지능 교육
- 광주
- 광주AI
- AIFFEL인공지능과정
- AIFFEL후기
- 모두의연구소
- 자율주행로봇
- 자율주행기술
- SLAM공부
- 인공지능교육
- ros
- 해커톤
- AIFFEL교육
- 서빙로봇
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |