KR102643540B1 - 자율주행 차량의 충돌 방지 방법, 장치 및 컴퓨터프로그램 - Google Patents

자율주행 차량의 충돌 방지 방법, 장치 및 컴퓨터프로그램 Download PDF

Info

Publication number
KR102643540B1
KR102643540B1 KR1020230147834A KR20230147834A KR102643540B1 KR 102643540 B1 KR102643540 B1 KR 102643540B1 KR 1020230147834 A KR1020230147834 A KR 1020230147834A KR 20230147834 A KR20230147834 A KR 20230147834A KR 102643540 B1 KR102643540 B1 KR 102643540B1
Authority
KR
South Korea
Prior art keywords
autonomous vehicle
area
collision detection
collision
setting
Prior art date
Application number
KR1020230147834A
Other languages
English (en)
Inventor
이승현
김지훈
김지웅
박중희
윤호
Original Assignee
주식회사 라이드플럭스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 라이드플럭스 filed Critical 주식회사 라이드플럭스
Priority to KR1020230147834A priority Critical patent/KR102643540B1/ko
Application granted granted Critical
Publication of KR102643540B1 publication Critical patent/KR102643540B1/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0956Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • B60W40/04Traffic conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0015Planning or execution of driving tasks specially adapted for safety
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects

Abstract

자율주행 차량의 충돌 방지 방법, 장치 및 컴퓨터프로그램이 제공된다. 본 발명의 다양한 실시예에 따른 자율주행 차량의 충돌 방지 방법은 컴퓨팅 장치에 의해 수행되는 자율주행 차량의 충돌 방지 방법에 있어서, 자율주행 차량의 인근에 위치하는 복수의 로드 유저 중 충돌 감지 대상을 선정하는 단계 및 상기 자율주행 차량과 상기 선정된 충돌 감지 대상 간의 충돌 가능성을 판단하는 단계를 포함할 수 있다.

Description

자율주행 차량의 충돌 방지 방법, 장치 및 컴퓨터프로그램{METHOD, COMPUTING DEVICE AND COMPUTER PROGRAM FOR PREVENTING COLLISION OF AN AUTONOMOUS VEHICLE}
본 발명의 다양한 실시예에 따른 자율주행 차량의 충돌 방지 방법, 장치 및 컴퓨터프로그램에 관한 것이다.
차량을 운전하는 사용자들의 편의를 위하여, 각종 센서와 전자 장치 등(예: 차량 운전자 보조 시스템(ADAS: Advanced Driver Assistance System)이 구비되고 있는 추세이며, 특히, 운전자의 개입 없이 주변 환경을 인식하고, 인식된 주변 환경에 따라 스스로 주어진 목적지까지 자동으로 주행하는 차량의 자율주행 시스템(Autonomous driving System)에 대한 기술 개발이 활발하게 이루어지고 있다.
자율주행 차량은 운전자의 개입 없이 주변 환경을 인식하고, 인식된 주변 환경에 따라 스스로 주어진 목적지까지 자동으로 주행하는 자율주행 시스템 기능을 탑재한 차량을 말하며, 자율주행 시스템 기능은 자율주행을 위해 측위, 인지, 예측, 계획 및 제어를 수행하는 것을 의미한다.
자율주행 시스템은 인지 프로세스를 통해, 각종 센서(예컨대, 카메라, 레이더, 라이다 센서 등)를 통해 획득된 센서 데이터를 처리하여 자율주행 차량 주변에 위치하는 객체를 탐지하고, 판단 프로세스를 통해, 인지 프로세스를 수행함에 따라 도출되는 인지 결과(예: 객체의 위치, 자세, 속도 등의 정보)를 전달받아 자율주행 차량의 경로 및 속도 등의 주행 계획을 수립한다.
자율 주행 시스템은 운전자의 개입 없이 시스템 자체적으로 판단하여 동적으로 주행하는 것이기 때문에, 자율주행 차량과 인접한 로드 유저들(예: 차량, 사람, 기타 구조물 등) 간의 충돌 사고가 발생할 가능성이 높다는 문제가 있는 바, 이에, 종래의 자율주행 시스템은 자율주행 차량에 대한 충돌 사고 발생을 방지하기 위한 목적으로, 자율주행 차량을 중심으로 소정의 크기의 충돌 감지 영역을 설정하고, 충돌 감지 영역 내에서의 로드 유저들과 자율주행 차량 간의 충돌 가능성을 지속적으로 판단하였다.
한편, 종래의 자율주행 시스템에서의 충돌 감지 방법은 자율주행 차량 인근에 위치하는 모든 로드 유저들을 대상으로 수행하며, 통상적으로 매우 짧은 주기(예: 0.1초)마다 수행하기 때문에, 자율주행 차량 인근에 존재하는 로드 유저의 수가 많아질수록 충돌 가능성을 판단하는 연산 작업에 필요한 리소스가 많아지며, 이에 따라, 충돌 가능성 판단 동작의 실시간성에 악영향을 끼친다는 문제가 있다.
이에, 본 발명이 해결하고자 하는 과제는 종래의 자율주행 시스템에서의 충돌 감지 방법에 따른 문제점을 해소하기 위한 목적으로, 자율주행 차량 인근에 위치하는 로드 유저들 중 요주의 로드 유저를 선정하고, 요주의 로드 유저에 대해서만 선별적으로 충돌 가능성을 판단함으로써, 충돌 가능성을 판단하기 위한 연산 작업에 필요한 리소스를 획기적으로 감소시킬 수 있고, 이를 통해 보다 효율적이고 빠르게 충돌 가능성 판단 동작을 수행할 수 있으며, 이를 기반으로 자율주행 차량에 대한 충돌을 효과적으로 방지할 수 있는 자율주행 차량의 충돌 방지 방법, 장치 및 컴퓨터프로그램을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 자율주행 차량의 충돌 방지 방법은 컴퓨팅 장치에 의해 수행되는 자율주행 차량의 충돌 방지 방법에 있어서, 자율주행 차량의 인근에 위치하는 복수의 로드 유저 중 충돌 감지 대상을 선정하는 단계 및 상기 자율주행 차량과 상기 선정된 충돌 감지 대상 간의 충돌 가능성을 판단하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 충돌 감지 대상을 선정하는 단계는, 상기 자율주행 차량의 주행 경로에 기초하여 상기 자율주행 차량에 대응하는 제1 영역을 설정하는 단계, 상기 복수의 로드 유저 각각에 대한 예상 주행 경로에 기초하여 상기 복수의 로드 유저 각각에 대응하는 복수의 제2 영역을 설정하는 단계 및 상기 설정된 복수의 제2 영역 중 상기 설정된 제1 영역과 적어도 일부분 중첩되는 제2 영역을 선택하고, 상기 선택된 제2 영역에 대응하는 로드 유저를 충돌 감지 대상으로 선정하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 자율주행 차량의 주행 경로는, 소정의 기간 동안 상기 자율주행 차량의 주행을 제어하기 위한 경로로, 상기 경로 상에 등간격으로 배치되는 복수의 포인트를 포함하며, 상기 제1 영역을 설정하는 단계는, 상기 복수의 포인트를 모두 포함하는 박스 형태의 제1 임시 영역을 설정하는 단계, 상기 자율주행 차량이 상기 복수의 포인트 각각에 대응하는 지점에 위치했을 때 상기 자율주행 차량의 외형 영역이 모두 포함되도록 상기 설정된 제1 임시 영역의 크기를 조정함에 따라 제2 임시 영역을 설정하는 단계 및 상기 설정된 제2 임시 영역의 크기를 소정의 비율로 증가시켜 제3 임시 영역을 설정하고, 상기 설정된 제3 임시 영역을 상기 자율주행 차량에 대응하는 제1 영역으로 설정하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 자율주행 차량의 주행 경로는, 미래 소정의 기간 동안 상기 자율주행 차량의 주행을 제어하기 위한 경로로, 상기 경로 상에 등간격으로 배치되는 복수의 포인트의 집합으로 표현되며, 상기 제1 영역을 설정하는 단계는, 기 설정된 기준에 따라 상기 복수의 포인트를 분류함에 따라 복수의 포인트 그룹을 생성하는 단계, 상기 생성된 복수의 포인트 그룹 각각에 대응하는 복수의 제1 단위 영역을 설정하는 단계 및 상기 설정된 복수의 제1 단위 영역을 포함하는 제1 영역을 설정하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 복수의 포인트 그룹을 생성하는 단계는, 상기 복수의 포인트 중 제1 포인트와 상기 제1 포인트 이후의 제2 포인트 간의 오프셋 - 상기 오프셋은 상기 자율주행 차량의 주행 방향을 기준으로 좌측 또는 우측 방향으로의 편차임 - 이 임계값 이상인 경우, 상기 제1 포인트부터 상기 제2 포인트 사이에 배치된 포인트들을 상기 제1 포인트와 동일한 하나의 포인트 그룹으로 그룹화하고, 상기 제2 포인트와 상기 제2 포인트 이후의 제3 포인트 간의 오프셋이 상기 임계값 이상인 경우, 상기 제2 포인트부터 상기 제3 포인트 사이에 배치된 포인트들을 상기 제2 포인트와 동일한 하나의 포인트 그룹으로 그룹화하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 복수의 로드 유저 각각에 대한 예상 주행 경로는, 미래 소정의 기간 동안 상기 복수의 로드 유저 각각이 주행할 것으로 예상되는 경로로, 상기 예상되는 경로 상에 등간격으로 배치되는 복수의 포인트의 집합으로 표현되며, 상기 복수의 제2 영역을 설정하는 단계는, 상기 복수의 로드 유저 중 어느 하나의 로드 유저에 대한 예상 주행 경로 상에 배치되는 복수의 포인트를 모두 포함하는 박스 형태의 제1 임시 영역을 설정하는 단계, 상기 어느 하나의 로드 유저가 상기 복수의 포인트 각각에 대응하는 지점에 위치했을 때 상기 어느 하나의 로드 유저의 외형 영역이 모두 포함되도록 상기 설정된 제1 임시 영역의 크기를 조정함에 따라 제2 임시 영역을 설정하는 단계 및 상기 설정된 제2 임시 영역의 크기를 소정의 비율로 증가시켜 제3 임시 영역을 설정하고, 상기 설정된 제3 임시 영역을 상기 어느 하나의 로드 유저에 대응하는 제2 영역으로 설정하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 복수의 로드 유저 각각에 대한 예상 주행 경로는, 미래 소정의 기간 동안 상기 복수의 로드 유저 각각이 주행할 것으로 예상되는 경로로, 상기 예상되는 경로 상에 등간격으로 배치되는 복수의 포인트의 집합으로 표현되며, 상기 복수의 제2 영역을 설정하는 단계는, 기 설정된 기준에 따라 상기 복수의 로드 유저 중 어느 하나의 로드 유저에 대한 예상 주행 경로 상에 배치되는 복수의 포인트를 분류함에 따라 복수의 포인트 그룹을 생성하는 단계, 상기 생성된 복수의 포인트 그룹 각각에 대응하는 복수의 제2 단위 영역을 설정하는 단계 및 상기 설정된 복수의 제2 단위 영역을 포함하는 제2 영역을 설정하는 단계를 포함할 수 있다.
다양한 실시예에서, 상기 충돌 가능성을 판단하는 단계는, 상기 자율주행 차량과 상기 선정된 충돌 감지 대상의 상태에 기초하여, 상기 자율주행 차량과 상기 선정된 충돌 감지 대상 각각에 대한 충돌 감지 영역을 설정하는 단계 및 상기 자율주행 차량에 대하여 설정된 충돌 감지 영역과 상기 선정된 충돌 감지 대상에 대하여 설정된 충돌 감지 영역을 이용하여 상기 자율주행 차량과 상기 선정된 충돌 감지 대상 간의 충돌 가능성을 판단하는 단계를 포함하며, 상기 자율주행 차량과 상기 선정된 충돌 감지 대상에 대하여 설정된 충돌 감지 영역은, 제1 충돌 감지 영역과 제2 충돌 감지 영역을 포함하며, 복수의 원형 영역의 집합으로 표현되는 것일 수 있다.
다양한 실시예에서, 상기 충돌 가능성을 판단하는 단계는, 상기 자율주행 차량과 상기 선정된 충돌 감지 대상 각각에 대하여, 현재 시점에서의 충돌 가능성과 미래 시점에서의 충돌 가능성을 판단하되, 상기 미래 시점은 상기 자율주행 차량의 주행 경로 및 속력 프로파일과 상기 선정된 충돌 감지 대상에 대한 예상 주행 경로 및 예상 속력 프로파일에 기초하여 결정되는 것인, 단계를 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 자율주행 차량의 충돌 방지 방법을 수행하는 컴퓨팅 장치는 프로세서, 네트워크 인터페이스, 메모리 및 상기 메모리에 로드(load) 되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되, 상기 컴퓨터 프로그램은, 자율주행 차량의 인근에 위치하는 복수의 로드 유저 중 충돌 감지 대상은 선정하는 인스트럭션(instruction) 및 상기 자율주행 차량과 상기 선정된 충돌 감지 대상 간의 충돌 가능성을 판단하는 인스트럭션을 포함할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터프로그램은 컴퓨팅 장치와 결합되어, 자율주행 차량의 인근에 위치하는 복수의 로드 유저 중 충돌 감지 대상은 선정하는 단계 및 상기 자율주행 차량과 상기 선정된 충돌 감지 대상 간의 충돌 가능성을 판단하는 단계를 포함하는 자율주행 차량의 충돌 방지 방법을 실행시키기 위하여 컴퓨팅 장치로 판독 가능한 기록매체에 저장될 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 다양한 실시예에 따르면, 자율주행 차량 인근에 위치하는 로드 유저들 중 요주의 로드 유저를 선정하고, 요주의 로드 유저에 대해서만 선별적으로 충돌 가능성을 판단함으로써, 충돌 가능성을 판단하기 위한 연산 작업에 필요한 리소스를 획기적으로 감소시킬 수 있고, 이를 통해, 충돌 가능성 판단 동작을 보다 효율적이고 빠르게 수행할 수 있으며, 이를 기반으로 자율주행 차량에 대한 충돌을 효과적으로 방지할 수 있다는 이점이 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 자율주행 시스템을 도시한 도면이다.
도 2는 본 발명의 다른 실시예에 따른 자율주행 차량의 충돌 방지 방법을 수행하는 컴퓨팅 장치의 하드웨어 구성도이다.
도 3은 본 발명의 또 다른 실시예에 따른 자율주행 차량의 충돌 방지 방법의 순서도이다.
도 4는 다양한 실시예에서, 충돌 감지 대상을 선정하는 방법을 설명하기 위한 순서도이다.
도 5는 다양한 실시예에서, 자율주행 차량에 대응하는 제1 영역을 설정하는 과정을 설명하기 위한 도면이다.
도 6은 다양한 실시예에서, 복수의 제1 단위 영역을 포함하는 제1 영역을 설정하는 과정을 설명하기 위한 도면이다.
도 7은 다양한 실시예에서, 로드 유저에 대응하는 제2 영역을 설정하는 과정을 설명하기 위한 도면이다.
도 8은 다양한 실시예에서, 제1 영역과의 중첩된 영역이 존재하는지 여부에 따라 충돌 감지 대상을 선정하는 과정을 설명하기 위한 도면이다.
도 9는 다양한 실시예에서, 자율주행 차량과 충돌 감지 대상 간의 충돌 가능성을 판단하는 방법을 설명하기 위한 순서도이다.
도 10은 다양한 실시예에서, 자율주행 차량에 설정된 충돌 감지 영역을 도시한 도면이다.
도 11은 다양한 실시예에서, 자율주행 차량에 서로 다른 크기를 가지는 복수의 제2 충돌 감지 영역이 형성된 형태를 도시한 도면이다.
도 12는 다양한 실시예에서, 자율주행 차량의 속도가 변경되는 것에 응답하여 충돌 감지 영역의 크기를 변경하는 구성을 도시한 도면이다.
도 13은 다양한 실시예에서, 자율주행 차량의 속도가 변경되는 것에 응답하여 충돌 감지 영역에 포함된 복수의 감지 영역의 간격을 변경하는 구성을 도시한 도면이다.
도 14는 다양한 실시예에서, 자율주행 차량의 속도가 변경되는 것에 응답하여 감지 영역을 추가하는 구성을 도시한 도면이다.
도 15는 다양한 실시예에서, 자율주행 차량과 충돌 감지 대상 간의 충돌 가능성을 판단하는 과정을 설명하기 위한 도면이다.
도 16은 다양한 실시예에서, 자율주행 차량과 충돌 감지 대상의 충돌 감지 영역이 중첩되는 크기에 따라 충돌 상태를 판단하는 과정을 설명하기 위한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.
도 1은 본 발명의 일 실시예에 따른 자율주행 시스템을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 자율주행 시스템은 컴퓨팅 장치(100), 사용자 단말(200), 외부 서버(300) 및 네트워크(400)를 포함할 수 있다.
여기서, 도 1에 도시된 자율주행 시스템은 일 실시예에 따른 것이고, 그 구성 요소가 도 1에 도시된 실시예에 한정되는 것은 아니며, 필요에 따라 부가, 변경 또는 삭제될 수 있다.
일 실시예에서, 컴퓨팅 장치(100)는 자율주행 차량(10)에 대한 자율주행 제어를 수행할 수 있다. 이를 위해, 컴퓨팅 장치(100)는 측위 동작, 인지 동작, 판단 동작 및 제어 동작을 수행할 수 있다.
여기서, 도 1에 도시된 자율주행 시스템에 따르면, 컴퓨팅 장치(100)는 자율주행 차량(10)의 외부에 별도로 구비될 수 있으며, 자율주행 차량(10)의 외부에서 자율주행과 관련된 제어명령을 결정하고, 자율주행과 관련된 제어명령을 자율주행 차량(10)으로 전송함으로써 자율주행 차량(10)이 자율주행 동작을 수행하도록 할 수 있다. 그러나, 이에 한정되지 않고, 컴퓨팅 장치(100)는 자율주행 차량(10)의 내부에 구비되는 구성 요소 중 하나에 해당할 수 있으며, 자율주행 차량(10)의 내부에서 자율주행과 관련된 제어명령을 결정하고, 자율주행과 관련된 제어명령에 따라 자율주행 차량(10)의 구성 요소들을 직접 제어함으로써 자율주행 차량(10)에 대한 자율주행 제어를 수행할 수 있다. 예컨대, 컴퓨팅 장치(100)는 자율주행 차량(10) 내에서 자율주행 차량(10)에 포함된 구성 요소들의 동작을 제어하는 제어 모듈일 수 있다.
먼저, 컴퓨팅 장치(100)에 의해 수행되는 측위 동작은 자율주행 차량(10)의 위치 및 자세를 측정하는 동작을 의미할 수 있다. 예컨대, 컴퓨팅 장치(100)는 자율주행 차량(10) 내에 구비되는 센서를 이용하여 자율주행 차량(10)의 주변 환경을 스캔함에 따라 센서 데이터(예: 포인트 클라우드 데이터, 이미지 데이터 등)를 수집할 수 있고, 수집된 센서 데이터를 활용하여 자율주행 차량(10)의 위치와 자세에 대응하는 측위 값을 산출할 수 있다.
다음으로, 컴퓨팅 장치(100)에 의해 수행되는 인지 동작은 자율주행 차량(10)의 주변에 위치하는 로드 유저(Road User)를 탐지(detection)하는 동작을 의미할 수 있다. 예컨대, 컴퓨팅 장치(100)는 자율주행 차량(10) 주변을 스캔함에 따라 수집되는 센서 데이터를 분석함에 따라 자율주행 차량(10) 주변에 존재하는 로드 유저를 인지할 수 있다.
여기서, 로드 유저는 도로 위에 존재하는 사용자로서, 예컨대, 차량, 오토바이, 자전거 및 보행자를 포함할 수 있으나, 이에 한정되지 않는다.
다음으로, 컴퓨팅 장치(100)에 의해 수행되는 계획 동작은 측위 동작을 통해 도출되는 측위 정보와 인지 동작을 통해 도출되는 인지 정보를 기반으로, 자율주행 차량(10)의 제어를 위한 경로, 속력 등을 포함하는 주행 계획을 수립할 수 있고, 수립된 주행 계획에 관한 정보를 포함하는 주행 계획 정보를 도출하는 동작을 의미할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 인지 동작을 통해 식별되는 복수의 로드 유저와 자율주행 차량(10) 간의 충돌 가능성을 판단할 수 있다. 이때, 컴퓨팅 장치(100)는 자율주행 차량(10) 인근에 위치하는 복수의 로드 유저 중 요주의 로드 유저를 충돌 감지 대상으로 선정할 수 있고, 충돌 감지 대상에 대해서만 선별적으로 자율주행 차량(10)과의 충돌 가능성을 판단할 수 있다.
마지막으로, 컴퓨팅 장치(100)에 의해 수행되는 제어 동작은 계획 동작을 통해 도출되는 주행 계획 정보와 대응 전략 정보를 기반으로 자율주행 차량(10)에 대한 횡방향 제어(방향 제어)와 종방향 제어(속력 제어)를 위한 제어명령을 결정 및 생성할 수 있고, 결정 및 생성된 제어명령에 따라 자율주행 차량(10)의 동작을 제어하는 동작을 의미할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 네트워크(400)를 통해 사용자 단말(200)과 연결될 수 있으며, 사용자 단말(200)로 자율주행과 관련된 각종 정보(예: 소정의 지역에 대한 고정밀 지도, 자율주행 차량(10) 주변의 객체 인지 결과, 자율주행 제어를 위한 제어명령 및 제어명령에 따른 자율주행 차량(10)의 동작 정보 등)를 제공할 수 있다.
여기서, 사용자 단말(200)은 컴퓨팅 장치(100)와 통신을 위한 메커니즘을 갖는 시스템에서의 임의의 형태의 엔티티(들)를 의미할 수 있다. 예를 들어, 이러한 사용자 단말(200)은 PC(personal computer), 노트북(note book), 모바일 단말기(mobile terminal), 스마트 폰(smart phone), 태블릿 PC(tablet pc) 및 웨어러블 디바이스(wearable device) 등을 포함할 수 있으며, 유/무선 네트워크에 접속할 수 있는 모든 종류의 단말을 포함할 수 있다. 또한, 사용자 단말(200)은 에이전트, API(Application Programming Interface) 및 플러그-인(Plug-in) 중 적어도 하나에 의해 구현되는 임의의 컴퓨팅 장치를 포함할 수도 있다. 또한, 사용자 단말(200)은 애플리케이션 소스 및/또는 클라이언트 애플리케이션을 포함할 수 있다.
또한, 여기서, 네트워크(400)는 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미할 수 있다. 예를 들어, 네트워크(400)는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망, CAN(Controller Area Network) 및 이더넷(Ethernet) 등을 포함할 수 있다.
무선 데이터 통신망은 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등을 포함할 수 있으나, 이에 한정되지는 않는다.
일 실시예에서, 외부 서버(300)는 네트워크(400)를 통해 컴퓨팅 장치(100)와 연결될 수 있으며, 컴퓨팅 장치(100)가 자율주행 차량의 충돌 방지 방법을 수행하기 위해 필요한 각종 정보 및 데이터를 저장 및 관리하거나, 컴퓨팅 장치(100)가 자율주행 차량의 충돌 방지 방법을 수행함에 따라 도출되는 각종 정보 및 데이터를 수집하여 저장 및 관리할 수 있다. 예컨대, 외부 서버(300)는 컴퓨팅 장치(100)의 외부에 별도로 구비되는 저장 서버일 수 있으나, 이에 한정되지 않는다. 이하, 도 2를 참조하여, 자율주행 차량의 충돌 방지 방법을 수행하는 컴퓨팅 장치(100)의 하드웨어 구성에 대해 설명하도록 한다.
도 2는 본 발명의 다른 실시예에 따른 자율주행 차량의 충돌 방지 방법을 수행하는 컴퓨팅 장치의 하드웨어 구성도이다.
도 2를 참조하면, 다양한 실시예에서, 컴퓨팅 장치(100)는 하나 이상의 프로세서(110), 프로세서(110)에 의하여 수행되는 컴퓨터 프로그램(151)을 로드(Load)하는 메모리(120), 버스(130), 통신 인터페이스(140) 및 컴퓨터 프로그램(151)을 저장하는 스토리지(150)를 포함할 수 있다. 여기서, 도 2에는 본 발명의 실시예와 관련 있는 구성요소들만 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 2에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(110)는 컴퓨팅 장치(100)의 각 구성의 전반적인 동작을 제어한다. 프로세서(110)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다.
또한, 프로세서(110)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있으며, 컴퓨팅 장치(100)는 하나 이상의 프로세서를 구비할 수 있다.
다양한 실시예에서, 프로세서(110)는 프로세서(110) 내부에서 처리되는 신호(또는, 데이터)를 일시적 및/또는 영구적으로 저장하는 램(RAM: Random Access Memory, 미도시) 및 롬(ROM: Read-Only Memory, 미도시)을 더 포함할 수 있다. 또한, 프로세서(110)는 그래픽 처리부, 램 및 롬 중 적어도 하나를 포함하는 시스템온칩(SoC: system on chip) 형태로 구현될 수 있다.
메모리(120)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(120)는 본 발명의 다양한 실시예에 따른 방법/동작을 실행하기 위하여 스토리지(150)로부터 컴퓨터 프로그램(151)을 로드할 수 있다. 메모리(120)에 컴퓨터 프로그램(151)이 로드되면, 프로세서(110)는 컴퓨터 프로그램(151)을 구성하는 하나 이상의 인스트럭션들을 실행함으로써 상기 방법/동작을 수행할 수 있다. 메모리(120)는 RAM과 같은 휘발성 메모리로 구현될 수 있을 것이나, 본 개시의 기술적 범위가 이에 한정되는 것은 아니다.
버스(130)는 컴퓨팅 장치(100)의 구성 요소 간 통신 기능을 제공한다. 버스(130)는 주소 버스(address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(140)는 컴퓨팅 장치(100)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(140)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(140)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다. 몇몇 실시예에서, 통신 인터페이스(140)는 생략될 수도 있다.
스토리지(150)는 컴퓨터 프로그램(151)을 비 임시적으로 저장할 수 있다. 컴퓨팅 장치(100)를 통해 자율주행 차량의 충돌 방지 프로세스를 수행하는 경우, 스토리지(150)는 자율주행 차량의 충돌 방지 프로세스를 제공하기 위하여 필요한 각종 정보를 저장할 수 있다.
스토리지(150)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(151)은 메모리(120)에 로드될 때 프로세서(110)로 하여금 본 발명의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 하나 이상의 인스트럭션들을 포함할 수 있다. 즉, 프로세서(110)는 상기 하나 이상의 인스트럭션들을 실행함으로써, 본 발명의 다양한 실시예에 따른 상기 방법/동작을 수행할 수 있다.
일 실시예에서, 컴퓨터 프로그램(151)은 자율주행 차량의 인근에 위치하는 복수의 로드 유저 중 충돌 감지 대상을 선정하는 단계 및 자율주행 차량과 선정된 충돌 감지 대상 간의 충돌 가능성을 판단하는 단계를 포함하는 자율주행 차량의 충돌 방지 방법을 수행하도록 하는 하나 이상의 인스트럭션을 포함할 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 이하, 도 3 내지 도 16을 참조하여, 컴퓨팅 장치(100)에 의해 수행되는 자율주행 차량의 충돌 방지 방법에 대해 설명하도록 한다.
도 3은 본 발명의 또 다른 실시예에 따른 자율주행 차량의 충돌 방지 방법의 순서도이다.
도 3을 참조하면, S110 단계에서, 컴퓨팅 장치(100)는 자율주행 차량 인근에 위치하는 복수의 로드 유저 중 충돌 감지 대상을 선정할 수 있다. 이를 위해, 컴퓨팅 장치(100)는 인지 동작을 수행함에 따라 자율주행 차량(10)의 주변에 위치하는 로드 유저를 탐지하는 동작을 선행할 수 있으나, 이에 한정되지 않고, 경우에 따라 외부의 컴퓨팅 장치에 의해 인지 동작을 수행함에 따라 도출되는 데이터(예: 자율주행 차량(10)의 주변에 위치하는 로드 유저를 탐지한 결과 데이터)를 획득하고, 획득된 데이터를 기반으로 자율주행 차량 인근에 위치하는 복수의 로드 유저 중 충돌 감지 대상을 선정할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 자율주행 차량(10) 인근에 위치하는 복수의 로드 유저 중 요주의 로드 유저를 충돌 감지 대상으로서 선정할 수 있다.
한편, 자율주행 차량(10) 인근에 소수의 로드 유저가 존재할 경우, 컴퓨팅 장치(100)가 소수의 로드 유저 중 요주의 로드 유저를 충돌 감지 대상으로 선정하는 동작과 충돌 감지 대상과 자율주행 차량(10) 간의 충돌 가능성을 판단하는 동작을 수행하는 것이 오히려 모든 로드 유저에 대해 자율주행 차량(10)과의 충돌 가능성을 판단하는 동작 대비 더 많은 리소스를 요구할 수도 있다.
이러한 점을 고려하여, 컴퓨팅 장치(100)는 자율주행 차량(10) 인근에 기 설정된 개수 미만의 로드 유저가 존재할 경우, 모든 로드 유저를 대상으로 충돌 가능성을 판단하고, 자율주행 차량(10) 인근에 기 설정된 개수 이상의 로드 유저가 존재할 경우에만 충돌 감지 대상을 선정하는 동작을 수행할 수 있으나, 이에 한정되지 않는다. 이하, 도 4 내지 도 8을 참조하여, 컴퓨팅 장치(100)에 의해 수행되는 충돌 감지 대상 선정 방법에 대해 보다 구체적으로 설명하도록 한다.
도 4는 다양한 실시예에서, 충돌 감지 대상을 선정하는 방법을 설명하기 위한 순서도이다.
도 4를 참조하면, S210 단계에서, 컴퓨팅 장치(100)는 자율주행 차량(10)에 대응하는 제1 영역을 설정할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 자율주행 차량(10)의 주행 경로에 기초하여, 자율주행 차량(10)에 대응하는 제1 영역을 설정할 수 있다.
여기서, 자율주행 차량(10)의 주행 경로는 자율주행 차량(10)의 주행을 제어하기 위한 경로로, 도 5에 도시된 바와 같이 경로 상에 등간격으로 배치되는 복수의 포인트들의 집합으로 표현되는 것일 수 있다.
보다 구체적으로, 도 5를 참조하면, 먼저, 컴퓨팅 장치(100)는 자율주행 차량(10)의 주행 경로 상에 배치되는 복수의 포인트들을 모두 포함하는 제1 임시 영역(31)을 설정할 수 있다. 여기서, 제1 임시 영역(31)은 직사각형 박스 형태로 설정되고, 복수의 포인트들을 모두 포함하도록 설정되되, 그 면적이 최소가 되도록 설정될 수 있으나, 이에 한정되지 않는다.
이후, 컴퓨팅 장치(100)는 자율주행 차량(10)이 복수의 포인트 각각에 대응하는 지점에 위치했을 때 자율주행 차량(10)의 외형 영역(Shape area)이 모두 포함되도록 제1 임시 영역(31)의 크기를 조정함에 따라 제2 임시 영역(32)을 설정할 수 있다.
이후, 컴퓨팅 장치(100)는 제2 임시 영역(32)의 크기를 소정의 비율로 증가시켜 제3 임시 영역(33)을 설정할 수 있다. 예컨대, 컴퓨팅 장치(100는 자율주행 차량(10)과 로드 유저 간의 충돌을 보다 확실하게 방지하기 위해, 제2 임시 영역(32)에 소정의 크기의 마진(margin)을 반영하여 제3 임시 영역(33)을 설정할 수 있다. 그러나, 이에 한정되지 않는다.
이후, 컴퓨팅 장치(100)는 제3 임시 영역(33)을 자율주행 차량(10)에 대응하는 제1 영역(30)으로 설정할 수 있다. 그러나, 이에 한정되지 않는다.
한편, 자율주행 차량(10)의 주행 경로가 곡선 도로를 주행하는 경로일 때 주행 경로 상에 배치된 모든 포인트들이 포함되도록 제1 영역을 설정할 경우, 제1 영역의 크기가 지나치게 커지기 때문에 충돌 가능성이 전혀 없는 로드 유저들을 걸러내지 못한다는 문제가 있다.
이러한 점을 고려하여, 컴퓨팅 장치(100)는 자율주행 차량(10)의 주행 경로를 일정한 기준에 따라 분할하고, 분할된 주행 경로 각각에 대한 제1 영역을 개별적으로 설정할 수 있다.
보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 기 설정된 기준에 따라 복수의 포인트를 분류함에 따라 복수의 포인트 그룹을 생성할 수 있다.
예컨대, 도 6을 참조하면, 컴퓨팅 장치(100)는 복수의 포인트 중 제1 포인트(S1)와 제1 포인트(S1) 이후의 제2 포인트(S2) 간의 오프셋이 임계값 이상인 경우, 제1 포인트(S1)부터 제2 포인트(S2) 사이에 배치된 포인트들을 제1 포인트(S1)와 동일한 하나의 제1 포인트 그룹으로 그룹화할 수 있다.
또한, 컴퓨팅 장치(100)는 제2 포인트(S2)와 제2 포인트(S2) 이후의 제3 포인트(S3) 간의 오프셋이 임계값 이상인 경우, 제2 포인트(S2)부터 제3 포인트(S3) 사이에 배치된 포인트들을 제2 포인트(S2)와 동일한 하나의 제2 포인트 그룹으로 그룹화할 수 있다.
또한, 컴퓨팅 장치(100)는 제3 포인트(S3)와 제3 포인트(S3) 이후의 제4 포인트(S4) 간의 오프셋이 임계값 이상인 경우, 제3 포인트(S3)부터 제4 포인트(S4) 사이에 배치된 포인트들을 제3 포인트(S3)와 동일한 하나의 제3 포인트 그룹으로 그룹화할 수 있다.
여기서, 오프셋은 자율주행 차량(10)의 주행 방향을 기준으로 좌측 또는 우측 방향으로의 편차일 수 있으며, 일 실시예로 오프셋의 임계값은 자율주행 차량(10)이 주행 중인 도로의 폭에 기초하여 설정될 수 있다. 예컨대, 오프셋의 임계값은 도로의 폭에 기초하여 3m로 설정될 수 있으나, 이에 한정되지 않다. 또한, 오프셋의 임계값은 고정된 값일 수 있으나, 이에 한정되지 않고, 도로의 폭이 변경되는 것에 대응하여 오프셋의 임계값 또한 유동적으로 변경할 수 있다.
이후, 컴퓨팅 장치(100)는 복수의 포인트 그룹 각각에 대응하는 복수의 제1 단위 영역을 설정할 수 있다. 예컨대, 컴퓨팅 장치(100)는 제1 포인트 그룹에 포함된 포인트들을 이용하여 제1-1 단위 영역(30a)을 설정할 수 있고, 제2 포인트 그룹에 포함된 포인트들을 이용하여 제1-2 단위 영역(30b)을 설정할 수 있으며, 제3 포인트 그룹에 포함된 포인트들을 이용하여 제1-3 단위 영역(30c)을 설정할 수 있다.
이후, 컴퓨팅 장치(100)는 복수의 제1 단위 영역을 포함하는 제1 영역을 설정할 수 있다. 예컨대, 컴퓨팅 장치(100)는 제1-1 단위 영역(30a), 제1-2 단위 영역(30b) 및 제1-3 단위 영역(30c)을 포함하는 제1 영역(30)을 설정할 수 있으나, 이에 한정되지 않는다.
S220 단계에서, 컴퓨팅 장치(100)는 복수의 로드 유저 각각에 대응하는 제2 영역을 설정할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 로드 유저 각각에 대한 예상 주행 경로에 기초하여, 복수의 로드 유저 각각에 대응하는 복수의 제2 영역을 설정할 수 있다.
여기서, 복수의 로드 유저 각각에 대한 예상 주행 경로는 미래 소정의 기간 동안 복수의 로드 유저 각각이 주행할 것으로 예상되는 경로로, 도 7에 도시된 바와 같이 예상 주행 경로 상에 등간격으로 배치되는 복수의 포인트의 집합으로 표현되는 것일 수 있으나, 이에 한정되지 않는다.
여기서, 복수의 로드 유저 각각에 대한 예상 주행 경로와 자율주행 차량(10)의 주행 경로는 그 형태가 유사한 바, 복수의 로드 유저 각각에 대한 제2 영역을 설정하는 방법은 자율주행 차량(10)에 대응하는 제1 영역을 설정하는 방법과 동일, 유사한 형태로 구현될 수 있으나, 이에 한정되지 않는다.
예컨대, 도 7에 도시된 바와 같이, 컴퓨팅 장치(100)는 어느 하나의 로드 유저(20)에 대한 예상 주행 경로 상에 배치되는 복수의 포인트를 모두 포함하는 박스 형태의 제1 임시 영역(41)을 설정하고, 어느 하나의 로드 유저가 복수의 포인트 각각에 대응하는 지점에 위치했을 때 어느 하나의 로드 유저의 외형 영역이 모두 포함되도록 제1 임시 영역(41)의 크기를 조정함에 따라 제2 임시 영역(42)을 설정하며, 제2 임시 영역(42)의 크기를 소정의 비율로 증가시켜 제3 임시 영역(43)을 설정하고, 제3 임시 영역(43)을 어느 하나의 로드 유저에 대응하는 제2 영역(40)으로 설정할 수 있다.
또한, 컴퓨팅 장치(100)는 기 설정된 기준에 따라 어느 하나의 로드 유저에 대한 예상 주행 경로 상에 배치되는 복수의 포인트를 분류함에 따라 복수의 포인트 그룹을 생성하고, 복수의 포인트 그룹 각각에 대응하는 복수의 제2 단위 영역을 설정하며, 복수의 제2 단위 영역을 포함하는 제2 영역(40)을 설정할 수 있다. 그러나, 이에 한정되지 않는다.
S230 단계에서, 컴퓨팅 장치(100)는 S210 단계를 거쳐 설정된 제1 영역(30)과 S220 단계를 거쳐 설정된 복수의 제2 영역(40)을 이용하여 복수의 로드 유저 중 충돌 감지 대상을 선정할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 제2 영역(40) 중 제1 영역(30)과 적어도 일부분 중첩(overlap)되는 제2 영역(40)을 선택하고, 제1 영역(30)과 중첩된 제2 영역(40)에 대응하는 로드 유저를 충돌 감지 대상으로 선정할 수 있다. 예컨대, 도 8에 도시된 바와 같이, 컴퓨팅 장치(100)는 자율주행 차량(10) 인근에 제1 로드 유저(20-1), 제2 로드 유저(20-2) 및 제3 로드 유저(20-3)가 존재하고, 제1 로드 유저(20-1), 제2 로드 유저(20-2) 및 제3 로드 유저(20-3) 중 제1 로드 유저(20-1)에 대응하는 제2 영역(40-1)과 자율주행 차량(10)에 대응하는 제1 영역(30)의 적어도 일부분이 중첩되는 경우, 제1 로드 유저(20-1)를 충돌 감지 대상으로 선정할 수 있다. 그러나, 이에 한정되지 않는다.
다시, 도 3을 참조하면, S120 단계에서, 컴퓨팅 장치(100)는 자율주행 차량(10)과 충돌 감지 대상 간의 충돌을 방지하기 위한 목적으로, 자율주행 차량(10)과 충돌 감지 대상으로 간의 충돌 가능성을 판단할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 자율주행 차량(10)과 충돌 감지 대상으로 선정된 로드 유저(20)의 상태에 기초하여, 자율주행 차량(10)과 충돌 감지 대상으로 선정된 로드 유저(20) 각각에 대한 충돌 감지 영역을 설정할 수 있고, 자율주행 차량(10)에 대하여 설정된 충돌 감지 영역과 충돌 감지 대상으로 선정된 로드 유저(20)에 대하여 충돌 감지 영역을 이용하여 자율주행 차량(10)과 충돌 감지 대상으로 선정된 로드 유저(20) 간의 충돌 가능성을 판단할 수 있다. 이하, 도 9 내지 도 16을 참조하여 설명하도록 한다.
도 9는 다양한 실시예에서, 자율주행 차량과 충돌 감지 대상 간의 충돌 가능성을 판단하는 방법을 설명하기 위한 순서도이다.
도 9을 참조하면, S310 단계에서, 컴퓨팅 장치(100)는 자율주행 차량(10)과 충돌 감지 대상으로 선정된 로드 유저(20)(이하, '충돌 감지 대상(20)'이라 함) 각각에 대한 충돌 감지 영역을 설정할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 자율주행 차량(10)과 충돌 감지 대상(20)의 상태를 고려하여 충돌 감지 영역을 설정할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 자율주행 차량(10)과 충돌 감지 대상(20)의 크기, 상태(예: 이동 상태 또는 정지 상태), 이동 속도 및 방향 등을 고려하여 자율주행 차량(10)과 충돌 감지 대상(20)에 대한 충돌 감지 영역을 설정할 수 있다. 이하, 도 10 내지 도 14를 참조하여 설명하도록 한다.
여기서, 도 10 내지 도 14를 참조하여 자율주행 차량(10)의 상태에 따라 자율주행 차량(10)의 충돌 감지 영역을 설정하는 방법에 대해서만 설명하고 있으나, 충돌 감지 대상(20)의 상태에 따라 충돌 감지 대상(20)의 충돌 감지 영역을 설정하는 방법 또한 자율주행 차량(10)의 충돌 감지 영역을 설정하는 방법과 동일한 형태로 구현될 수 있다.
먼저, 도 10을 참조하면, 다양한 실시예에서, 컴퓨팅 장치(100)는 자율주행 차량(10)의 상태에 기초하여 제1 충돌 감지 영역(51) 및 제2 충돌 감지 영역(52)을 포함하는 충돌 감지 영역(50)을 설정할 수 있다.
예컨대, 컴퓨팅 장치(100)는 도 10의 (a)에 도시된 바와 같이, 자율주행 차량(10)의 크기에 기초하여, 소정의 크기로 고정된 형태의 제1 충돌 감지 영역(51)을 설정할 수 있다. 여기서, 소정의 크기는 자율주행 차량(10)의 외형 영역에 대응되는 크기를 의미할 수 있다.
또한, 컴퓨팅 장치(100)는 도 10의 (b)에 도시된 바와 같이, 자율주행 차량(10)의 크기에 기초하여 소정의 크기의 제2 충돌 감지 영역(52)을 설정할 수 있다. 여기서, 자율주행 차량(10)의 정지 상태인 것을 기준으로, 제1 충돌 감지 영역(51)과 제2 충돌 감지 영역(52)의 크기를 동일한 크기로 설정할 수 있으나, 이에 한정되지 않고, 자율주행 차량(10)이 정지 상태인 것을 기준으로 제2 충돌 감지 영역(52)의 크기를 제1 충돌 감지 영역(51)의 크기보다 크게 설정될 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 원 형태의 복수의 감지 영역을 중첩한 형태로 제1 충돌 감지 영역(51) 및 제2 충돌 감지 영역(52)을 설정할 수 있다. 그러나, 이에 한정되지 않고, 컴퓨팅 장치(100)는 사용자 단말(200)로 제공한 UI를 통해 제1 충돌 감지 영역(51) 및 제2 충돌 감지 영역(52)을 직접 입력 받는 방법 등과 같이 다양한 방법이 적용될 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 하기의 수학식 1 및 수학식 2를 이용하여, 제1 충돌 감지 영역(51) 및 제2 충돌 감지 영역(52)에 포함된 복수의 감지 영역을 설정할 수 있다.
먼저, 컴퓨팅 장치(100)는 하기의 수학식 1을 이용하여 원 형태의 복수의 감지 영역의 반지름을 산출할 수 있다.
<수학식 1>
여기서, Rshape는 원 형태의 감지 영역의 반지름 값, wshape는 기 설정된 감지 영역의 가중치(weight) 값, lr은 자율주행 차량(10)의 뒷바퀴 축의 중심에서부터 자율주행 차량(10)의 후미까지의 거리 값 및 w는 자율주행 차량(10)의 좌우 방향 길이를 의미할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 제1 충돌 감지 영역(51)과 제2 충돌 감지 영역(52)에 대하여 서로 다른 가중치(wshape)값을 적용할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 제1 충돌 감지 영역(51)의 가중치(wshape)값을 0.7로 설정하고, 제2 충돌 감지 영역(52)의 가중치(wshape)값을 0.8로 설정함으로써, 제2 충돌 감지 영역(22)이 제1 충돌 감지 영역(21)보다 크게 설정되도록 할 수 있다. 그러나, 이에 한정되지 않는다.
이후, 컴퓨팅 장치(100)는 하기의 수학식 2를 이용하여 복수의 감지 영역 간의 간격을 산출할 수 있다.
<수학식 2>
여기서, lR은 복수의 감지 영역의 중심점 간의 간격, lr은 자율주행 차량(10)의 뒷바퀴 축의 중심에서부터 자율주행 차량(10)의 후미까지의 거리 값, lf는 자율주행 차량(10)의 뒷바퀴 축의 중심에서부터 자율주행 차량(10)의 전단까지의 거리 값, nshape는 복수의 감지 영역의 개수를 의미할 수 있다.
다양한 실시예에서, 복수의 감지 영역의 개수(nshape)는 자율주행 차량(10) 및 충돌 감지 대상(20)의 크기에 기초하여 자동적으로 생성되거나, 사용자 단말(200)로부터 입력 받을 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 제1 충돌 감지 영역(51)에 포함된 복수의 감지 영역과 제2 충돌 감지 영역(52)에 포함된 복수의 감지 영역 각각의 지름 값(Rshape)이 도로의 너비(width)보다 작거나 같도록 설정할 수 있다.
다음으로, 도 11을 참조하면, 다양한 실시예에서, 컴퓨팅 장치(100)는 자율주행 차량(10)에 대하여 서로 다른 크기를 가지는 복수의 제2 충돌 감지 영역(52a, 52b, 52c)을 설정할 수 있다.
여기서, 복수의 제2 충돌 감지 영역(52a, 52b, 52c)마다 충돌 가능성을 판단하기 위한 서로 상이한 기준이 설정될 수 있으나, 이에 한정되지 않는다.
일례로, 컴퓨팅 장치(100)는 도로의 중앙선 또는 가드레일과 중첩되는지 판단하는 제2 충돌 감지 영역(52a), 자율주행 차량(10)과 충돌 감지 대상(20)이 중첩되는지 판단하는 제2 충돌 감지 영역(52b) 및 안전성을 고려하여 가장 넓은 범위로 설정되는 제2 충돌 감지 영역(52c)을 설정할 수 있다.
여기서, 컴퓨팅 장치(100)는 가드레일에 설정된 충돌 감지 영역과 안전성을 고려하여 가장 넓은 범위로 설정되는 제2 충돌 감지 영역(52c)의 적어도 일부분이 중첩되더라도, 도로의 중앙선 또는 가드레일과 중첩되는지 판단하는 제2 충돌 감지 영역(52a)과 중첩되지 않는다면 자율주행 차량(10)과 가드레일의 충돌 가능성을 안전 상태로 판단할 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 복수의 제2 충돌 감지 영역(52a, 52b, 52c)의 중심과의 거리에 따라 서로 다른 레벨의 충돌 위험이 측정될 수 있도록 기 설정된 확률 모델(예: 가우시안(Gaussian) 모델)을 이용하여 복수의 제2 충돌 감지 영역(52a, 52b, 52c)을 하나의 파라미터로 표현할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 자율주행 차량(10)의 상태가 변경되는 경우, 자율주행 차량(10)에 대하여 각각 설정된 충돌 감지 영역(50)의 속성을 변경할 수 있다. 예를 들어, 컴퓨팅 장치(100)는 자율주행 차량(10)의 속도가 변경되는 것에 응답하여 자율주행 차량(10)의 충돌 감지 영역(50)에 포함된 감지 영역들의 크기, 간격 및 개수 중 적어도 하나를 변경할 수 있다. 이하, 도 12 내지 14를 참조하여 설명하도록 한다.
먼저, 도 12를 참조하면, 컴퓨팅 장치(100)는 자율주행 차량(10)의 속도가 변경되는 것에 응답하여, 자율주행 차량(10)의 제2 충돌 감지 영역(52)에 포함된 복수의 감지 영역들의 반지름 값을 변경함으로써, 제2 충돌 감지 영역(52)의 크기를 조절할 수 있다.
예컨대, 컴퓨팅 장치(100)는 도 12의 (a)에 도시된 바와 같이, 자율주행 차량(10)의 속도가 증가하는 것에 응답하여 제2 충돌 감지 영역(52)의 크기를 증가시킬 수 있다. 또한, 컴퓨팅 장치(100)는 도 12의 (b)에 도시된 바와 같이, 자율주행 차량(10)의 속도가 감소하는 것에 응답하여, 제2 충돌 감지 영역(52)의 크기를 감소시킬 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 자율주행 차량(10)의 속도가 감소하는 것에 응답하여, 제2 충돌 감지 영역(52)의 크기를 감소시키되, 제1 충돌 감지 영역(51)과 같거나, 제1 충돌 감지 영역(51)보다 큰 크기로 설정할 수 있다. 그러나, 이에 한정되지 않는다.
다음으로, 도 13을 참조하면, 컴퓨팅 장치(100)는 자율주행 차량(10) 및 충돌 감지 대상(20)의 속도가 변경되는 것에 응답하여, 제2 충돌 감지 영역(22)에 포함된 복수의 감지 영역 간의 간격을 변경할 수 있다.
예컨대, 컴퓨팅 장치(100)는 도 13의 (a)에 도시된 바와 같이, 자율주행 차량(10)의 속도가 증가하는 것에 응답하여 제2 충돌 감지 영역(52)에 포함된 복수의 감지 영역 간의 간격을 증가시킬 수 있다. 또한, 컴퓨팅 장치(100)는 도 13의 (b)에 도시된 바와 같이, 자율주행 차량(10)의 속도가 감소하는 것에 응답하여, 제2 충돌 감지 영역(52)에 포함된 복수의 감지 영역 간의 간격을 감소시킬 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 자율주행 차량(10)의 속도가 감소하는 것에 응답하여, 제2 충돌 감지 영역(52)에 포함된 복수의 감지 영역 간의 간격을 감소시키되, 제2 충돌 감지 영역(52)에 포함된 복수의 감지 영역 간의 간격과 같거나 큰 크기로 설정할 수 있다. 그러나, 이에 한정되지 않는다.
다음으로, 도 14를 참조하면, 컴퓨팅 장치(100)는 자율주행 차량(10)의 속도가 변경되는 것에 응답하여 제2 충돌 감지 영역(52)에 포함된 복수의 감지 영역의 개수를 변경할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 자율주행 차량(10)의 속도가 증가하는 것에 응답하여 제2 충돌 감지 영역(52)에 포함된 적어도 하나의 감지 영역의 개수를 증가시킬 수 있다.
보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 자율주행 차량(10)이 정지되어 있는 상태를 기준으로, 제1 감지 영역(52-1), 제2 감지 영역(52-2), 제3 감지 영역(52-3), 제4 감지 영역(52-4) 및 제5 감지 영역(52-5)을 포함하는 제2 충돌 감지 영역(52)을 설정할 수 있다.
이후, 컴퓨팅 장치(100)는 자율주행 차량(10)이 전진하는 상태에서 속도가 증가하는 경우, 자율주행 차량(10)의 제2 충돌 감지 영역(52)의 전면(예: 제1 감지 영역(52-1)의 앞부분)에 새로운 감지 영역인 제6 감지 영역(52-6)을 추가할 수 있다. 한편, 컴퓨팅 장치(100)는 자율주행 차량(10)이 후진하는 상태에서 속도가 증가하는 경우, 자율주행 차량(10)의 제2 충돌 감지 영역(52)의 후면(예: 제5 감지 영역(52-5)의 뒷부분)에 새로운 감지 영역인 제6 감지 영역(52-6)을 추가할 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 자율주행 차량(10)의 속도가 증가하는 것에 응답하여 새로운 감지 영역인 제6 감지 영역(52-6)을 제2 충돌 감지 영역(52)의 전면에 추가하되, 자율주행 차량(10)의 주행 경로가 있는 경우, 제6 감지 영역(52-6)을 자율주행 차량(10)의 주행 경로 상에 배치할 수 있다. 예컨대, 컴퓨팅 장치(100)는 자율주행 차량(10)의 주행 경로가 있고, 자율주행 차량(10)의 주행 경로가 우회전하는 경로인 경우, 제6 감지 영역(52-6)을 자율주행 차량(10)의 전면에서 우측으로 치우쳐진 위치에 배치할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 자율주행 차량(10)의 속도가 감소하는 것에 응답하여 제2 충돌 감지 영역(52)에 포함된 적어도 하나의 감지 영역의 개수를 감소시킬 수 있다. 예를 들어, 컴퓨팅 장치(100)는 자율주행 차량(10)의 속도가 감소하는 것에 응답하여 제2 충돌 감지 영역(52)에 포함된 적어도 하나의 감지 영역의 개수를 감소시킬 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 자율주행 차량(10)의 속도가 감소하는 것에 응답하여 제2 충돌 감지 영역(52)에 포함된 적어도 하나의 감지 영역의 개수를 감소시키되, 자율주행 차량(10)의 속도가 증가함에 따라 새롭게 추가된 감지 영역(예: 제6 감지 영역(52-6))을 최우선적으로 삭제할 수 있다. 그러나, 이에 한정되지 않는다.
S320 단계에서, 컴퓨팅 장치(100)는 S310 단계를 거쳐 설정된 충돌 감지 영역에 기초하여, 자율주행 차량(10)과 충돌 감지 대상(20) 간의 충돌 가능성을 판단할 수 있다.
보다 구체적으로, 도 15를 참조하면, 컴퓨팅 장치(100)는 자율주행 차량(10)의 충돌 감지 영역(50)에 포함된 복수의 감지 영역(50-1, 50-2, 50-3) 각각의 중심점과 충돌 감지 대상(20)의 충돌 감지 영역(60)에 포함된 복수의 감지 영역(60-1, 60-2, 60-3) 각각의 중심점 간의 거리를 비교하여 충돌 가능성을 판단할 수 있다.
먼저, 컴퓨팅 장치(100)는 자율주행 차량(10)의 제1 감지 영역(50-1)의 중심점부터 충돌 감지 대상(20)의 제1 감지 영역(60-1), 제2 감지 영역(60-2) 및 제3 감지 영역(60-3) 각각의 중심점까지의 거리를 산출할 수 있다. 또한, 컴퓨팅 장치(100)는 자율주행 차량(10)의 제2 감지 영역(50-2)의 중심점부터 충돌 감지 대상(20)의 제1 감지 영역(60-1), 제2 감지 영역(60-2) 및 제3 감지 영역(60-3) 각각의 중심점까지의 거리를 산출할 수 있다. 또한, 컴퓨팅 장치(100)는 자율주행 차량(10)의 제3 감지 영역(50-3)의 중심점부터 충돌 감지 대상(20)의 제1 감지 영역(60-1), 제2 감지 영역(60-2) 및 제3 감지 영역(60-3) 각각의 중심점까지의 거리를 산출할 수 있다.
이후, 컴퓨팅 장치(100)는 상기의 방법으로 산출된 거리 값들(예: 9개의 거리 값)과 기준 값을 비교하여 자율주행 차량(10)과 충돌 감지 대상(20) 간의 충돌 가능성을 판단할 수 있다.
여기서, 기준 값은 거리 값 산출 대상인 2개의 감지 영역(예: 자율주행 차량(10)의 특정 감지 영역과 충돌 감지 대상(20)의 특정 감지 영역)의 반지름을 합한 값을 의미할 수 있다. 예컨대, 컴퓨팅 장치(100)는 상기의 방법으로 산출된 9개의 각 거리 값 중 자율주행 차량(10)의 충돌 감지 영역(50)에 포함된 복수의 감지 영역(50-1, 50-2, 50-3)의 반지름과 충돌 감지 대상(20)의 충돌 감지 영역(60)에 포함된 복수의 감지 영역(60-1, 60-2, 60-3)의 반지름의 합보다 작은 거리 값이 존재할 경우, 자율주행 차량(10)과 충돌 감지 대상(20)이 충돌 상태인 것으로 판단할 수 있다.
다양한 실시예에서, 컴퓨팅 장치(100)는 자율주행 차량(10)에 대하여 설정된 충돌 감지 영역(50)과 충돌 감지 대상(20)에 대하여 설정된 충돌 감지 영역(60) 간의 중첩되는 영역의 크기에 기초하여, 자율주행 차량(10)과 충돌 감지 대상(20) 간의 충돌 가능성을 판단할 수 있다.
보다 구체적으로, 먼저, 컴퓨팅 장치(100)는 도 16의 (a)에 도시된 바와 같이, 자율주행 차량(10)의 제1 충돌 감지 영역(51) 및 제2 충돌 감지 영역(52)과 충돌 감지 대상(20)의 제1 충돌 감지 영역(61) 및 제2 충돌 감지 영역(62)이 전혀 중첩되지 않는 경우, 자율주행 차량(10)과 충돌 감지 대상(20)을 안전 상태로 판단할 수 있다.
다음으로, 컴퓨팅 장치(100)는 도 16의 (b)에 도시된 바와 같이, 자율주행 차량(10)의 제2 충돌 감지 영역(52)과 충돌 감지 대상(20)의 제2 충돌 감지 영역(62)이 중첩되는 경우, 자율주행 차량(10)과 충돌 감지 대상(20)을 충돌 주의 상태로 판단할 수 있다.
다음으로, 컴퓨팅 장치(100)는 도 16의 (c)에 도시된 바와 같이, 자율주행 차량(10)의 제2 충돌 감지 영역(52)과 충돌 감지 대상(20)의 제1 충돌 감지 영역(61) 또는 자율주행 차량(10)의 제1 충돌 감지 영역(51)과 충돌 감지 대상(20)의 제2 충돌 감지 영역(62)이 중첩되는 경우, 자율주행 차량(10)과 충돌 감지 대상(20)을 충돌 위험 상태로 판단할 수 있다.
마지막으로, 컴퓨팅 장치(100)는 도 16의 (d)에 도시된 바와 같이, 자율주행 차량(10)의 제1 충돌 감지 영역(51)과 충돌 감지 대상(20)의 제1 충돌 감지 영역(51) 이 중첩되는 경우, 자율주행 차량(10)과 충돌 감지 대상(20)을 충돌 상태로 판단할 수 있다. 그러나, 이에 한정되지 않는다.
다양한 실시예에서, 컴퓨팅 장치(100)는 자율주행 차량(10)과 충돌 감지 대상(20) 각각에 대하여, 현재 시점에서의 충돌 가능성뿐만 아니라 미래 시점에서의 충돌 가능성도 판단할 수 있다.
여기서, 미래 시점은 자율주행 차량(10)의 주행 경로 및 속력 프로파일과 충돌 감지 대상(20)에 대한 예상 주행 경로 및 예상 속력 프로파일에 기초하여 결정될 수 있으나, 이에 한정되지 않는다.
컴퓨팅 장치(100)는 상술된 방법에 따라 도출된 자율주행 차량(10)의 충돌 가능성을 기반으로, 자율주행 차량(10)의 동작을 제어함으로써, 자율주행 차량(10)의 충돌을 효과적으로 방지할 수 있다.
전술한 자율주행 차량의 충돌 방지 방법은 도면에 도시된 순서도를 참조하여 설명하였다. 간단한 설명을 위해 자율주행 차량의 충돌 방지 방법은 일련의 블록들로 도시하여 설명하였으나, 본 발명은 상기 블록들의 순서에 한정되지 않고, 몇몇 블록들은 본 명세서에 도시되고 서술된 것과 상이한 순서로 수행되거나 또는 동시에 수행될 수 있다. 또한, 본 명세서 및 도면에 기재되지 않은 새로운 블록이 추가되거나, 일부 블록이 삭제 또는 변경된 상태로 수행될 수 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100 : 컴퓨팅 장치
200 : 사용자 단말
300 : 외부 서버
400 : 네트워크

Claims (11)

  1. 컴퓨팅 장치에 의해 수행되는 자율주행 차량의 충돌 방지 방법에 있어서,
    자율주행 차량의 인근에 위치하는 복수의 로드 유저 중 충돌 감지 대상을 선정하는 단계; 및
    상기 자율주행 차량과 상기 선정된 충돌 감지 대상 간의 충돌 가능성을 판단하는 단계를 포함하며,
    상기 충돌 감지 대상을 선정하는 단계는,
    상기 자율주행 차량의 주행 경로에 기초하여 상기 자율주행 차량에 대응하는 제1 영역을 설정하는 단계;
    상기 복수의 로드 유저 각각에 대한 예상 주행 경로에 기초하여 상기 복수의 로드 유저 각각에 대응하는 복수의 제2 영역을 설정하는 단계; 및
    상기 설정된 복수의 제2 영역 중 상기 설정된 제1 영역과 적어도 일부분 중첩되는 제2 영역을 선택하고, 상기 선택된 제2 영역에 대응하는 로드 유저를 충돌 감지 대상으로 선정하는 단계를 포함하고,
    상기 자율주행 차량의 주행 경로는,
    미래 소정의 기간 동안 상기 자율주행 차량의 주행을 제어하기 위한 경로로, 상기 경로 상에 등간격으로 배치되는 복수의 포인트의 집합으로 표현되며,
    상기 제1 영역을 설정하는 단계는,
    기 설정된 기준에 따라 상기 복수의 포인트를 분류함에 따라 복수의 포인트 그룹을 생성하는 단계;
    상기 생성된 복수의 포인트 그룹 각각에 대응하는 복수의 제1 단위 영역을 설정하는 단계; 및
    상기 설정된 복수의 제1 단위 영역을 포함하는 제1 영역을 설정하는 단계를 포함하는,
    자율주행 차량의 충돌 방지 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 자율주행 차량의 주행 경로는,
    소정의 기간 동안 상기 자율주행 차량의 주행을 제어하기 위한 경로로, 상기 경로 상에 등간격으로 배치되는 복수의 포인트를 포함하며,
    상기 제1 영역을 설정하는 단계는,
    상기 복수의 포인트를 모두 포함하는 박스 형태의 제1 임시 영역을 설정하는 단계;
    상기 자율주행 차량이 상기 복수의 포인트 각각에 대응하는 지점에 위치했을 때 상기 자율주행 차량의 외형 영역이 모두 포함되도록 상기 설정된 제1 임시 영역의 크기를 조정함에 따라 제2 임시 영역을 설정하는 단계; 및
    상기 설정된 제2 임시 영역의 크기를 소정의 비율로 증가시켜 제3 임시 영역을 설정하고, 상기 설정된 제3 임시 영역을 상기 자율주행 차량에 대응하는 제1 영역으로 설정하는 단계를 포함하는,
    자율주행 차량의 충돌 방지 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 복수의 포인트 그룹을 생성하는 단계는,
    상기 복수의 포인트 중 제1 포인트와 상기 제1 포인트 이후의 제2 포인트 간의 오프셋 - 상기 오프셋은 상기 자율주행 차량의 주행 방향을 기준으로 좌측 또는 우측 방향으로의 편차임 - 이 임계값 이상인 경우, 상기 제1 포인트부터 상기 제2 포인트 사이에 배치된 포인트들을 상기 제1 포인트와 동일한 하나의 포인트 그룹으로 그룹화하고,
    상기 제2 포인트와 상기 제2 포인트 이후의 제3 포인트 간의 오프셋이 상기 임계값 이상인 경우, 상기 제2 포인트부터 상기 제3 포인트 사이에 배치된 포인트들을 상기 제2 포인트와 동일한 하나의 포인트 그룹으로 그룹화하는 단계를 포함하는,
    자율주행 차량의 충돌 방지 방법.
  6. 제1항에 있어서,
    상기 복수의 로드 유저 각각에 대한 예상 주행 경로는,
    미래 소정의 기간 동안 상기 복수의 로드 유저 각각이 주행할 것으로 예상되는 경로로, 상기 예상되는 경로 상에 등간격으로 배치되는 복수의 포인트의 집합으로 표현되며,
    상기 복수의 제2 영역을 설정하는 단계는,
    상기 복수의 로드 유저 중 어느 하나의 로드 유저에 대한 예상 주행 경로 상에 배치되는 복수의 포인트를 모두 포함하는 박스 형태의 제1 임시 영역을 설정하는 단계;
    상기 어느 하나의 로드 유저가 상기 복수의 포인트 각각에 대응하는 지점에 위치했을 때 상기 어느 하나의 로드 유저의 외형 영역이 모두 포함되도록 상기 설정된 제1 임시 영역의 크기를 조정함에 따라 제2 임시 영역을 설정하는 단계; 및
    상기 설정된 제2 임시 영역의 크기를 소정의 비율로 증가시켜 제3 임시 영역을 설정하고, 상기 설정된 제3 임시 영역을 상기 어느 하나의 로드 유저에 대응하는 제2 영역으로 설정하는 단계를 포함하는,
    자율주행 차량의 충돌 방지 방법.
  7. 제1항에 있어서,
    상기 복수의 로드 유저 각각에 대한 예상 주행 경로는,
    미래 소정의 기간 동안 상기 복수의 로드 유저 각각이 주행할 것으로 예상되는 경로로, 상기 예상되는 경로 상에 등간격으로 배치되는 복수의 포인트의 집합으로 표현되며,
    상기 복수의 제2 영역을 설정하는 단계는,
    기 설정된 기준에 따라 상기 복수의 로드 유저 중 어느 하나의 로드 유저에 대한 예상 주행 경로 상에 배치되는 복수의 포인트를 분류함에 따라 복수의 포인트 그룹을 생성하는 단계;
    상기 생성된 복수의 포인트 그룹 각각에 대응하는 복수의 제2 단위 영역을 설정하는 단계; 및
    상기 설정된 복수의 제2 단위 영역을 포함하는 제2 영역을 설정하는 단계를 포함하는,
    자율주행 차량의 충돌 방지 방법.
  8. 제1항에 있어서,
    상기 충돌 가능성을 판단하는 단계는,
    상기 자율주행 차량과 상기 선정된 충돌 감지 대상의 상태에 기초하여, 상기 자율주행 차량과 상기 선정된 충돌 감지 대상 각각에 대한 충돌 감지 영역을 설정하는 단계; 및
    상기 자율주행 차량에 대하여 설정된 충돌 감지 영역과 상기 선정된 충돌 감지 대상에 대하여 설정된 충돌 감지 영역을 이용하여 상기 자율주행 차량과 상기 선정된 충돌 감지 대상 간의 충돌 가능성을 판단하는 단계를 포함하며,
    상기 자율주행 차량과 상기 선정된 충돌 감지 대상에 대하여 설정된 충돌 감지 영역은,
    제1 충돌 감지 영역과 제2 충돌 감지 영역을 포함하며, 복수의 원형 영역의 집합으로 표현되는 것인,
    자율주행 차량의 충돌 방지 방법.
  9. 제1항에 있어서,
    상기 충돌 가능성을 판단하는 단계는,
    상기 자율주행 차량과 상기 선정된 충돌 감지 대상 각각에 대하여, 현재 시점에서의 충돌 가능성과 미래 시점에서의 충돌 가능성을 판단하되, 상기 미래 시점은 상기 자율주행 차량의 주행 경로 및 속력 프로파일과 상기 선정된 충돌 감지 대상에 대한 예상 주행 경로 및 예상 속력 프로파일에 기초하여 결정되는 것인, 단계를 포함하는,
    자율주행 차량의 충돌 방지 방법.
  10. 프로세서;
    네트워크 인터페이스;
    메모리; 및
    상기 메모리에 로드(load) 되고, 상기 프로세서에 의해 실행되는 컴퓨터 프로그램을 포함하되,
    상기 컴퓨터 프로그램은,
    자율주행 차량의 인근에 위치하는 복수의 로드 유저 중 충돌 감지 대상을 선정하는 인스트럭션(instruction); 및
    상기 자율주행 차량과 상기 선정된 충돌 감지 대상 간의 충돌 가능성을 판단하는 인스트럭션을 포함하며,
    상기 충돌 감지 대상을 선정하는 인스트럭션은,
    상기 자율주행 차량의 주행 경로에 기초하여 상기 자율주행 차량에 대응하는 제1 영역을 설정하는 인스트럭션;
    상기 복수의 로드 유저 각각에 대한 예상 주행 경로에 기초하여 상기 복수의 로드 유저 각각에 대응하는 복수의 제2 영역을 설정하는 인스트럭션; 및
    상기 설정된 복수의 제2 영역 중 상기 설정된 제1 영역과 적어도 일부분 중첩되는 제2 영역을 선택하고, 상기 선택된 제2 영역에 대응하는 로드 유저를 충돌 감지 대상으로 선정하는 인스트럭션을 포함하고,
    상기 자율주행 차량의 주행 경로는,
    미래 소정의 기간 동안 상기 자율주행 차량의 주행을 제어하기 위한 경로로, 상기 경로 상에 등간격으로 배치되는 복수의 포인트의 집합으로 표현되며,
    상기 제1 영역을 설정하는 인스트럭션은,
    기 설정된 기준에 따라 상기 복수의 포인트를 분류함에 따라 복수의 포인트 그룹을 생성하는 인스트럭션;
    상기 생성된 복수의 포인트 그룹 각각에 대응하는 복수의 제1 단위 영역을 설정하는 인스트럭션; 및
    상기 설정된 복수의 제1 단위 영역을 포함하는 제1 영역을 설정하는 인스트럭션을 포함하는,
    자율주행 차량의 충돌 방지 방법을 수행하는 컴퓨팅 장치.
  11. 컴퓨팅 장치와 결합되어,
    자율주행 차량의 인근에 위치하는 복수의 로드 유저 중 충돌 감지 대상을 선정하는 단계; 및
    상기 자율주행 차량과 상기 선정된 충돌 감지 대상 간의 충돌 가능성을 판단하는 단계를 포함하며,
    상기 충돌 감지 대상을 선정하는 단계는,
    상기 자율주행 차량의 주행 경로에 기초하여 상기 자율주행 차량에 대응하는 제1 영역을 설정하는 단계;
    상기 복수의 로드 유저 각각에 대한 예상 주행 경로에 기초하여 상기 복수의 로드 유저 각각에 대응하는 복수의 제2 영역을 설정하는 단계; 및
    상기 설정된 복수의 제2 영역 중 상기 설정된 제1 영역과 적어도 일부분 중첩되는 제2 영역을 선택하고, 상기 선택된 제2 영역에 대응하는 로드 유저를 충돌 감지 대상으로 선정하는 단계를 포함하고,
    상기 자율주행 차량의 주행 경로는,
    미래 소정의 기간 동안 상기 자율주행 차량의 주행을 제어하기 위한 경로로, 상기 경로 상에 등간격으로 배치되는 복수의 포인트의 집합으로 표현되며,
    상기 제1 영역을 설정하는 단계는,
    기 설정된 기준에 따라 상기 복수의 포인트를 분류함에 따라 복수의 포인트 그룹을 생성하는 단계;
    상기 생성된 복수의 포인트 그룹 각각에 대응하는 복수의 제1 단위 영역을 설정하는 단계; 및
    상기 설정된 복수의 제1 단위 영역을 포함하는 제1 영역을 설정하는 단계를 포함하는 자율주행 차량의 충돌 방지 방법을 실행시키기 위하여 컴퓨팅 장치로 판독 가능한 기록매체에 저장된, 컴퓨터프로그램.
KR1020230147834A 2023-10-31 2023-10-31 자율주행 차량의 충돌 방지 방법, 장치 및 컴퓨터프로그램 KR102643540B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230147834A KR102643540B1 (ko) 2023-10-31 2023-10-31 자율주행 차량의 충돌 방지 방법, 장치 및 컴퓨터프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230147834A KR102643540B1 (ko) 2023-10-31 2023-10-31 자율주행 차량의 충돌 방지 방법, 장치 및 컴퓨터프로그램

Publications (1)

Publication Number Publication Date
KR102643540B1 true KR102643540B1 (ko) 2024-03-06

Family

ID=90239767

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230147834A KR102643540B1 (ko) 2023-10-31 2023-10-31 자율주행 차량의 충돌 방지 방법, 장치 및 컴퓨터프로그램

Country Status (1)

Country Link
KR (1) KR102643540B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210073204A (ko) * 2019-12-10 2021-06-18 주식회사 라이드플럭스 자율주행 차량의 충돌 방지 방법, 장치 및 컴퓨터프로그램
JP2022117616A (ja) * 2021-02-01 2022-08-12 トヨタ自動車株式会社 車両制御装置
KR20230117936A (ko) * 2022-02-03 2023-08-10 현대자동차주식회사 자율주행 제어 장치 및 그 충돌 회피 제어방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210073204A (ko) * 2019-12-10 2021-06-18 주식회사 라이드플럭스 자율주행 차량의 충돌 방지 방법, 장치 및 컴퓨터프로그램
JP2022117616A (ja) * 2021-02-01 2022-08-12 トヨタ自動車株式会社 車両制御装置
KR20230117936A (ko) * 2022-02-03 2023-08-10 현대자동차주식회사 자율주행 제어 장치 및 그 충돌 회피 제어방법

Similar Documents

Publication Publication Date Title
KR102407664B1 (ko) 물체 검출을 위한 방법, 장치 및 기기
WO2021180035A1 (zh) 一种泊车路径规划方法、装置、车辆和存储介质
CN109866778B (zh) 具有自动辅助的自主车辆操作
JP6622148B2 (ja) 周辺環境認識装置
US10678248B2 (en) Fast trajectory planning via maneuver pattern selection
US20220410939A1 (en) Collision detection method, electronic device, and medium
US9738278B2 (en) Creation of an obstacle map
JP6312831B2 (ja) 走行支援システム及び走行支援方法
US20210171063A1 (en) Method, apparatus, and computer program for avoiding collision of autonomous vehicle
JP2016007954A (ja) 車線合流支援装置
US11164011B2 (en) Lane recognition device and method thereof
CN110789520B (zh) 行驶控制方法、装置及电子设备
CN112440990A (zh) 用于自主和半自主车辆的路径规划
JP7376992B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
KR102624830B1 (ko) 신호등을 포함하는 영상 데이터 분석을 통한 신호 정보 추출 방법, 장치 및 컴퓨터프로그램
EP3786587A1 (en) Path planning for autonomous and semi-autonomous vehicles
JP2020071495A (ja) 移動体挙動予測装置
JP6245842B2 (ja) 車両衝突防止処理方法、プログラム及びシステム
KR102643540B1 (ko) 자율주행 차량의 충돌 방지 방법, 장치 및 컴퓨터프로그램
US20210078596A1 (en) Safe trajectory tracking in uncertain environments
EP4113477A1 (en) Control system and control method
US20220379912A1 (en) Method, server, and computer program for creating road network map to design driving plan for autonomous driving vehicle
KR102394465B1 (ko) 자율주행 차량에 대한 핸들 각도 제어명령 검증방법, 서버 및 컴퓨터프로그램
JP2019003343A (ja) 運転支援装置および運転支援方法
US20180229672A1 (en) Method for Operating Driver Assistance Systems in a Motor Vehicle, and Motor Vehicle

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant