티스토리 뷰
2021.4.1. 01:59
안녕하세요
프로그래밍을 배우는 빛나는 샤트입니다.
드디어..!
SLAM을 공부하게 되었습니다.
AIFFEL에서 로봇공학을 전공한 분께 추천받은 영상입니다.
총 40개의 영상을 나름대로 정리해보려고 합니다.
그럼 레고
*이 포스팅은 목원대학교 양정연 교수님의 SLAM강의 유튜브 영상을 보고 제작되었음을 밝힙니다.
출처: 1강. 자율주행이동로봇 개요
1. 로봇 연구에서 주요한 기능
1. 이론
1. 수학
1) 미분 - 기존 적용해왔던 방식
2) 확률 - SLAM을 다룰 때 가장 중요하게 생각해야하는 부분
3) 행렬
2. 실행
- 소프트웨어와 하드웨어의 결합이지만 최근에는 소프트웨어의 중요성이 하드웨어보다 몇 십배 더 크다.
1) 머신1) 머신러닝
2) 제어 이론
3) 비전 2D, 3D
4) 로보틱스, DSP, Random Data, Optimization
1), 2)를 합친 것이 SLAM --> 머신러닝과 제어를 융합해 배울 예정
2), 3)를 합친 것이 얼굴 또는 물체 인식
3), 4)를 합친 것이 음성 인식
2. 강의 목차
1. Intro
2. Mobile Robot Kinematics and Jacobians
3. Path Design
4. Beacon-based Localization
-> 비콘을 활용해 로컬라이제이션을 시도하지만 어려운 분야
5. Probabilistic Navigation
--> 확률 기반의 네비게이션
--> 문제 자체를 확률적으로 보려고 노력하는 것이 중요하다.
6. Probability(Bayesian Probability)
--> 조건부 확률에 대한 내용, 여러 가지 트리 구조들을 다루게 된다.
7. Bayesian Classifier + Clustering
--> 분류기 생성, 클러스터링 기법
8. Point cloud Matching
--> 레이저 스캐너를 사용해서 데이터를 얻는다. 라이다를 이용해 3차원 데이터 얻는다.
--> 3차원 스캐너를 통해 얻을 수 있는 정보에 대해 다룸.
9. Feature Extraction
--> 올해는 생략. 코너 디텍터 관련.
10. ICP for Map Matching
--> ICP를 이용해 지도와 매칭하는 작업. 손가락 5개를 움직여도 따라가는 기법.
11. Kalman Filter
--> 칼만 필터: 확률을 사용하는 필터 기법. 중요한 방법론. 노이즈 잡는 용도로 사용. 간단한 필터이다. 트랙킹하기에 좋다. 슬램에서 사용하고자 한다면 연산량이 많이 필요함. 슬램쪽에서는 좋은 선택은 아니다. 요즘 잘 사용하지 않는다. 확률을 통해 문제를 풀고자하는 컨셉을 배우는 것이 중요. x=3이라면 확률적 관점에서 본다면 3에 있을 확률이 높을 뿐 실제로는 어떨지 아무도 모른다. 상태를 확률로 본다는 점에서 중요하다.
12. Prticle Filter
--> 칼만 필터가 느려서 속도를 개선. 최근에 많이 사용하고 있다. 머신러닝에서 인식률을 높이는 방법으로 사용.
13. Grid-based Map buliding
--> 격자를 활용해 슬램에서 지도를 만든다. 고전적인(2010년 이전) 방법.
14. SLAM
--> 어떻게 해서 지도를 그렸고, 현재 위치를 알게 되는 과정을 배운다.
15. Summary
💡참고 도서
1. Probabilistic Robotics - G-Mapping이라는 좋은 기술 개발. SLAM의 바이블
2. Multiple Geometry - 2개 이상의 카메라를 이용해 3차원 데이터를 만드는 내용을 소개. 스캐너를 써서 조금 비중이 떨어졌지만 아직까지는 중요.
(교수님의 SLAM에 대한 깨알 의견) SLAM 어렵기 때문에 강의를 다 들어도 구현은 힘들겠지만 기초적인 내용과 확률적인 사고 그리고 오픈소스를 다룰 수 있는 수준까지 갈 수 있다.
아래는 교수님이 참여한 프로젝트 중 시뮬레이션 결과이다.
3. SLAM 구현(시뮬레이션)
스캐너를 통해 실내 맵 생성, 이동 경로 생성, 이동
키포인트 - 지도는 센서를 통해 그리는 것이 아니다. 처음에는 분포가 느슨하지만 자꾸 관찰하면 좁게 바뀐다. 확률적인 표현이다.
슬램은 한 번 훑고나서 벽이 있다고 단정하지 않는다. 벽일 확률을 계산해 표현한다. 여러 번 보게 되면 벽일 확률이 높아진다.
아래 사진을 보면 로봇이 아직 보지 많이 보지 않은 부분은 조금 뭉게진 모습이다.(좌측 사진)
하지만 로봇이 많이 관찰하게 되면 벽일 확률이 높아지게 되며 벽 모양과 비슷하게 데이터가 생성됨(우측 사진)
가운데 부분은 z축으로 보면 완만한 형태에서 관찰이 지속됨에 따라 정확한 모습으로 변화하고 이는 가우시안 확률 분포와 비슷하다.
아래 사진을 보면 가운데 부분은 처음에는 뭉게진 모양(좌측 사진)
관찰이 늘어남에 따라 정확한 형상으로 데이터가 생성됨(우측 사진)
특히 초기에는 뭉툭한 원통모양이었다가 관찰이 늘어날수록 뾰죡한 모양(실제와 비슷하게)으로 바뀐다. 이는 가우시간 분포와 비슷하다.
만약 장애물 회피를 할 때 예를 들어 센서를 통해 앞의 장애물과의 간격이 10cm보다 작네 라는 것은 결정론적인 방법이며, 슬램은 10cm 전방에 장애물이 있을 확률이 높다 라고 생각한다.
장애물이 있을 확률을 따지는 것이다!
4. Kalman Filter
Kalman Filter를 사용하게 되면 트래킹을 더 잘하게 된다.
(동일 동영상에 적용했을때 트래킹을 더 잘한다.)
5. 요약
*슬램은 모바일 로봇에만 쓰이지 않는다.
드론, 3차원 디자인, AR, 수술로봇
기술 레벨은 높은데 하위 기술로도 쓰인다. 슬램이 되야 더 많은 기술도 사용할 수 있다.
쉽지 않다는 문제가 있다...
6. 강의 후 느낀 점
- SLAM은 생각보다 어려운 기술이라는 느낌.
- 그렇지만 어려운만큼 잘 배우면 전문가로서 성장할 수 있겠다는 생각이 들었다.
- 확률적으로 문제를 봐야한다는 점과 확률에 대한 공부를 보강해야겠군.
- SLAM이라는 기술이 자율주행뿐만 아니라 AR, 수술로봇 등에서도 활용되는 기술임은 처음 알았다.
그래도 역시 키포인트는 확률적인 사고!!
피드백은 언제나 환영합니다.😊
틀린 부분 있다면 지적해주시고 도움이 되었다면 댓글과 공감 눌러주세요.
'SLAM' 카테고리의 다른 글
- Total
- Today
- Yesterday
- AIFFEL인공지능과정
- Python
- ros
- AIFFEL교육
- 서빙로봇
- 실내자율주행
- 양정연SLAM
- SLAM공부
- 자율주행로봇
- 광주AI
- AIFFEL후기
- IT
- 배달로봇
- 광주
- 인공지능교육
- SLAM강의
- 자율주행기술
- AIFFEL
- 모두의연구소
- 광주인공지능사관학교
- 멋쟁이사자처럼
- Slam
- 멘탈관리
- 도전
- 인공지능 교육
- 대전 인공지능
- 인공지능
- 모두의 연구소
- 해커톤
- 아이펠
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |