책 소개
2021년 대한민국학술원 우수학술도서 선정도서
요약
수학 통계학 지식을 기반으로 하는 확률론적 로보틱스는 기존 로보틱스 연구의 한계를 극복하고자 새롭게 성장하고 있는 분야다. 이 책은 로보틱스 분야의 고전이라 할 수 있는 중요한 기술과 알고리즘을 종합적으로 소개한다. 탄탄한 수학 지식을 기반으로 각각의 개념을 깊이 있고 상세하게 설명한다. 또한 실제 환경에서 확률론적 로보틱스 연구 성과를 어떻게 적용할 수 있는지 이해할 수 있도록 풍부한 의사코드와 실제 시뮬레이션 결과도 제공한다.
로보틱스 전문가뿐만 아니라 데이터 과학자, 알고리즘 연구원, 지능형 소프트웨어 개발자에게도 매우 유용할 것이다.
이 책에서 다루는 내용
확률론적 로보틱스는 불확실성에도 불구하고 인식과 제어에 관심을 갖는 로보틱스 분야에서 새롭게 성장하는 분야다. 수학 통계 분야를 기반으로 하는 확률론적 로보틱스는 실제 상황에서 로봇이 더욱 견고해지게 한다.
이 책은 로보틱스 분야의 풍부한 기술과 알고리즘을 소개한다. 모든 알고리즘은 하나의 포괄적인 수학 내용을 기반으로 한다. 각 장에서는 의사코드, 상세한 수학 유도, 실무자 관점에서의 토론, 광범위한 연습문제, 수업 프로젝트 목록에서의 구현 사례를 제공한다.
이 책의 대상 독자
학생, 연구원, 실무자를 대상으로 한다. 로봇을 만드는 모든 사람이 소프트웨어를 개발해야 한다고 생각하므로 이 책의 내용은 모든 로보틱스 학자와도 관련이 있다. 또한 응용 통계학자 및 로보틱스 분야 외의 실제 센서 데이터와 관련된 사람에게도 유용할 것이다. 다양한 기술 배경을 가진 광범위한 독자를 대상으로, 가능한 한 스스로 공부할 수 있도록 집필했다. 선형 대수와 기본 확률 및 통계에 관한 사전지식이 있다면 이 책을 읽는 데 도움이 될 것이다. 확률의 기본 법칙에 관한 입문서를 포함했으며 전반적으로 고급 수학 기법은 가급적 사용하지 않았다
목차
목차
- 1부. 기초
- 01. 소개
- 1.1 로보틱스 분야의 불확실성
- 1.2 확률론적 로보틱스
- 1.3 시사점
- 1.4 이 책의 구성
- 1.5 확률론적 로보틱스 강의를 위하여
- 1.6 참고문헌
- 02. 재귀 스테이트 추정
- 2.1 개요
- 2.2 확률의 기본 개념
- 2.3 로봇 환경의 인터랙션
- 2.3.1 스테이트
- 2.3.2 환경 인터랙션
- 2.3.3 확률론적 생성 법칙
- 2.3.4 빌리프 분포
- 2.4 베이즈 필터
- 2.4.1 베이즈 필터 알고리즘
- 2.4.2 예제
- 2.4.3 베이즈 필터의 수학적 유도
- 2.4.4 마르코프 가정
- 2.5 표현과 계산
- 2.6 요약
- 2.7 참고문헌
- 2.8 연습문제
- 03. 가우시안 필터
- 3.1 개요
- 3.2 칼만 필터
- 3.2.1 선형 가우시안 시스템
- 3.2.2 칼만 필터 알고리즘
- 3.2.3 칼만 필터의 상세 설명
- 3.2.4 칼만 필터의 수학적 증명
- 3.3 확장형 칼만 필터
- 3.3.1 선형화 작업의 필요성
- 3.3.2 테일러 전개를 통한 선형화
- 3.3.3 EKF 알고리즘
- 3.3.4 EKF의 수학적 유도
- 3.3.5 실제 활용 시 고려사항
- 3.4 분산점 칼만 필터
- 3.4.1 분산점 칼만 필터를 통한 선형화 작업
- 3.4.2 UKF 알고리즘
- 3.5 정보 필터
- 3.5.1 캐노니컬 파라미터
- 3.5.2 정보 필터 알고리즘
- 3.5.3 정보 필터 알고리즘의 수학적 유도
- 3.5.4 확장형 정보 필터 알고리즘
- 3.5.5 확장형 정보 필터 알고리즘의 수학적 유도
- 3.5.6 실제 활용 시 고려사항
- 3.6 요약
- 3.7 참고문헌
- 3.8 연습문제
- 04. 비모수 필터
- 4.1 히스토그램 필터
- 4.1.1 이산형 베이즈 필터 알고리즘
- 4.1.2 연속형 스테이트
- 4.1.3 히스토그램 근사화 기법의 수학적 유도
- 4.1.4 분해/분리 기술
- 4.2 정적 스테이트를 이용한 이진 베이즈 필터
- 4.3 입자 필터
- 4.3.1 기본 알고리즘
- 4.3.2 중요도 샘플링
- 4.3.3 입자 필터의 수학적 유도
- 4.3.4 입자 필터의 실제 활용 시 고려사항과 특징들
- 4.4 요약
- 4.5 참고문헌
- 4.6 연습문제
- 05. 로봇 모션
- 5.1 개요
- 5.2 기본 정보
- 5.2.1 키네마틱 환경 설정
- 5.2.2 확률론적 키네마틱스
- 5.3 속도 모션 모델
- 5.3.1 닫힌 형태 계산
- 5.3.2 샘플링 알고리즘
- 5.3.3 속도 모션 모델의 수학적 유도
- 5.4 오도메트리 모션 모델
- 5.4.1 닫힌 형태 계산
- 5.4.2 샘플링 알고리즘
- 5.4.3 오도메트리 모션 모델의 수학적 유도
- 5.5 모션과 맵
- 5.6 요약
- 5.7 참고문헌
- 5.8 연습문제
- 06. 로봇 인식
- 6.1 개요
- 6.2 맵
- 6.3 레이저 범위 파인더의 빔 모델
- 6.3.1 기본 측정 알고리즘
- 6.3.2 내재된 모델 파라미터 조정
- 6.3.3 빔 모델의 수학적 유도
- 6.3.4 실제 활용 시 고려사항6.3.5 빔 모델의 한계
- 6.4 범위 파인더를 위한 유사가능도 필드
- 6.4.1 기초 알고리즘
- 6.4.2 확장 알고리즘
- 6.5 상관관계 기반 측정 모델
- 6.6 피처 기반 측정 모델
- 6.6.1 피처 추출
- 6.6.2 랜드마크 측정
- 6.6.3 알려진 대응 변수를 지닌 센서 모델
- 6.6.4 샘플링 포즈
- 6.6.5 추가 고려사항
- 6.7 실제 활용 시 고려사항
- 6.8 요약
- 6.9 참고문헌
- 6.10 연습문제
- 2부. 로컬화
- 07. 모바일 로봇 로컬화: 마르코프와 가우시안
- 7.1 로컬화 문제의 분류
- 7.2 마르코프 로컬화
- 7.3 그림을 통한 마르코프 로컬화의 이해
- 7.4 EKF 로컬화
- 7.4.1 상세 설명
- 7.4.2 EKF 로컬화 알고리즘
- 7.4.3 EKF 로컬화의 수학적 유도262
- 7.4.4 알고리즘의 실제 구현
- 7.5 대응 변수 추정
- 7.5.1 알려지지 않은 대응 변수를 이용한 EKF 로컬화
- 7.5.2 최대 유사가능도 데이터 연관의 수학적 유도
- 7.6 다중 가설 추적
- 7.7 UKF 로컬화
- 7.7.1 UKF 로컬화의 수학적 유도
- 7.7.2 상세 설명
- 7.8 실제 활용 시 고려사항
- 7.9 요약
- 7.10 참고문헌
- 7.11 연습문제
- 08. 모바일 로봇 로컬화: 그리드와 몬테카를로
- 8.1 개요
- 8.2 그리드 로컬화
- 8.2.1 기본 알고리즘
- 8.2.2 그리드 해상도
- 8.2.3 계산상의 고려사항
- 8.2.4 상세 설명
- 8.3 몬테카를로 로컬화
- 8.3.1 상세 설명
- 8.3.2 MCL 알고리즘
- 8.3.3 구현
- 8.3.4 MCL의 속성
- 8.3.5 랜덤 입자 MCL: 실패 복구
- 8.3.6 제안 분포의 수정
- 8.3.7 KLD 샘플링: 샘플 집합 크기 조정
- 8.4 동적 환경에서의 로컬화
- 8.5 실제 활용 시 고려사항
- 8.6 요약
- 8.7 참고문헌
- 8.8 연습문제
- 3부. 매핑
- 09. 점유 그리드 매핑
- 9.1 개요
- 9.2 점유 그리드 매핑 알고리즘
- 9.2.1 멀티센서 퓨전
- 9.3 역 측정 모델 학습
- 9.3.1 측정 모델의 역변환
- 9.3.2 포워드 모델에서의 샘플링
- 9.3.3 오차 함수
- 9.3.4 예제 및 추가 고려사항
- 9.4 최대 사후확률 점유 매핑
- 9.4.1 의존관계가 유지되는 경우
- 9.4.2 포워드 모델을 이용한 점유 그리드 매핑
- 9.5 요약
- 9.6 참고문헌
- 9.7 연습문제
- 10. 동시 로컬화와 매핑
- 10.1 개요
- 10.2 확장형 칼만 필터를 이용한 SLAM 모델
- 10.2.1 준비 작업과 가정사항10.2.2 알려진 대응 변수를 이용한 SLAM 모델
- 10.2.3 EKF SLAM의 수학적 유도
- 10.3 알려지지 않은 대응 변수를 이용한 EKF SLAM 모델
- 10.3.1 일반 EKF SLAM 알고리즘
- 10.3.2 예제
- 10.3.3 피처 선택과 맵 관리
- 10.4 요약
- 10.5 참고문헌
- 10.6 연습문제
- 11. GraphSLAM 알고리즘
- 11.1 개요
- 11.2 직관적 개념 설명
- 11.2.1 그래프 생성
- 11.2.2 추론
- 11.3 GraphSLAM 알고리즘
- 11.4 GraphSLAM의 수학적 유도
- 11.4.1 전체 SLAM 사후확률 계산
- 11.4.2 음의 로그 사후확률 계산
- 11.4.3 테일러 전개
- 11.4.4 정보 폼 생성
- 11.4.5 정보 폼 축소
- 11.4.6 경로와 맵의 복구
- 11.5 GraphSLAM의 데이터 연관
- 11.5.1 알려지지 않은 대응 변수를 이용한 GraphSLAM 알고리즘
- 11.5.2 대응 테스트의 수학적 유도
- 11.6 효율성을 위해 고려해야 할 사항
- 11.7 구현
- 11.8 기타 최적화 기술
- 11.9 요약
- 11.10 참고문헌
- 11.11 연습문제
- 12. 희소한 확장 정보 필터
- 12.1 개요
- 12.2 직관적 개념 설명
- 12.3 SEIF SLAM 알고리즘
- 12.4 SEIF 알고리즘의 수학적 유도
- 12.4.1 모션 업데이트
- 12.4.2 측정 업데이트
- 12.5 희소화 단계
- 12.5.1 기본 아이디어
- 12.5.2 SEIF의 희소화
- 12.5.3 희소화 작업의 수학적 유도
- 12.6 어몰타이즈드 근사화를 통한 맵 복구
- 12.7 SEIF는 얼마나 희소한가?
- 12.8 증분형 데이터 연관
- 12.8.1 증분형 데이터 연관 확률 계산
- 12.8.2 실제 활용 시 고려사항.
- 12.9 분기 한정 알고리즘 기반 데이터 연관
- 12.9.1 재귀적 탐색
- 12.9.2 임의적 데이터 연관 확률 계산
- 12.9.3 동치 제약 조건
- 12.10 실제 활용 시 고려사항
- 12.11 다중 로봇 SLAM
- 12.11.1 맵 통합
- 12.11.2 맵 통합의 수학적 유도
- 12.11.3 대응 변수 생성
- 12.11.4 예제
- 12.12 요약
- 12.13 참고문헌
- 12.14 연습문제
- 13. FastSLAM 알고리즘
- 13.1 기본 알고리즘
- 13.2 SLAM 사후확률 인수분해
- 13.2.1 인수분해된 SLAM 알고리즘의 수학적 유도
- 13.3 알려진 데이터 연관을 이용한 FastSLAM
- 13.4 제안 분포 개선 방법
- 13.4.1 새로운 포즈의 샘플링을 통한 경로 사후확률 확장 방법
- 13.4.2 관찰된 피처 추정값 업데이트
- 13.4.3 중요도 인자 계산
- 13.5 알려지지 않은 데이터 연관
- 13.6 맵 관리
- 13.7 FastSLAM 알고리즘
- 13.8 효율적인 구현
- 13.9 피처 기반 맵을 위한 FastSLAM
- 13.9.1 실험을 통한 통찰
- 13.9.2 루프 클로저
- 13.10 그리드 기반 FastSLAM
- 13.10.1 알고리즘
- 13.10.2 실험을 통한 통찰
- 13.11 요약
- 13.12 참고문헌
- 13.13 연습문제
- 4부. 플래닝과 제어
- 14. 마르코프 결정 프로세스(MDP)
- 14.1 모티브
- 14.2 액션 선정의 불확실성
- 14.3 밸류 이터레이션
- 14.3.1 목표와 페이오프
- 14.3.2 완전히 관찰 가능한 경우에 대해 최적의 제어 정책 찾기
- 14.3.3 밸류 함수 계산
- 14.4 로봇 제어 애플리케이션
- 14.5 요약
- 14.6 참고문헌
- 14.7 연습문제
- 15. 부분적으로 관찰 가능한 마르코프 결정 프로세스(POMDP)
- 15.1 모티브
- 15.2 예제를 통한 설명
- 15.2.1 준비 작업
- 15.2.2 제엇값 선택
- 15.2.3 센싱
- 15.2.4 예측
- 15.2.5 딥 호라이즌과 프루닝
- 15.3 유한한 월드에서 POMDP 알고리즘
- 15.4 POMDP의 수학적 유도
- 15.4.1 빌리프 공간에서의 밸류 이터레이션
- 15.4.2 밸류 함수 표현
- 15.4.3 밸류 함수 계산
- 15.5 실제 활용 시 고려사항
- 15.6 요약
- 15.7 참고문헌
- 15.8 연습문제
- 16. 근사화 POMDP 기술
- 16.1 모티브
- 16.2 QMDP
- 16.3 증강 마르코프 결정 프로세스(AMDP)
- 16.3.1 증강 스테이트 공간
- 16.3.2 AMDP 알고리즘
- 16.3.3 AMDP의 수학적 유도
- 16.3.4 모바일 로봇 내비게이션에 적용
- 16.4 몬테카를로 POMDP
- 16.4.1 입자 집합을 이용하는 방법16.4.2 MC-POMDP 알고리즘
- 16.4.3 MC-POMDP의 수학적 유도
- 16.4.4 실제 활용 시 고려사항
- 16.5 요약
- 16.6 참고문헌
- 16.7 연습문제
- 17. 탐사
- 17.1 개요
- 17.2 기본적인 탐사 알고리즘
- 17.2.1 정보 이득
- 17.2.2 그리디 기술
- 17.2.3 몬테카를로 탐사 기술
- 17.2.4 다중 단계 기술
- 17.3 액티브 로컬화
- 17.4 점유 그리드 맵 학습을 위한 탐사
- 17.4.1 정보 이득 계산
- 17.4.2 이득값 전파
- 17.4.3 다중 로봇 시스템으로 확장
- 17.5 SLAM을 위한 탐사
- 17.5.1 SLAM의 엔트로피 분해
- 17.5.2 FastSLAM의 탐사
- 17.5.3 경험적 특징
- 17.6 요약
- 17.7 참고문헌