자율주행 자동차 만들기 2/e [자율주행의 원리부터 연구 사례까지]
- 원서명Creating Autonomous Vehicle Systems, Second Edition (ISBN 9781681739373)
- 지은이리우 샤오샨(Shaoshan Liu), 리 리윤(Liyun Li), 탕 지에(Jie Tang), 우 슈앙(Shuang Wu), 장 뤽 고디오(Jean-Luc Gaudiot)
- 옮긴이남기혁, 김은도, 서영빈
- ISBN : 9791161756653
- 33,000원
- 2022년 07월 29일 펴냄
- 페이퍼백 | 324쪽 | 188*235mm
- 시리즈 : 임베디드 시스템
책 소개
요약
2019년 대한민국학술원 우수학술도서에 선정된 『자율 주행 자동차 만들기』의 개정판 출간!
컴퓨터 및 공학 배경지식을 갖춘 일반 독자를 대상으로 한 자율주행 자동차에 관련된 기술을 전반적으로 소개하는 최초의 책이다. 자율주행 자동차 시스템 개발하면서 얻은 저자의 실전 경험이 담겨 있다.
개정판에서는 자율주행의 최근 발전 양상을 살펴보고 상용 자율주행 프로젝트에서 활용할 수 있는 방법을 더 쉽게 이해할 수 있도록 실질적인 사례 연구를 제시한다.
이 책에서 다루는 내용
컴퓨터 및 공학 배경을 갖춘 일반 독자를 대상으로 자율주행 자동차에 관련된 기술의 전반을 소개한다. 저자가 자율주행 자동차 시스템을 설계하면서 얻은 실전 경험이 담겨 있다.
초판이 많은 대학교에서 자율주행 강의에 교재로 채택되고 독자들로부터 많은 유용한 의견과 피드백을 받았다. 이를 바탕으로 개정판에서는 여러 장을 확장하거나 새로 작성했으며 2건의 상용 사례 연구를 추가했다. 강의에서도 이 책을 더 잘 활용할 수 있도록 1장을 시작하기 전에 '책을 통한 교육과 학습'이라는 제목의 장을 추가했다. 자율주행의 최신 발전을 살펴보고, 상용 자율주행 프로젝트에 독자들이 학습한 내용을 활용하는 방법을 더 잘 이해할 수 있도록 실질적인 사례 연구를 담았다.
이 책의 대상 독자
컴퓨터 및 공학 지식이 있는 일반 독자를 대상으로 자율주행 자동차에 관련된 기술을 전반적으로 소개한다. 학생이나 연구원뿐만 아니라 개발자에게도 도움이 되는 책이다. 자율주행에 관심 있는 학부생이나 대학원생이라면 자율주행을 구성하는 전반적인 기술을 모두 살펴볼 수 있다. 자율주행 시스템을 개발하는 현업 개발자라면 이 책에서 소개하는 여러 가지 실전 기술을 참조할 수 있다. 연구원도 다양한 기술을 효과적이면서 깊이 있게 다루는 방대한 참고문헌을 참고할 수 있을 것이다.
이 책의 구성
1장, ‘자율주행 개요’에서는 IT의 간략한 역사와 자율주행 시스템에 관련된 알고리듬과 시스템의 아키텍처와 이를 뒷받침하는 데 필요한 인프라스트럭처를 소개한다.
2장, ‘자율주행을 위한 로컬라이제이션’에서는 자율주행에서 가장 중요한 작업인 로컬라이제이션의 개념과 이를 위해 가장 많이 사용하는 접근 방식을 설명한다. GNSS, INS, LiDAR, 휠 오도메트리에 관련된 원칙과 장단점을 상세히 소개하고, 이러한 기법을 다양한 방식으로 통합하는 방법도 살펴본다.
3장, ‘자율주행을 위한 인지’에서는 센서 데이터를 통해 주변 환경을 파악하는 인지 기법을 살펴본다. 이 과정에서 장면 이해, 이미지 플로우, 추적 등에 현재 사용하고 있는 다양한 알고리듬을 소개한다. 이미지 분류, 개체 탐지, 의미 분할 등에 사용되는 대용량 데이터 세트와 굉장히 복잡한 연산은 인지 작업에 널리 사용되는 딥러닝 기법으로 처리하는 것이 가장 효과적인데, 이를 이용해 탐지, 의미 분할, 이미지 플로우를 처리하는 방법은 4장, ‘딥러닝을 통한 자율주행의 인지’에서 자세히 다룬다. 자율주행 자동차가 주변 환경을 파악했다면 향후 발생 가능한 이벤트(예: 주변에 있는 다른 차량의 움직임)를 어떻게든 예측해서 차량의 이동 경로를 계획해야 한다. 여기에 대해서는 5장, ‘예측 및 경로 계획’에서 다룬다.
6장, ‘결정, 계획, 제어’에서는 동작 결정, 계획, 제어를 좀 더 상세히 소개한다. 상명하달식 의사결정뿐 아니라, (한 모듈은 차로 변경을 추천하고, 다른 모듈은 그 차로에서 장애물을 감지한 경우처럼) 대립되는 결정사항을 조율하는 과정에서 모듈끼리 피드백을 주고받아야 하는데, 이를 위해 행위(동작) 기반 의사결정(예: 마르코프 결정 프로세스, 시나리오 기반 분할 정복)과 동작 계획에 대한 알고리듬이 중요하다. 이러한 처리 과정은 강화 학습 기반의 계획 및 제어 기법으로 보완할 수 있다.
7장, ‘강화 학습 기반의 계획 및 제어’에서는 다양한 상황에 대한 시나리오에 완벽히 대처하도록 강화 학습 기법을 자율주행 시스템에 통합하는 방법을 설명한다. 지금까지 설명한 기법은 모두 시스템 하부에 있는 온보드 컴퓨팅 플랫폼을 통해 실행되는데, 이를 8장, ‘자율주행을 위한 클라이언트 시스템’에서 소개한다. ROS의 개요를 설명한 뒤, 실제 하드웨어에서 적용하는 방법을 간략히 소개한다. 실시간 컴퓨팅 요구사항뿐 아니라 온보드 고려사항(전력 소모 및 방열)을 충족시키는 데 굉장히 중요한 이종 컴퓨팅도 설명한다. 다시 말해 범용 CPU부터 GPU, FPGA를 비롯한 다양한 프로세싱 유닛을 함께 사용해야 한다.
9장, ‘자율주행을 위한 클라우드 플랫폼’에서는 지금까지 설명한 모든 기술을 하나로 엮는 데 필요한, 다시 말해 클라우드 플랫폼을 새로 배치할 알고리듬에 대한 분산 시뮬레이션 테스트나 오프라인 딥러닝 모델 트레이닝, 고정밀(HD) 맵생성 등에 대한 서비스를 제공하는 데 필요한 클라우드 플랫폼용 인프라스트럭처를 소개한다.
10장, ‘복잡한 교통 환경에서의 자율 주행 라스트마일 배송 차량’에서는 복잡한 교통 환경에서 작동하는 상용 자율 주행 라스트마일 배송 차량에 대한 사례 연구를 제시한다.
11장, ‘퍼셉트인 자율 주행 자동차’에서는 마이크로트랜짓 서비스를 위한 합리적인 가격의 자율 주행 자동차에 대한 사례 연구를 제시한다.
상세 이미지
목차
목차
- 1장. 자율주행 개요
- 1.1 자율주행 기술의 개요
- 1.2 자율주행 알고리듬
- 1.2.1 센싱
- 1.2.2 인지
- 1.2.3 개체 인지 및 추적
- 1.2.4 동작
- 1.3 자율주행 클라이언트 시스템
- 1.3.1 ROS
- 1.3.2 하드웨어 플랫폼
- 1.4 자율주행 클라우드 플랫폼
- 1.4.1 시뮬레이션
- 1.4.2 HD 맵 생성
- 1.4.3 딥러닝 모델 학습
- 1.5 시작에 불과하다
- 2장. 자율주행을 위한 로컬라이제이션
- 2.1 GNSS를 이용한 로컬라이제이션
- 2.1.1 GNSS 개요
- 2.1.2 GNSS 오차 분석
- 2.1.3 위성 기반 오차 보정 시스템
- 2.1.4 RTK와 DGPS
- 2.1.5 PPP 알고리듬
- 2.1.6 GNSS INS 통합
- 2.2 HD 맵과 라이다를 이용한 로컬라이제이션
- 2.2.1 라이다 개요
- 2.2.2 HD 맵 개요
- 2.2.3 라이다와 HD 맵을 이용한 로컬라이제이션
- 2.3 비주얼 오도메트리
- 2.3.1 스테레오 비주얼 오도메트리
- 2.3.2 모노큘러 비주얼 오도메트리
- 2.3.3 관성 비주얼 오도메트리
- 2.4 추측 항법과 휠 오도메트리
- 2.4.1 휠 인코더
- 2.4.2 휠 오도메트리 오차
- 2.4.3 휠 오도메트리 오차의 경감
- 2.5 센서 융합
- 2.5.1 어반 챌린지의 CMU 보스
- 2.5.2 어반 챌린지의 스탠퍼드 주니어
- 2.5.3 메르세데스 벤츠의 버사
- 2.6 참고문헌
- 3장. 자율주행을 위한 인지
- 3.1 개요
- 3.2 데이터 세트
- 3.3 탐지
- 3.4 분할
- 3.5 스테레오, 옵티컬 플로우, 씬 플로우
- 3.5.1 스테레오와 깊이
- 3.5.2 옵티컬 플로우
- 3.5.3 씬 플로우
- 3.6 추적
- 3.7 결론
- 3.8 참고문헌
- 4장. 딥러닝을 통한 자율주행의 인지
- 4.1 컨볼루션 심층 신경망
- 4.2 탐지
- 4.3 의미 분할
- 4.4 스테레오와 옵티컬 플로우
- 4.4.1 스테레오
- 4.4.2 옵티컬 플로우
- 4.4.3 조밀한 연관에 대한 비지도 학습
- 4.5 결론
- 4.6 참고문헌
- 5장. 예측 및 경로 계획
- 5.1 계획 및 제어의 개요
- 5.1.1 아키텍처: 넓은 의미의 계획 및 제어
- 5.1.2 모듈의 범위: 여러 모듈의 협력을 통한 문제 해결
- 5.2 트래픽 예측
- 5.2.1 분류를 이용한 동작 예측
- 5.2.2 자동차 궤적 생성
- 5.3 차로 수준 경로 계획
- 5.3.1 경로 계획을 위한 가중치 방향성 그래프 구성 방법
- 5.3.2 경로 계획 알고리듬
- 5.3.3 경로 계획 그래프 비용: 유연한 경로 계획 또는 엄격한 경로 계획
- 5.4 결론
- 5.5 참고문헌
- 6장. 결정, 계획, 제어
- 6.1 동작 결정
- 6.1.1 마르코프 결정 과정 접근법
- 6.1.2 시나리오 기반의 분할 정복 접근법
- 6.2 모션 계획
- 6.2.1 자동차 모델, 도로 모델, SL 좌표계
- 6.2.2 경로 계획 및 속도 계획을 통한 모션 계획
- 6.2.3 종방향 계획과 횡방향 계획을 통한 모션 계획
- 6.3 피드백 제어
- 6.3.1 자전거 모델
- 6.3.2 PID 제어
- 6.4 결론
- 6.5 참고문헌
- 7장. 강화 학습 기반의 계획 및 제어
- 7.1 서론
- 7.2 강화 학습
- 7.2.1 Q 학습
- 7.2.2 액터-크리틱 방법
- 7.3 자율주행을 위한 학습 기반 계획 및 제어
- 7.3.1 동작 결정을 위한 강화 학습
- 7.3.2 계획 및 제어를 위한 강화 학습
- 7.4 결론
- 7.5 참고문헌
- 8장. 자율주행을 위한 클라이언트 시스템
- 8.1 복잡한 자율주행 시스템
- 8.2 자율주행을 위한 OS
- 8.2.1 ROS 개요
- 8.2.2 시스템 신뢰성
- 8.2.3 성능 개선
- 8.2.4 자원 관리 및 보안
- 8.3 컴퓨팅 플랫폼
- 8.3.1 컴퓨팅 플랫폼 구현
- 8.3.2 기존 컴퓨팅 솔루션
- 8.3.3 컴퓨터 아키텍처 설계 분석
- 8.4 참고문헌
- 9장. 자율주행을 위한 클라우드 플랫폼
- 9.1 개요
- 9.2 인프라스트럭처
- 9.2.1 분산 컴퓨팅 프레임워크
- 9.2.2 분산 스토리지
- 9.2.3 이종 컴퓨팅
- 9.3 시뮬레이션
- 9.3.1 BinPipeRDD
- 9.3.2 스파크와 ROS 연동하기
- 9.3.3 성능
- 9.4 모델 트레이닝
- 9.4.1 스파크를 사용하는 이유
- 9.4.2 트레이닝 플랫폼 아키텍처
- 9.4.3 이종 컴퓨팅
- 9.5 HD 맵 생성
- 9.5.1 HD 맵
- 9.5.2 클라우드를 이용한 맵 생성
- 9.6 결론
- 9.7 참고문헌
- 10장. 복잡한 교통 환경에서의 자율주행 라스트마일 배송 차량
- 10.1 배경과 동기
- 10.2 복잡한 교통 환경에서의 자율주행 배송 기술
- 10.3 JDCOM: 자율주행 솔루션
- 10.3.1 자율주행 아키텍처
- 10.3.2 로컬라이제이션과 HD 맵
- 10.3.3 인지
- 10.3.4 예측, 결정, 계획
- 10.4 안전과 보안 전략
- 10.4.1 시뮬레이션 단계 검증
- 10.4.2 차량 부분 모니터링
- 10.4.3 원격 모니터링
- 10.5 생산 전개
- 10.6 교훈
- 10.7 참고문헌
- 11장. 퍼셉트인 자율주행 자동차
- 11.1 서론
- 11.2 고가의 자율주행 기술
- 11.2.1 센싱
- 11.2.2 로컬라이제이션
- 11.2.3 인지
- 11.2.4 의사 결정
- 11.2.5 HD 맵의 생성과 관리
- 11.2.6 시스템 통합
- 11.3 경제성과 신뢰성 확보
- 11.3.1 센서 융합
- 11.3.2 모듈러 디자인
- 11.3.3 고정밀 비주얼 맵
- 11.4 모빌리티 서비스를 위한 자율 LSEV의 전개
- 11.5 결론