무인 운전 시스템의 핵심은 인지, 계획, 제어 세 부분으로 요약할 수 있습니다. 이러한 부분의 상호 작용과 차량 하드웨어 및 기타 차량과의 상호 작용은 다음 그림으로 나타낼 수 있습니다.
인식이란 환경으로부터 정보를 수집하고 관련 지식을 추출하는 무인 운전 시스템의 능력을 말합니다. 그 중 환경인식(Environmental Perception)은 구체적으로 장애물의 위치, 도로표지/표지의 감지, 보행자 및 차량의 감지, 데이터의 의미론적 분류 등 환경의 현장을 이해하는 능력을 말한다. 일반적으로 위치 파악은 인식의 일부이기도 합니다. 위치 파악은 무인 차량이 환경을 기준으로 자신의 위치를 결정하는 능력입니다.
계획은 자율주행차가 특정 목표를 위해 의도적인 결정을 내리는 과정입니다. 자율주행차의 경우 일반적으로 이 목표는 장애물을 피하면서 출발점에서 목적지에 도달하고, 주행 궤적과 행동을 지속적으로 최적화하는 것을 의미합니다. 승객의 안전과 편안함. 계획 계층은 일반적으로 임무 계획, 행동 계획 및 동작 계획의 세 가지 계층으로 세분화됩니다.
마지막으로 제어는 상위 계층에서 발생하는 계획된 작업을 정확하게 실행하는 자율주행차의 능력입니다.
무인 차량이 환경을 이해하고 파악하기 위해서는 일반적으로 무인 운전 시스템의 환경 인식 부분에서 많은 양의 정보를 획득해야 합니다. 구체적으로는 장애물의 위치, 속도 및 가능한 행동, 운전 가능 지역, 교통 규칙 등이 포함됩니다. 무인 차량은 일반적으로 Lidar, 카메라 및 밀리미터파 레이더와 같은 여러 센서의 데이터를 융합하여 이 정보를 얻습니다. 이 섹션에서는 인간 및 차량 감지에서 자율 주행 응용 분야에서 Lidar와 카메라의 역할을 간략하게 살펴봅니다.
Lidar는 감지 및 거리 측정을 위해 레이저를 사용하는 장치 유형입니다. 매초 수백만 개의 광 펄스를 환경에 보낼 수 있으며, 내부는 회전 구조이므로 실시간으로 물체를 감지하고 감지할 수 있습니다. 주변 환경의 3D 지도를 구축합니다.
일반적으로 LiDAR는 약 10Hz의 속도로 주변 환경을 회전하며 스캔합니다. 한 번의 스캔 결과는 각 지점이 (x, y, z) 정보를 가지고 있는 3차원 지도입니다. 그래프를 포인트 클라우드 그래프(Point Cloud Graph)라고 하는데, 아래 그림과 같이 Velodyne VLP-32c LiDAR를 사용하여 만든 포인트 클라우드 맵입니다.
Lidar는 신뢰성 때문에 아직도 가장 많이 사용되고 있습니다. 그러나 실제 사용 시에는 점군이 너무 희박하거나, 불규칙한 물체 표면의 경우 일부 점을 잃어버리는 문제가 종종 발생한다. 패턴 식별이 어렵고, 폭우 등의 상황에서는 라이더를 사용할 수 없습니다.
포인트 클라우드 정보를 이해하기 위해 일반적으로 포인트 클라우드 데이터에 대해 분할(Segmentation) 및 분류(Classification)의 2단계 작업을 수행합니다. 그중 분할은 포인트 클라우드 이미지의 개별 지점을 여러 전체로 클러스터링하는 것이며, 분류는 이러한 전체가 속하는 범주(예: 보행자, 차량 및 장애물)를 구별하는 것입니다. 분할 알고리즘은 다음 범주로 분류될 수 있습니다.
차선 감지에는 두 가지 측면이 포함됩니다. 첫 번째는 차선을 식별하는 것이고, 곡선 차선의 경우 곡률을 계산할 수 있으며, 두 번째는 차선을 기준으로 차량 자체의 오프셋을 결정하는 것입니다. (즉, 아무도 운전하지 않는 경우) 차량이 차선 상에 있는 경우) 한 가지 방법은 가장자리 특징(일반적으로 Sobel 연산자와 같은 그라데이션), 차선 색상 특징 등을 포함한 일부 차선 특징을 추출하고 다항식을 사용하여 차선이라고 생각되는 픽셀을 맞춘 다음 다항식을 기반으로 하는 것입니다. 차량에 장착된 카메라의 현재 위치에 따라 전방 차선의 곡률과 차선 대비 차량의 이탈 여부가 결정됩니다.
운전 가능 영역을 감지하는 현재 접근 방식 중 하나는 심층 신경망을 사용하여 장면을 직접 분할하는 것입니다. 즉, 이미지에서 운전 가능 영역 절단을 완료하기 위해 픽셀 단위로 분류하는 심층 신경망을 훈련하는 것입니다.
현재 트래픽 참가자의 탐지 및 분류는 주로 딥러닝 모델에 의존합니다. 일반적으로 사용되는 모델에는 두 가지 범주가 있습니다.
Region RCNN(RCNN, SPP-NET, Fast-RCNN, Faster-RCNN 등)
YOLO(YOLO, SSD 등)로 대표되는 회귀 방식 기반 딥러닝 타겟 탐지 알고리즘
현재 가장 널리 사용되는 무인 차량 측위 방법은 의심할 바 없이 GPS(Global Positioning System)와 관성 항법 시스템(Inertial Navigation System)을 통합한 측위 방법입니다. 그 중 GPS의 측위 정확도는 수십 범위에 이릅니다. 그 중 고정밀 GPS 센서는 상대적으로 가격이 비쌉니다. GPS/IMU를 통합한 측위 방법은 지하주차장, 고층빌딩으로 둘러싸인 도심지 등 GPS 신호가 없거나 약한 경우 고정밀 측위를 구현할 수 없기 때문에 무인운전 업무에만 적용할 수 있다. 일부 시나리오.
지도 기반 위치 확인 알고리즘은 널리 사용되는 또 다른 무인 차량 위치 확인 알고리즘입니다. SLAM(Simultaneous Localization And Mapping)은 이러한 유형의 알고리즘의 대표적인 것으로, SLAM의 목표는 이 지도를 사용하여 동시에 지도를 구축하는 것입니다. 위치 파악을 위해 SLAM은 이미 관측된 환경 특징을 활용하여 현재 차량의 위치와 현재 관측된 특징의 위치를 파악합니다.
이것은 과거의 사전 및 현재 관측치를 사용하여 현재 위치를 추정하는 프로세스입니다. 실제로는 이를 완성하기 위해 일반적으로 칼만 필터(Kalman Filter), 확장 칼만 필터(Extended Kalman Filter) 및 입자 필터를 사용합니다. (입자 필터).
SLAM은 로봇 측위 분야의 연구 핫스팟이지만, 무인 차량의 실제 개발 과정에서 SLAM 측위를 사용하는 데에는 로봇과 달리 장거리 및 대규모 개방 환경에서 이동하는 데 문제가 있습니다. 장거리 이동에서는 거리가 증가함에 따라 SLAM 포지셔닝 편차가 점차 증가하여 포지셔닝 실패가 발생합니다.
실제로 무인 차량 측위를 위한 효과적인 방법은 원래 SLAM의 스캔 매칭 알고리즘을 변경하는 것입니다. 구체적으로 측위하는 동안 더 이상 매핑하지 않고 사전에 LiDAR와 같은 센서를 사용하여 지역 포인트 클라우드를 매핑합니다. 지도가 구축되고 프로그램과 수동 처리(예: 차선, 도로망, 신호등 위치, 현재 도로 구간의 교통 규칙에 대한 특정 주석 등)를 통해 "의미"의 일부가 지도에 추가됩니다. 의미론을 포함합니다. 지도는 무인자동차의 고정밀 지도(HD Map)입니다.
실제 측위에서는 현재의 LiDAR 스캔과 사전 구축된 고정밀 지도를 사용하여 포인트 클라우드 매칭을 수행하여 지도에서 무인 차량의 특정 위치를 결정합니다. 이 방법을 총칭하여 스캔 매칭 방법이라고 합니다. (Scan Matching), 가장 일반적인 스캔 매칭 방법은 ICP(Iterative Closest Point) 방법으로, 현재 스캔과 대상 스캔 사이의 거리 측정을 기반으로 포인트 클라우드 등록을 완료합니다.
또한 정규 분포 변환(NDT)은 포인트 클라우드 등록을 위한 일반적인 방법이기도 하며 포인트 클라우드 특징 히스토그램을 기반으로 등록을 수행합니다. 포인트 클라우드 등록을 기반으로 한 위치 지정 방법도 10cm 이내의 위치 지정 정확도를 달성할 수 있습니다.
포인트 클라우드 등록을 통해 지도를 기준으로 무인 차량의 전체 위치를 확인할 수 있지만 이 방법은 사전 구성된 고정밀 지도에 너무 많이 의존하므로 개방형 도로 구간에서는 여전히 GPS 위치 확인과 함께 사용해야 합니다. 장면 상대적으로 단일 도로 구간(예: 고속도로)의 경우 GPS와 포인트 클라우드 매칭을 사용하는 비용이 상대적으로 높습니다.
무인운전 계획 시스템의 계층적 구조 설계는 2007년 개최된 DAPRA Urban Challenge에서 유래되었습니다. 대회에 참가하는 대부분의 팀에는 아무도 없습니다. 자동차의 계획 모듈은 작업 계획, 행동 계획, 행동 계획의 세 가지 디자인 계층으로 구분됩니다. 그 중 작업 계획은 일반적으로 경로 계획 또는 경로 계획(Route Planning)이라고도 하며 상대적으로 상위를 담당합니다. 시작점부터 끝점까지의 경로 선택과 같은 수준의 경로 계획입니다.
현재 도로 시스템을 방향성 네트워크 그래프(방향성 그래프 네트워크)로 처리할 수 있습니다. 이 방향성 네트워크 그래프는 도로 간의 연결, 교통 규칙, 도로 폭 등을 나타낼 수 있습니다. 정보는 본질적으로 정보의 "의미론적" 부분입니다. 이전 포지셔닝 섹션에서 언급한 고정밀 지도는 다음 그림과 같이 경로 네트워크 그래프라고 합니다.
이러한 도로 네트워크 그래프의 각 방향 가장자리에는 가중치가 부여됩니다. 그러면 무인 차량의 경로 계획 문제는 차량이 특정 목표(보통 A 지점에서 B 지점까지)에 도달하기 위해 도로 네트워크 그래프의 문제가 됩니다. , 특정 방법을 기반으로 최적(즉, 최소 손실) 경로를 선택하는 과정으로 문제는 유향 그래프 탐색 문제가 됩니다. Dijkstra 알고리즘(Dijkstra 알고리즘) 및 A* 알고리즘(A* 알고리즘)과 같은 전통적인 알고리즘이 주로 사용됩니다. 이산형 그래프의 최적 경로탐색을 계산하고, 도로망 그래프에서 손실이 가장 적은 경로를 탐색하는데 사용된다.
행동 계획은 때때로 의사 결정(의사 결정자)이라고도 합니다. 주요 임무는 임무 계획 목표와 현재 지역 상황(다른 차량 및 보행자의 위치 및 행동, 현재 교통 규칙 등) 무인 차량이 실행해야 할 다음 결정을 내리기 위해 이 계층은 차량의 부조종사로 이해될 수 있습니다. 그는 목표와 현재 교통 상황에 따라 운전자에게 지시를 내립니다. 추월할지, 보행자를 추월할지, 우회할지 등을 판단합니다.
행동 계획의 한 가지 방법은 다수의 동작 문구가 포함된 복잡한 유한 상태 머신(FSM)을 사용하는 것입니다. 유한 상태 머신은 기본 상태에서 시작하여 다양한 운전 시나리오에 따라 다양한 상태로 점프합니다. 액션 상태는 액션 구문을 하위 액션 계획 레이어에 전달합니다. 다음 그림은 간단한 유한 상태 머신입니다.
위 그림에서 볼 수 있듯이 각 상태는 차량 액션에 대한 결정입니다. 상태 간의 특정 점프 조건이 있으며 일부 상태는 자체 루프가 가능합니다(예: 위 그림의 추적 상태 및 대기 상태). 현재 무인 차량에 사용되는 주류 행동 의사 결정 방법이지만 유한 상태 기계에는 여전히 큰 한계가 있습니다. 첫째, 복잡한 행동 결정을 달성하려면 차량이 상태에 빠질 수 있는 많은 상태를 수동으로 설계해야 합니다. 유한 상태 기계의 고려된 상태; 유한 상태 기계가 교착 상태 보호 기능으로 설계되지 않은 경우 차량은 일종의 교착 상태에 빠질 수도 있습니다.
특정 목적(예: 장애물 회피)을 달성하기 위해 일련의 행동을 계획하는 과정을 행동 계획이라고 합니다. 일반적으로 행동 계획 알고리즘의 성능을 고려하는 데에는 일반적으로 계산 효율성(Computational Efficiency)과 완전성(Completeness)이라는 두 가지 지표가 사용됩니다. 소위 계산 효율성은 행동 계획을 완료하는 처리 효율성을 의미합니다. 행동 계획 알고리즘은 구성 공간에 따라 크게 달라집니다. 문제에 대한 해결책이 있으면 행동 계획 알고리즘이 제한된 시간 내에 해결책을 반환할 수 있고 해결책이 없으면 아무 해결책도 반환할 수 없는 경우에는 다음을 호출합니다. 작업 계획 알고리즘이 완료되었습니다.
구성 공간: 로봇이 움직일 수 있는 모든 구성을 정의하는 집합입니다. 가장 간단한 2차원 이산 문제인 구성 공간은 [x, y]입니다. 무인 차량의 공간은 사용되는 모션 계획 알고리즘에 따라 매우 복잡해질 수 있습니다.
구성 공간 개념을 도입한 후 무인 차량의 행동 계획은 초기 구성(Start Configuration), 목표 구성(Goal Configuration) 및 여러 제약(Constraint)이 주어지면 다음과 같이 됩니다. 이러한 작업의 실행 결과는 제약 조건을 만족하면서 무인 차량을 초기 구성에서 목표 구성으로 이동하는 것입니다.
자율주행차 적용 시나리오에서 초기 구성은 일반적으로 자율주행차의 현재 상태(현재 위치, 속도, 각속도 등)이며, 목표 구성은 상위 계층의 실행 계획에서 나옵니다. 행동 계획 계층, 제약 조건은 차량의 이동 제한(최대 각도 진폭, 최대 가속도 등)입니다.
분명히 고차원 구성 공간에서 행동 계획을 위한 계산량은 매우 엄청납니다. 계획 알고리즘의 무결성을 보장하기 위해서는 거의 모든 가능한 경로를 검색해야 하며, 이는 연속적으로 문제를 형성합니다. 행동 계획 "차원의 저주" 문제. 현재 실행 계획에서 이러한 문제를 해결하는 핵심 개념은 연속 공간 모델을 이산 모델로 변환하는 것입니다. 구체적인 방법은 조합 계획과 샘플링 기반 계획의 두 가지 범주로 요약할 수 있습니다.
모션 계획의 조합적 방법은 근사치에 의지하지 않고 연속적인 구성 공간을 통해 경로를 찾습니다. 이러한 특성으로 인해 정확한 알고리즘이라고 할 수 있습니다. 결합 방법은 Darpa Urban Challenge에서 CMU의 자율주행차 BOSS가 사용하는 행동 계획 알고리즘과 같은 계획 문제의 개별 표현을 구축하여 완전한 솔루션을 찾습니다. 그들은 먼저 경로 계획자를 사용하여 대체 경로와 목표 지점을 생성합니다. 이러한 경로와 목표 지점은 융합 역학에 의해 도달 가능), 최적화 알고리즘을 통해 최적의 경로를 선택합니다.
또 다른 이산화 방법은 그리드 분해 접근법입니다. 구성 공간을 그리드화한 후 일반적으로 이산 그래프 검색 알고리즘(예: A*)을 사용하여 최적화 경로를 찾을 수 있습니다.
샘플링 기반 방법은 확률적 완전성으로 인해 널리 사용됩니다. 가장 일반적인 알고리즘은 무인 차량에서 PRM(Probabilistic Roadmaps), RRT(Rapidly-Exploring Random Tree), FMT(Fast-Marching Trees)입니다. , 상태 샘플링 방법은 두 상태의 제어 제약 조건을 고려해야 하며 샘플링 상태와 상위 상태에 도달할 수 있는지 여부를 효과적으로 쿼리할 수 있는 방법도 필요합니다. 나중에 샘플링 기반 모션 계획 알고리즘인 State-Lattice Planner에 대해 자세히 소개하겠습니다.
무인 차량 시스템의 최하위 계층인 제어 계층의 임무는 계획된 작업을 실현하는 것이므로 제어 모듈의 평가 지표는 제어의 정확성입니다. 제어 시스템 내부에는 측정값이 있으며 컨트롤러는 차량의 측정값을 예상 상태와 비교하여 제어 작업을 출력합니다. 이 프로세스를 피드백 제어라고 합니다.
피드백 제어는 자동화 제어 분야에서 널리 사용됩니다. 가장 일반적인 피드백 컨트롤러는 PID 컨트롤러(Proportional-Integral-Derivative Controller)입니다. 이는 단순한 오류 신호를 기반으로 합니다. 오류 신호는 오류의 비율(Proportion), 오류의 적분(Integral), 오류의 도함수(Derivative)의 세 가지 항목으로 구성됩니다.
PID 제어는 구현이 간단하고 성능이 안정적이기 때문에 여전히 업계에서 가장 널리 사용되는 컨트롤러입니다. 그러나 순수 피드백 컨트롤러인 PID 컨트롤러는 무인 차량 제어에 몇 가지 문제가 있습니다. PID 제어는 순수 기반 컨트롤러입니다. 제동 메커니즘의 지연으로 인해 제어 자체가 지연됩니다. PID에는 내부 시스템 모델이 없기 때문에 이 문제를 해결하기 위해 제어를 도입합니다. 모델 예측을 기반으로 한 방법.
05 결론
실제 무인 차량 인식에서는 일반적으로 LiDAR, 카메라 및 밀리미터파 레이더와 같은 여러 측정을 융합해야 합니다. 여기에는 Kalman 필터링, 확장 Kalman 필터링 및 LiDAR와 같은 융합 알고리즘이 포함됩니다.
무인 차량과 로봇의 측위 방법에는 여러 가지가 있습니다. 현재 주류 방법은 GPS+관성 항법 시스템 융합 방법을 사용하는 것이며, 두 번째는 Lidar 포인트 클라우드 스캐닝 및 매칭 방법을 사용하는 것입니다. 및 기타 포인트 클라우드 매칭 기반 방법.
계획 모듈도 작업 계획(경로 계획이라고도 함), 행동 계획 및 행동 계획의 세 가지 계층으로 구분됩니다. 도로 네트워크 및 이산 경로 검색 알고리즘을 기반으로 한 작업 계획 방법은 나중에 소개됩니다. 이 장에서는 행동 계획 알고리즘 수준에서 유한 상태 기계의 적용에 중점을 두고 샘플링 기반 계획 방법에 중점을 둘 것입니다.
우리는 무인이동체 제어모듈에 모델 예측 기반의 제어 방법을 자주 사용하지만, 모델 예측 제어 알고리즘을 이해하기 전에 기본적인 피드백 제어에 대한 이해로 앞서 PID 제어기에 대해 배웠습니다. 다음으로 우리는 두 가지 가장 간단한 유형의 차량 모델, 즉 운동학적 자전거 모델과 동적 자전거 모델을 연구하고 마지막으로 모델 예측 제어를 소개합니다.
무인 차량을 로봇으로 이해하고 로봇이 발전한 사고를 활용하여 무인 차량 시스템을 처리하는 것이 업계의 공통된 의견이지만, 단순히 무인 운전을 완성하기 위해 인공지능이나 에이전트를 사용하는 경우도 있습니다. 그 중 딥러닝 기반의 엔드투엔드 무인운전과 강화학습 기반의 운전 에이전트가 최근 연구 핫스팟이다.
위 내용은 자율주행 기술 프레임워크 개요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!