이 글은 자율 주행 자동차 만들기(에이콘)의 내용을 스터디 하면서 정리한 글이다.
구체적인 내용이 궁금하신 분은 해당 책을 확인하시기 바랍니다.
본 내용은 저자가 자율 주행 클라이언트 시스템을 구성한 아이디어를 설명하는 내용입니다.
ROS (Robot Operating System) 를 사용하여, 플랫폼 구성.
=> 다양한 환경 및 여러 센서로 부터의 실시간 처리를 위해서 ROS 를 고려.
자율주행 시스템의 주요한 프로세스 흐름
1) 센싱 : GPS/IMU, LiDAR, Camera 등 =>
2) 인지 : Localization, object recognization, object tracking =>
3) 의사결정 : 예측, 경로 계획, 장애물 회피
ROS
주요 컴포넌트 : ROS 마스터, ROS노드, ROS서비스
ROS 마스터 : 네임 서비스 제공
ROS 노드 : 다른 노드로부터 전달된 메시지를 처리하고, 새로운 메시지를 다운스트림 노드로 보낸다.
ROS 서비스 : 요청 받은 서비스를 처리하고, 결과를 전송
ROS 1 사용 => 아직 ROS2 안정성, 보안성 이슈 (아직 안정화가 되지 않음), ROS2의 DDS 비용(리소스) 이슈
주요 용어
- 노드 : 태스크를 수행하는 프로세스
- 노드 관리자, 마스터
- 매개변수 서버 : 매겨변수 관리
- 메시지 : 노드끼리 주고 받는 메시지
- 토픽 : 통신 메커니즘 (publisher / subscriber)
- 서비스 : 1 대 1 통신 채널
시스템의 신뢰성
시스템의 신뢰성(reliability), 견고성(robustness)를 위하여 주요한 마스트 노드를 주키퍼(ZooKeeper)를 활용하여 분산시킴 (active / standby)
노드가 죽어 있는지 판단하기 위한 health check용 heart beat 를 보냄
성능 개선
통신 부하를 줄인다.
- 로컬 통신시에 네트웍 전계층을 사용하지 않도록 보완
- 브로드캐스트, 다중 점대점 전송방식 => 멀티캐스트로 변경
- 직렬화/역직렬화 => 경량 직렬화/역직렬화로 변경
자원관리 및 보안
각각의 서비스를 LXC(리눅스 컨테이너)로 분리
하드웨어 구성 Example
- 인텔 제온 E5 프로세서
- 엔비디아 K80 GPU
- DSP
- FPGA
- ASIC
'자율주행소식' 카테고리의 다른 글
[2021.02.15]자율주행소식 (0) | 2021.02.15 |
---|---|
美매체 "가장 가능성 높은 애플카 파트너는 폭스바겐과 현대차" (0) | 2021.02.15 |
Sensoris schema 서버에 적용하기 #1 (0) | 2020.02.25 |
Protocol Buffers Java Example (0) | 2020.02.24 |
자율 주행 자동화 단계 (SAE) (0) | 2020.02.20 |
댓글