KR102618100B1 - 무인 이동체 제어 장치, 무인 이동체들간의 충돌 회피 경로 생성 방법 및 컴퓨팅 장치 - Google Patents

무인 이동체 제어 장치, 무인 이동체들간의 충돌 회피 경로 생성 방법 및 컴퓨팅 장치 Download PDF

Info

Publication number
KR102618100B1
KR102618100B1 KR1020220109249A KR20220109249A KR102618100B1 KR 102618100 B1 KR102618100 B1 KR 102618100B1 KR 1020220109249 A KR1020220109249 A KR 1020220109249A KR 20220109249 A KR20220109249 A KR 20220109249A KR 102618100 B1 KR102618100 B1 KR 102618100B1
Authority
KR
South Korea
Prior art keywords
destination
unmanned
unmanned mobile
avoidance
information
Prior art date
Application number
KR1020220109249A
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 KR1020220109249A priority Critical patent/KR102618100B1/ko
Priority to PCT/KR2023/011020 priority patent/WO2024049023A1/ko
Priority to KR1020230187802A priority patent/KR20240031208A/ko
Application granted granted Critical
Publication of KR102618100B1 publication Critical patent/KR102618100B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0289Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling with means for avoiding collisions between vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • G05D1/20

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 개시는 무인 이동체들간의 충돌 회피 경로 생성 방법에 있어서, 무인 이동체들의 각각의 위치 정보와 목적지 별 이동 경로 정보를 수신받는 단계; 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수를 판단하는 단계; 충돌 발생 예상 건수의 판단이 완료되면, 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 충돌 발생이 예상되는 무인 이동체들의 각각의 목적지까지의 총 도착 시간을 판단하는 단계; 총 도착 시간의 판단이 완료되면, 충돌 발생 예상 건수와 총 도착 시간 중 적어도 하나가 기 설정된 수준을 만족하는지를 판단하는 단계; 충돌 발생 예상 건수와 총 도착 시간 중 적어도 하나가 기 설정된 수준을 만족하지 않으면, 충돌 발생 예상 건수와 총 도착 시간 중 적어도 하나를 줄이도록, 기 설정된 복수의 목적지 별 회피 경로 정보 중 해당 목적지 별 회피 경로 정보를 선택하는 단계; 및 해당 목적지 별 회피 경로 정보의 선택이 완료되면, 해당 목적지 별 회피 경로 정보에 상응하여 충돌 발생이 예상되는 무인 이동체들의 회피 경로를 생성하는 단계; 를 포함할 수 있다.

Description

무인 이동체 제어 장치, 무인 이동체들간의 충돌 회피 경로 생성 방법 및 프로그램{UNMANNED MOVING OBJECT CONTROL APPARATUS, METHOD AND PROGRAM FOR CREATING COLLISION AVOIDANCE PATH BETWEEN UNMANNED MOVING OBJECTS}
본 개시는 무인 이동체에 관한 것이다. 보다 상세하게는, 본 개시는 무인 이동체 제어 장치, 무인 이동체들간의 충돌 회피 경로 생성 방법 및 프로그램에 관한 것이다.
4차 산업혁명 시대를 맞이하여 병원, 공항, mall 등 다양한 공간에서 서비스 무인 이동체의 도입이 증가하는 추세이다.
종래, 무인 이동체들은 병원, 공항, mall 등 다양한 공간에서 맞춤형 서비스를 제공하고 있다.
그런데, 종래 무인 이동체들의 개수가 증가하면, 서로 간의 충돌 없이 각각의 목적지까지 도착하기 위한 각각의 이동 경로 계획 시간이 오래 걸렸었다.
따라서, 최근에는 목적지까지 충돌 없이 빠른 이동 속도로 주행하면서, 충돌 회피 경로를 생성하기 위한 알고리즘의 계산 속도를 증가시키기 위한 개선된 무인 이동체 제어 장치의 연구가 지속적으로 행해져오고 있다.
일본 등록특허공보 JP 2814577(1998.08.14)
본 개시에 개시된 실시예는, 목적지까지 충돌 없이 빠른 이동 속도로 주행할 수 있는 것을 제공하는데 그 목적이 있다.
또한, 본 개시에 개시된 실시예는, 충돌 회피 경로를 생성하기 위한 알고리즘의 계산 속도를 증가시킬 수 있는 것을 제공하는데 그 목적이 있다.
본 개시가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 기술적 과제를 달성하기 위한 본 개시의 일 측면에 따른 무인 이동체들간의 충돌 회피 경로 생성 방법은, 인공 지능 기반의 무인 이동체들간의 충돌 회피 경로 생성 방법에 있어서, 상기 무인 이동체들의 각각의 위치 정보와 목적지 별 이동 경로 정보를 수신받는 단계; 상기 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수를 판단하는 단계; 상기 충돌 발생 예상 건수의 판단이 완료되면, 상기 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 상기 충돌 발생이 예상되는 무인 이동체들의 각각의 목적지까지의 총 도착 시간을 판단하는 단계; 상기 총 도착 시간의 판단이 완료되면, 상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나가 기 설정된 수준을 만족하는지를 판단하는 단계; 상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나가 상기 기 설정된 수준을 만족하지 않으면, 상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나를 줄이도록, 기 설정된 복수의 목적지 별 회피 경로 정보 중 해당 목적지 별 회피 경로 정보를 선택하는 단계; 및 상기 해당 목적지 별 회피 경로 정보의 선택이 완료되면, 상기 해당 목적지 별 회피 경로 정보에 상응하여 상기 충돌 발생이 예상되는 무인 이동체들의 회피 경로를 생성하는 단계; 를 포함할 수 있다.
또한, 상기 해당 목적지 별 회피 경로 정보는, 상기 충돌 발생이 예상되는 무인 이동체들의 목적지까지의 경유 지점과 이동 지점 중 적어도 하나를 기반으로, 상기 충돌 발생이 예상되는 무인 이동체들의 각각의 회피 경로가 설정된 정보인 것을 특징으로 할 수 있다.
또한, 상기 회피 경로 생성 단계는, 상기 해당 목적지 별 회피 경로 정보 내에서, 상기 목적지까지의 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나를 판단하고, 상기 경유 지점과 상기 이동 지점 및 상기 이동 방향 중 적어도 하나의 판단이 완료되면, 상기 경유 지점과 상기 이동 지점 및 상기 이동 방향 중 적어도 하나로 이동하는 해당 무인 이동체들을 우선 순위 그룹으로 선정하며, 상기 우선 순위 그룹으로 선정된 해당 무인 이동체들의 각각의 회피 경로를 생성하는 것을 특징으로 할 수 있다.
또한, 상기 회피 경로 생성 단계는, 상기 우선 순위 그룹으로 선정된 해당 무인 이동체들의 각각의 회피 경로를 생성할 때에, 상기 경유 지점과 상기 이동 지점 및 상기 이동 방향 중 적어도 하나로 이동하는 해당 무인 이동체들 중 상기 해당 무인 이동체들의 각각의 위치 정보를 기반으로 현재 위치에서 양보 가능한 적어도 하나의 해당 무인 이동체를 판단하고, 상기 현재 위치에서 양보 가능한 적어도 하나의 해당 무인 이동체의 판단이 완료되면, 나머지의 적어도 하나의 해당 무인 이동체의 회피 경로를 생성하는 것을 특징으로 할 수 있다.
또한, 본 개시의 다른 측면에 따른 무인 이동체 제어 장치는, 무인 이동체들의 각각의 위치 정보와 목적지 별 이동 경로 정보를 수신받도록, 상기 무인 이동체들과 통신을 수행하는 통신부; 및 상기 무인 이동체들 간의 충돌 회피 경로를 생성하는 동작을 제어하는 프로세서를 포함하고, 상기 프로세서는, 상기 각각의 위치 정보와 목적지 별 이동 경로 정보를 수신받으며, 상기 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수를 판단하고, 상기 충돌 발생 예상 건수의 판단이 완료되면, 상기 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 상기 충돌 발생이 예상되는 무인 이동체들의 각각의 목적지까지의 총 도착 시간을 판단하며, 상기 총 도착 시간의 판단이 완료되면, 상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나가 기 설정된 수준을 만족하는지를 판단하고, 상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나가 상기 기 설정된 수준을 만족하지 않으면, 상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나를 줄이도록, 기 설정된 복수의 목적지 별 회피 경로 정보 중 해당 목적지 별 회피 경로 정보를 선택하며, 상기 해당 목적지 별 회피 경로 정보의 선택이 완료되면, 상기 해당 목적지 별 회피 경로 정보에 상응하여 상기 충돌 발생이 예상되는 무인 이동체들의 회피 경로를 생성하는 것을 특징으로 할 수 있다.
또한, 상기 해당 목적지 별 회피 경로 정보는, 상기 충돌 발생이 예상되는 무인 이동체들의 목적지까지의 경유 지점과 이동 지점 중 적어도 하나를 기반으로, 상기 충돌 발생이 예상되는 무인 이동체들의 각각의 회피 경로가 설정된 정보인 것을 특징으로 할 수 있다.
또한, 상기 프로세서는, 상기 해당 목적지 별 회피 경로 정보 내에서, 상기 목적지까지의 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나를 판단하고, 상기 경유 지점과 상기 이동 지점 및 상기 이동 방향 중 적어도 하나의 판단이 완료되면, 상기 경유 지점과 상기 이동 지점 및 상기 이동 방향 중 적어도 하나로 이동하는 해당 무인 이동체들을 우선 순위 그룹으로 선정하며, 상기 우선 순위 그룹으로 선정된 해당 무인 이동체들의 각각의 회피 경로를 생성하는 것을 특징으로 할 수 있다.
또한, 상기 프로세서는, 상기 우선 순위 그룹으로 선정된 해당 무인 이동체들의 각각의 회피 경로를 생성할 때에, 상기 경유 지점과 상기 이동 지점 및 상기 이동 방향 중 적어도 하나로 이동하는 해당 무인 이동체들 중 상기 해당 무인 이동체들의 각각의 위치 정보를 기반으로 현재 위치에서 양보 가능한 적어도 하나의 해당 무인 이동체를 판단하고, 상기 현재 위치에서 양보 가능한 적어도 하나의 해당 무인 이동체의 판단이 완료되면, 나머지의 적어도 하나의 해당 무인 이동체의 회피 경로를 생성하는 것을 특징으로 할 수 있다.
또한, 본 개시의 또 다른 측면에 따른 컴퓨터 프로그램은, 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 하나 이상의 프로세서에서 실행되는 경우, 무인 이동체들간의 충돌 회피 경로 생성 방법을 수행하기 위한 이하의 동작들을 수행하도록 하며, 상기 동작들은: 상기 무인 이동체들의 각각의 위치 정보와 목적지 별 이동 경로 정보를 수신받는 동작; 상기 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수를 판단하는 동작; 상기 충돌 발생 예상 건수의 판단이 완료되면, 상기 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 상기 충돌 발생이 예상되는 무인 이동체들의 각각의 목적지까지의 총 도착 시간을 판단하는 동작; 상기 총 도착 시간의 판단이 완료되면, 상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나가 기 설정된 수준을 만족하는지를 판단하는 동작; 상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나가 상기 기 설정된 수준을 만족하지 않으면, 상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나를 줄이도록, 기 설정된 복수의 목적지 별 회피 경로 정보 중 해당 목적지 별 회피 경로 정보를 선택하는 동작; 및 상기 해당 목적지 별 회피 경로 정보의 선택이 완료되면, 상기 해당 목적지 별 회피 경로 정보에 상응하여 상기 충돌 발생이 예상되는 무인 이동체들의 회피 경로를 생성하는 동작; 을 포함하는 것을 특징으로 할 수 있다.
또한, 본 개시의 또 다른 측면에 따른 컴퓨팅 장치는, 무인 이동체들간의 충돌 회피 경로 생성 방법을 제공하기 위한 컴퓨팅 장치로서, 하나 이상의 코어를 포함하는 프로세서; 및 상기 프로세서에 의해 실행 가능한 인스트럭션들(instructions)을 저장하는 메모리를 포함하며, 상기 인스트럭션들이 상기 프로세서에 의해 실행될 때, 상기 프로세서는, 상기 무인 이동체들간의 각각의 위치 정보와 목적지 별 이동 경로 정보를 수신받고, 상기 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수를 판단하며, 상기 충돌 발생 예상 건수의 판단이 완료되면, 상기 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 상기 충돌 발생이 예상되는 무인 이동체들의 각각의 목적지까지의 총 도착 시간을 판단하고, 상기 총 도착 시간의 판단이 완료되면, 상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나가 기 설정된 수준을 만족하는지를 판단하며, 상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나가 상기 기 설정된 수준을 만족하지 않으면, 상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나를 줄이도록, 기 설정된 복수의 목적지 별 회피 경로 정보 중 해당 목적지 별 회피 경로 정보를 선택하고, 상기 해당 목적지 별 회피 경로 정보의 선택이 완료되면, 상기 해당 목적지 별 회피 경로 정보에 상응하여 상기 충돌 발생이 예상되는 무인 이동체들의 회피 경로를 생성하는 것을 특징으로 할 수 있다.
이 외에도, 본 개시를 구현하기 위한 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
본 개시의 전술한 과제 해결 수단에 의하면, 목적지까지 충돌 없이 빠른 이동 속도로 주행할 수 있다.
또한, 본 개시의 전술한 과제 해결 수단에 의하면, 충돌 회피 경로를 생성하기 위한 알고리즘의 계산 속도를 증가시킬 수 있다.
본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시에 따른 무인 이동체 제어 장치의 구성을 나타낸 도면이다.
도 2는 도 1의 메모리에 저장된 공간 상의 지도 정보를 일 예로 나타낸 도면이다.
도 3 내지 도 5는 본 개시에 따른 인공 지능 기반의 무인 이동체들간의 충돌 회피 경로 생성 방법을 나타낸 순서도이다.
도 6은 도 1의 프로세서를 통해 무인 이동체들간의 충돌 발생의 여부를 판단하는 과정을 일 예로 나타낸 도면이다.
도 7은 도 1의 프로세서에서 인공지능 모델을 기반으로 학습되어 추천된 해당 목적지 별 회피 경로 데이터를 출력하는 과정을 일 예로 나타낸 도면이다.
도 8 내지 도 11b는 도 7의 인공지능 모델을 강화 학습시키는 과정을 일 예로 나타낸 도면들이다.
도 12는 도 1의 프로세서를 통해 우선 순위 그룹으로 선정된 해당 무인 이동체들의 각각의 회피 경로를 판단하고 생성하는 과정을 일 예로 나타낸 도면이다.
도 13a 및 도 13b는 도 1의 프로세서를 통해 양보 가능한 해당 무인 이동체를 판단하고 다른 해당 무인 이동체의 각각의 회피 경로를 생성하는 과정을 일 예로 나타낸 도면이다.
도 14 내지 도 16은 도 1의 프로세서를 통해 해당 무인 이동체들의 이동 속도를 판단하고 각각의 회피 경로를 생성하는 과정을 일 예로 나타낸 도면이다.
도 17 내지 도 19는 도 1의 프로세서를 통해 해당 무인 이동체들의 각각의 최적화된 회피 경로를 탐색하여 생성하는 과정을 일 예로 나타낸 도면이다.
본 개시 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다. 본 개시가 실시예들의 모든 요소들을 설명하는 것은 아니며, 본 개시가 속하는 기술분야에서 일반적인 내용 또는 실시예들 간에 중복되는 내용은 생략한다. 명세서에서 사용되는 “부, 모듈, 부재, 블록”이라는 용어는 소프트웨어 또는 하드웨어로 구0현될 수 있으며, 실시예들에 따라 복수의 '부, 모듈, 부재, 블록'이 하나의 구성요소로 구현되거나, 하나의 '부, 모듈, 부재, 블록'이 복수의 구성요소들을 포함하는 것도 가능하다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
제 1, 제 2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위해 사용되는 것으로, 구성요소가 전술된 용어들에 의해 제한되는 것은 아니다.
단수의 표현은 문맥상 명백하게 예외가 있지 않는 한, 복수의 표현을 포함한다.
각 단계들에 있어 식별부호는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하 첨부된 도면들을 참고하여 본 개시의 작용 원리 및 실시예들에 대해 설명한다.
본 명세서에서 본 개시에 따른 무인 이동체 제어 장치는 연산처리를 수행하여 사용자에게 결과를 제공할 수 있는 다양한 장치들이 모두 포함된다. 예를 들어, 본 개시에 따른 무인 이동체 제어 장치는, 컴퓨터, 서버를 모두 포함하거나, 또는 어느 하나의 형태가 될 수 있다.
여기에서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop), 태블릿 PC, 슬레이트 PC, 싱글보드 컴퓨터 등을 포함할 수 있다.
서버 장치는 외부 장치와 통신을 수행하여 정보를 처리하는 서버로써, 애플리케이션 서버, 컴퓨팅 서버, 데이터베이스 서버, 파일 서버, 메일 서버, 프록시 서버 및 웹 서버 등을 포함할 수 있다.
휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), WiBro(Wireless Broadband Internet) 단말, 스마트 폰(Smart Phone) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치와 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD) 등과 같은 웨어러블 장치를 포함할 수 있다.
본 개시에 따른 무인 이동체 제어 장치는 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수와 무인 이동체들의 각각의 목적지까지의 총 도착 시간 중 적어도 하나가 기 설정된 수준을 만족하지 않으면, 충돌 발생 예상 건수와 총 도착 시간 중 적어도 하나를 줄이도록, 기 설정된 복수의 목적지 별 회피 경로 정보 중 인공 지능 모델을 통해 학습되어 추천된 해당 목적지 별 회피 경로 정보를 선택하고, 해당 목적지 별 회피 경로 정보의 선택이 완료되면, 해당 목적지 별 회피 경로 정보에 상응하여 충돌 발생이 예상되는 무인 이동체들의 회피 경로를 생성하도록 제공될 수 있다.
이러한, 무인 이동체 제어 장치는, 목적지까지 충돌 없이 빠른 이동 속도로 주행하면서, 충돌 회피 경로를 생성하기 위한 알고리즘의 계산 속도를 증가시킬 수 있다.
이하에서는, 무인 이동체 제어 장치를 자세하게 살펴보기로 한다.
도 1은 본 개시에 따른 무인 이동체 제어 장치와 복수의 무인 이동체의 구성을 나타낸 도면이다. 도 2는 도 1의 메모리에 저장된 공간 상의 지도 정보를 일 예로 나타낸 도면이다.
도 1을 참조하면, 무인 이동체 제어 장치(1000)는 제1 통신부(1010)와 제1 제어부(1020)를 포함할 수 있다. 제1 통신부(1010)는 제1 제어부(1020)와 전기적으로 연결될 수 있고, 무인 이동체들(100)과 통신을 수행할 수 있다. 제1 통신부(1010)는 무인 이동체들(100)의 각각의 위치 정보와 목적지 별 이동 경로 정보를 수신받을 수 있다. 이때, 제1 통신부(1010)는 와이파이(Wifi) 모듈, 와이브로(Wireless broadband) 모듈 외에도, GSM(global System for Mobile Communication), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), UMTS(universal mobile telecommunications system), TDMA(Time Division Multiple Access), LTE(Long Term Evolution), 4G, 5G, 6G 등 다양한 무선 통신 방식을 지원하는 무선 통신 모듈을 포함할 수 있다.
제1 제어부(1020)는 본 장치 내의 구성요소들의 동작을 제어하기 위한 알고리즘 또는 알고리즘을 재현한 프로그램에 대한 데이터를 저장하는 메모리(1021), 및 메모리(1021)에 저장된 데이터를 이용하여 전술한 동작을 수행하는 적어도 하나의 프로세서(1022)로 구현될 수 있다. 여기에서, 메모리(1021)와 프로세서(1022)는 각각 별개의 칩으로 구현될 수 있다. 또한, 메모리(1021)와 프로세서(1022)는 단일 칩으로 구현될 수도 있다.
메모리(1021)는 본 장치의 다양한 기능을 지원하는 데이터와, 제어부의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들을 저장할 있고, 본 장치에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 본 장치의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다.
이러한, 메모리(1021)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), SSD 타입(Solid State Disk type), SDD 타입(Silicon Disk Drive type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(random access memory; RAM), SRAM(static random access memory), 롬(read-only memory; ROM), EEPROM(electrically erasable programmable read-only memory), PROM(programmable read-only memory), 자기 메모리, 자기 디스크 및 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 메모리(1021)는 본 장치와는 분리되어 있으나, 유선 또는 무선으로 연결된 데이터베이스가 될 수도 있다.
메모리(1021)는 무인 이동체들(100)의 카메라(140) 및 센서부(150)를 통해 획득된 공간 상의 각각의 위치 정보를 제2 통신부(110) 및 제1 통신부(1010)를 통해 저장할 수 있다. 메모리(1021)는 기 설정된 무인 이동체들(100)의 목적지 별 이동 경로 정보가 저장되어 있을 수 있다. 무인 이동체들(100)은 목적지의 요청에 상응하여 기 설정된 각각의 목적지 별 이동 경로 정보를 제2 통신부(110) 및 제1 통신부(1010)를 통해 메모리(1021)로 전송할 수 있다. 각각의 목적지 별 이동 경로 정보는 병원, 공항, mall 등과 같은 공간에서 무인 이동체들(100)이 특정 목적지까지 도착하기 위한 이동 경로 정보일 수 있다.
메모리(1021)는 지도 정보(A)가 저장되어 있을 수 있다. 이때, 도 2에 도시된 바와 같이, 지도 정보(A)는 격자 지도일 수 있다. 또한, 지도 정보(A)는 위상 지도(노드와 엣지로 구성된 지도)를 포함할 수도 있다. 격자 지도는 무인 이동체들(100)의 센싱을 통해 또는 사전에 여러가지 SLAM(Simutaneous Localization And Mapping) 기법을 이용하여 2D 또는 3D 자율 주행을 위한 형태로 생성될 수 있다. 예를 들어, 격자 지도는 png, pgm 등의 이미지 파일의 형태의 2D 지도로 생성되거나, 3축 공간 정보가 포함된 포인트 클라우드 데이터(Poing cloud data) 등을 통해 3D 지도로 생성될 수 있다. 이때, 무인 이동체들(100)은 지도 정보(A) 내의 특정 구역에 서로 위치할 수 있다. 예를 들어, 무인 이동체들(100) 중 제1 무인 이동체(100a)는 지도 정보(A) 내의 제1 구역(P) 중 제1 지점(P1)에 위치할 수 있고, 제2 무인 이동체(100b)는 제2 지점(P2)에 위치할 수 있으며, 제3 무인 이동체(100c)는 제3 지점(P3)에 위치할 수 있다.
프로세서(1022)는 무인 이동체들(100) 간의 충돌 회피 경로를 생성하는 동작을 제어할 수 있다. 무인 이동체들(100: 100a, 100b, 100c, …)은 사람의 도움없이 스스로 외부 환경을 인식해 상황을 판단하고 임무를 수행하는 이동체일 수 있다. 예를 들어, 무인 이동체들(100: 100a, 100b, 100c, …)은 이동 로봇일 수 있다. 무인 이동체들(100: 100a, 100b, 100c, …)은 제2 통신부(110), 제2 제어부(120), 구동부(130), 카메라(140), 센서부(150)를 포함할 수 있다.
제2 통신부(110)는 무인 이동체 제어 장치(1000)의 제1 통신부(1010)와 통신을 수행할 수 있다. 제2 통신부(110)는 무인 이동체들(100: 100a, 100b, 100c, …)의 각각의 위치 정보와 목적지 별 이동 경로 정보를 제1 통신부(1010)를 통해 제1 제어부(1020)로 전송할 수 있다. 무인 이동체들(100: 100a, 100b, 100c, …)은 카메라(140) 및 센서부(150)를 통해 공간 상의 각각의 위치 정보를 획득할 수 있고, 제2 제어부(120)에 기 설정된 지도 정보(A) 기반의 목적지 별 이동 경로 정보 중 해당 목적지 이동 경로 정보를 기반으로 각각의 목적지까지 이동할 수 있다. 여기에서, 제2 제어부(120)는 지도 정보(A)가 저장되는 메모리와, 해당 목적지 이동 경로 정보를 판단하고 각각의 목적지까지 이동할 수 있도록 구동부(130)를 제어하는 프로세서를 포함할 수 있다.
이때, 구동부(130)는 프로세서(122)를 통해 출력되는 해당 목적지 이동 경로 정보를 기반으로, 무인 이동체들(100) 간의 충돌 회피 경로로 주행하면서 해당 목적지까지 주행하도록 무인 이동체들(100)을 구동할 수 있다. 예를 들어, 구동부(130)는 무인 이동체들(100)의 주행에 필요한 동력을 제공하기 위해, 배터리 및 배터리로부터 전원을 공급받는 전자적인 부품, 배터리 및 배터리로부터 전원을 공급받아 구동하는 바퀴 또는 구동벨트 등의 기계적인 구동 부품을 포함할 수 있다.
또한, 카메라(140)는 이미지 센서를 이용하는 영상 카메라로 제공될 수 있다. 카메라(140)는 이미지 센서를 통해 획득한 정지영상 또는 동영상 등의 화상 프레임을 처리할 수 있다. 한편, 카메라(140)가 복수개일 경우, 매트릭스 구조를 이루도록 배치될 수 있다. 이러한 매트릭스 구조를 이루는 영상 카메라들을 통해 다양한 각도 또는 초점을 갖는 복수의 영상정보가 입력될 수 있다. 또한, 영상 카메라들은 3차원의 입체영상을 구현하기 위한 좌 영상 및 우 영상을 획득하도록, 스트레오 구조로 배치될 수 있다. 또한, 카메라(140)는 AI 카메라로 제공될 수도 있다. AI 카메라는 인간의 망막을 모방하여 만들어진 광각센서를 통해 인식된 이미지를, 뇌신경망 알고리즘으로 미세하게 조정할 수 있다. AI 카메라는 셔터 속도, 광노출, 포화도, 색 농도, 동적 범위, 대비 등을 조절할 수 있다. 또한, AI 카메라는 촬영된 영상을 양질의 영상으로 출력할 수 있다. 센서부(150)는 초음파 센서, 레이더 센서, 라이다 센서 중 적어도 하나를 포함할 수 있다. 센서부(150)는 라이다 센서를 통해 라이다 데이터를 획득할 수 있다.
프로세서(1022)는 제1 통신부(1010)를 통해 무인 이동체들(100: 100a, 100b, 100c, …)의 각각의 위치 정보와 목적지 별 이동 경로 정보를 수신받을 수 있다.
프로세서(1022)는 무인 이동체들(100: 100a, 100b, 100c, …)의 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 충돌 발생이 예상되는 무인 이동체들(100: 100a, 100b, 100c, …)의 충돌 발생 예상 건수를 판단할 수 있다.
프로세서(1022)는 충돌 발생이 예상되는 무인 이동체들(100: 100a, 100b, 100c, …)의 충돌 발생 예상 건수의 판단이 완료되면, 충돌 발생이 예상되는 무인 이동체들(100: 100a, 100b, 100c, …)의 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 충돌 발생이 예상되는 무인 이동체들(100: 100a, 100b, 100c, …)의 각각의 목적지까지의 총 도착 시간을 판단할 수 있다.
프로세서(1022)는 충돌 발생이 예상되는 무인 이동체들(100: 100a, 100b, 100c, …)의 총 도착 시간의 판단이 완료되면, 충돌 발생이 예상되는 무인 이동체들(100: 100a, 100b, 100c, …)의 충돌 발생 예상 건수와 총 도착 시간 중 적어도 하나가 기 설정된 수준을 만족하는지를 판단할 수 있다.
프로세서(1022)는 충돌 발생이 예상되는 무인 이동체들(100: 100a, 100b, 100c, …)의 충돌 발생 예상 건수와 총 도착 시간 중 적어도 하나가 기 설정된 수준을 만족하지 않으면, 무인 이동체들(100: 100a, 100b, 100c, …)의 충돌 발생 예상 건수와 총 도착 시간 중 적어도 하나를 줄이도록, 기 설정된 복수의 목적지 별 회피 경로 정보 중 인공 지능 모델을 통해 학습되어 추천된 해당 목적지 별 회피 경로 정보를 선택할 수 있다.
프로세서(1022)는 해당 목적지 별 회피 경로 정보의 선택이 완료되면, 해당 목적지 별 회피 경로 정보에 상응하여 충돌 발생이 예상되는 무인 이동체들(100: 100a, 100b, 100c, …)의 회피 경로를 생성할 수 있다. 이때, 해당 목적지 별 회피 경로 정보는, 충돌 발생이 예상되는 무인 이동체들(100: 100a, 100b, 100c, …)의 목적지까지의 경유 지점과 이동 지점 중 적어도 하나를 기반으로, 충돌 발생이 예상되는 무인 이동체들(100: 100a, 100b, 100c, …)의 각각의 회피 경로가 설정된 정보일 수 있다.
또한, 프로세서(1022)는 해당 목적지 별 회피 경로 정보 내에서, 목적지까지의 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나를 판단하고, 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나의 판단이 완료되면, 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나로 이동하는 해당 무인 이동체들을 우선 순위 그룹으로 선정하며, 우선 순위 그룹으로 선정된 해당 무인 이동체들의 각각의 회피 경로를 생성할 수 있다.
또한, 프로세서(1022)는 우선 순위 그룹으로 선정된 해당 무인 이동체들의 각각의 회피 경로를 생성할 때에, 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나로 이동하는 해당 무인 이동체들 중 해당 무인 이동체들의 각각의 위치 정보를 기반으로 현재 위치에서 양보 가능한 적어도 하나의 해당 무인 이동체를 판단하고, 현재 위치에서 양보 가능한 적어도 하나의 해당 무인 이동체의 판단이 완료되면, 나머지의 적어도 하나의 해당 무인 이동체의 회피 경로를 생성할 수 있다.
도 3 내지 도 5는 본 개시에 따른 인공 지능 기반의 무인 이동체들간의 충돌 회피 경로 생성 방법을 나타낸 순서도이다. 도 6은 도 1의 프로세서를 통해 무인 이동체들간의 충돌 발생의 여부를 판단하는 과정을 일 예로 나타낸 도면이다.
도 3 내지 도 6을 참조하면, 무인 이동체들간의 충돌 회피 경로 생성 방법은, 수신 단계(S310), 제1 판단 단계(S320), 제2 판단 단계(S330), 제3 판단 단계(S340), 선택 단계(S350), 회피 경로 생성 단계(S360)를 포함할 수 있다.
수신 단계는, 프로세서(1022)를 통해, 무인 이동체들(100: 100a, 100b, 100c, …)의 각각의 위치 정보와 목적지 별 이동 경로 정보를 수신받을 수 있다(S310). 제2 통신부(110)는 카메라(140) 및 센서부(150)를 통해 획득한 공간 상의 각각의 위치 정보, 제2 제어부(120)에 기 설정된 지도 정보(A) 기반의 목적지 별 이동 경로 정보 중 해당 목적지 이동 경로 정보를 제1 통신부(1010)를 통해 프로세서(1022)로 전송할 수 있다.
제1 판단 단계는, 프로세서(1022)를 통해, 무인 이동체들(100: 100a, 100b, 100c, …)의 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 충돌 발생이 예상되는 무인 이동체들(100: 100a, 100b, 100c, …)의 충돌 발생 예상 건수를 판단할 수 있다(S320). 예를 들어, 프로세서(1022)는 제1 지점(P1)에 위치한 제1 무인 이동체(100a), 제2 지점(P2)에 위치한 제2 무인 이동체(100b), 제3 지점(P3)에 위치한 제3 무인 이동체(100c)의 각각의 위치와 각각의 목적지 별 이동 경로를 기반으로, 충돌 발생이 예상되는 해당 무인 이동체들(100a, 100b, 100c, …)의 충돌 발생 예상 건수를 판단할 수 있다. 이때, 각각의 위치는 동일 지점 선상의 위치일 수 있고, 목적지 별 이동 경로가 겹치는 위치일 수 있으며, 동일 시간 별 이동 경로가 겹치는 위치일 수 있다.
제2 판단 단계는, 프로세서(1022)를 통해, 충돌 발생이 예상되는 해당 무인 이동체들(100a, 100b, 100c, …)의 충돌 발생 예상 건수의 판단이 완료되면(S320), 해당 무인 이동체들(100a, 100b, 100c, …)의 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 충돌 발생이 예상되는 해당 무인 이동체들(100a, 100b, 100c, …)의 각각의 목적지까지의 총 도착 시간을 판단할 수 있다(S330). 이때, 목적지까지의 총 도착 시간은 지점 별 도착 시간과 경유지 별 도착 시간등을 포함할 수 있다.
예를 들어, 프로세서(1022)는 충돌 발생이 예상되는 해당 무인 이동체들(100a, 100b, 100c, …)의 충돌 발생 예상 건수가 2개일 경우, 2개의 해당 무인 이동체들(100a와 100b 또는 100a와 100c 또는 100b와 100c)의 각각의 목적지까지의 총 도착 시간을 판단할 수 있다. 다시 말하면, 프로세서(1022)는 2개의 해당 무인 이동체들(100a와 100b)의 목적지까지의 총 도착 시간 또는 2개의 해당 무인 이동체들(100a와 100c)의 목적지까지의 총 도착 시간 또는 2개의 해당 무인 이동체들(100b와 100b)의 목적지까지의 총 도착 시간을 판단할 수 있다. 다른 예를 들어, 프로세서(1022)는 충돌 발생이 예상되는 해당 무인 이동체들(100a, 100b, 100c, …)의 충돌 발생 예상 건수가 3개일 경우, 3개의 해당 무인 이동체들(100a와 100b 및 100c)의 목적지까지의 총 도착 시간을 판단할 수 있다.
제3 판단 단계는, 프로세서(1022)를 통해, 충돌 발생이 예상되는 무인 이동체들(100: 100a, 100b, 100c, …)의 각각의 목적지까지의 총 도착 시간의 판단이 완료되면(S330), 충돌 발생이 예상되는 무인 이동체들(100: 100a, 100b, 100c, …)의 충돌 발생 예상 건수와 총 도착 시간 중 적어도 하나가 기 설정된 수준을 만족하는지를 판단할 수 있다(S340). 예를 들어, 프로세서(1022)는 충돌 발생이 예상되는 2개의 해당 무인 이동체들(100a와 100b)의 목적지까지의 총 도착 시간 또는 충돌 발생이 예상되는 2개의 해당 무인 이동체들(100a와 100c)의 목적지까지의 총 도착 시간 또는 충돌 발생이 예상되는 2개의 해당 무인 이동체들(100b와 100b)의 목적지까지의 총 도착 시간 또는 3개의 해당 무인 이동체들(100a와 100b 및 100c)의 목적지까지의 총 도착 시간이 기 설정된 수준을 만족하는지를 판단할 수 있다.
선택 단계는, 프로세서(1022)를 통해, 충돌 발생이 예상되는 해당 무인 이동체들(100a, 100b, 100c, …)의 충돌 발생 예상 건수와 총 도착 시간 중 적어도 하나가 기 설정된 수준을 만족하지 않으면(S340), 충돌 발생이 예상되는 해당 무인 이동체들(100a, 100b, 100c, …)의 충돌 발생 예상 건수와 총 도착 시간 중 적어도 하나를 줄이도록, 기 설정된 복수의 목적지 별 회피 경로 정보 중 인공 지능 모델(AIM)을 통해 학습되어 추천된 해당 목적지 별 회피 경로 정보를 선택할 수 있다(S350).
여기에서, 기 설정된 수준은, 목적지까지 충돌 발생이 예상되는 해당 무인 이동체들(100a, 100b, 100c, …)의 충돌을 방지하면서 이동 속도를 빠르게 하기 위해, Conflict Tree 모델을 기반으로 제약 조건을 설정하여 최적화된 충돌 발생 예상 충돌 발생 예상 건수, 최적화된 지점 별 도착 시간 합산값, 최적화된 목적지 별 도착 시간 합산값, 최적화된 경유지 별 도착 시간 합산값등의 조건일 수 있다.
예를 들어, 도 6에 도시된 바와 같이, 프로세서(1022)는 무인 이동체 1 내지 무인 이동체 3의 충돌을 방지하면서 이동 속도를 빠르게 하기 위해, 최적화된 충돌 발생 예상 충돌 발생 예상 건수, 최적화된 지점 별 도착 시간 합산값을 제약 조건에 따라 계속해서 찾는 과정을 수행할 수 있다. 여기에서, 프로세서(1022)는 B 지점에서의 무인 이동체 3을 제약 조건으로 설정할 수 있고, B 지점에서의 무인 이동체 3을 제약 조건으로 설정할 수 있다. 이때, 프로세서(1022)는 각 지점에서의 적어도 하나의 무인 이동체를 제약 조건으로 설정하면서, 충돌 발생 예상 충돌 발생 예상 건수가 0이고, 지점 별 도착 시간 합산값이 가장 작은 값이 될 때의 각각의 무인 이동체 1의 이동 지점, 무인 이동체 2의 이동 지점, 무인 이동체 3의 이동 지점을 기반으로, 충돌 발생이 예상되는 해당 무인 이동체들(100a, 100b, 100c, …)의 최단 회피 경로를 도출할 수 있다.
한편, 제약 조건은 특정 지점에서의 충돌 여부(같은 시간에 같은 지점으로 이동)에 대한 제약 조건, 링크 충돌 여부(같은 시간에 같은 링크를 이용)에 대한 제약 조건, 높은 우선 순위 이용에 대한 제약 조건, 무인 이동체가 최종적인 일을 마무리하고 충전하고 있는 지점에 대한 제약 조건, 양보 제약 조건, 통신의 문제로 동일한 지점으로 이동하게 될 경우 처리해야 하는 제약 조건, 무인 이동체의 속도가 모두 다르기 때문에 특정 무인 이동체의 특정 지점 이동시 다른 무인 이동체가 특정 지점으로 이동할 수 없는 제약 조건일 수 있다.
또한, 프로세서(1022)는 상기 제약 조건으로 경로를 생성할 수 없는 경우에, 무인 이동체들의 그룹 사이즈를 늘리거나, 무인 이동체들의 그룹 구성을 교체할 수 있다. 무인 이동체들의 그룹 사이즈가 늘어나면, Conflict Tree 모델을 통해 모든 경우의 수를 판단하기 때문에 시간이 오래 걸리지만, 다른 무인 이동체들이 고려된 경로이기 때문에, 최적화된 최단 회피 경로를 찾을 수 있는 확률이 올라간다. 반대로 무인 이동체들의 그룹 사이즈가 줄어들면, 높은 우선 순위 그룹 내에 있는 무인 이동체들의 경우 경로를 고정하고, 낮은 우선 순위 그룹 내에 있는 무인 이동체들만 회피 경로를 찾기 때문에, 최적화된 최단 회피 경로를 찾을 수 없으나 빠르게 탐색할 수 있다. 본 개시는 무인 이동체들의 그룹 사이즈를 작은 사이즈부터 빠르게 탐색하며, 최적화된 최단 회피 경로를 찾을 수 없을 경우, 무인 이동체들의 그룹 사이즈를 점차 늘리도록 구축될 수 있다.
도 7은 도 1의 프로세서에서 인공지능 모델을 기반으로 학습되어 추천된 해당 목적지 별 회피 경로 데이터를 출력하는 과정을 일 예로 나타낸 도면이다. 도 8 내지 도 11b는 도 7의 인공지능 모델을 강화 학습시키는 과정을 일 예로 나타낸 도면들이다.
도 12는 도 1의 프로세서를 통해 우선 순위 그룹으로 선정된 해당 무인 이동체들의 각각의 회피 경로를 판단하고 생성하는 과정을 일 예로 나타낸 도면이다. 도 13a 및 도 13b는 도 1의 프로세서를 통해 양보 가능한 해당 무인 이동체를 판단하고 다른 해당 무인 이동체의 각각의 회피 경로를 생성하는 과정을 일 예로 나타낸 도면이다.
도 7을 참조하면, 프로세서(1022)는 메타데이터인 무인 이동체의 위치 데이터(ID1), 장애물 데이터(ID2), 목적지 별 이동 경로 데이터(ID3)의 입력값을 인공지능 모델(AIM)에 입력하고, 인공지능 모델(AIM)을 기반으로 학습하여 추천된 해당 목적지 별 회피 경로 데이터(OD1)의 결과값을 출력할 수 있다. 여기에서, 해당 목적지 별 회피 경로 데이터(OD1)는 충돌 발생이 예상되는 무인 이동체들의 움직임(상, 하, 좌, 우, 정지) 데이터를 포함할 수 있고, 충돌 발생이 예상되는 무인 이동체들의 목적지까지의 경유 지점과 이동 지점 중 적어도 하나를 기반으로, 충돌 발생이 예상되는 무인 이동체들의 각각의 회피 경로가 설정된 정보일 수 있다. 이때, 무인 이동체의 위치 데이터(ID1) 및 목적지 별 이동 경로 데이터(ID3)는 메모리(1021)에 저장된 지도 정보(A)를 기반으로 획득될 수 있고, 장애물 데이터(ID2)는 카메라(140)와 센서부(150) 중 적어도 하나를 기반으로 획득될 수 있다.
인공지능 모델(AIM)은 입력 데이터에 포함된 무인 이동체의 위치 데이터(ID1), 장애물 데이터(ID2), 목적지 별 이동 경로 데이터(ID3)를 상관 관계를 통해 학습하도록 구축될 수 있다. 인공지능 모델(AIM)은 무인 이동체의 위치 데이터, 장애물 데이터, 목적지 별 이동 경로 데이터를 CNN 알고리즘 또는 RNN 알고리즘을 이용하여 학습데이터 셋으로 구축 및 강화 학습시킬 수 있다.
프로세서(1022)는 지도 정보(A)를 통해 획득된 무인 이동체의 위치 및 목적지 별 이동 경로, 카메라(140)와 센서부(150) 중 적어도 하나를 통해 획득된 장애물을 기반으로 판단한 추천된 해당 목적지 별 회피 경로 데이터(OD1)를 메모리(1021)로 전송할 수 있다. 메모리(1021)는 수신된 해당 목적지 별 회피 경로 데이터(OD1)를 저장할 수 있다.
예를 들어, 도 8에 도시된 바와 같이 인공지능 모델(AIM)은 격자 지도에서 무인 이동체들의 경로 생성 문제를 강화 학습시킬 수 있다. 인공지능 모델(AIM)의 입력값은 무인 이동체들의 시작 위치, 무인 이동체들의 목적지 위치, 장애물을 포함하는 주위 환경 정보, 무인 이동체들의 시작 위치에서 목적지 위치까지의 이동 경로일 수 있다. 인공지능 모델(AIM)의 출력값은 충돌 발생이 예상되는 무인 이동체들의 움직임(상, 하, 좌, 우, 정지)을 포함하는 목적지 별 회피 경로일 수 있다.
도 9에 도시된 바와 같이, 인공지능 모델(AIM)은 무인 이동체들의 시작 위치, 무인 이동체들의 목적지 위치, 장애물을 포함하는 주위 환경 정보, 무인 이동체들의 시작 위치에서 목적지 위치까지의 이동 경로를 CNN 알고리즘, GAT(Graph Attention Network), LSTM(Long Short-Term Memory), MLP(Multi-Layer Perceptron)를 이용하여 학습데이터 셋으로 구축 및 강화 학습시킬 수 있다. 인공지능 모델(AIM)은 출력값으로 충돌 발생이 예상되는 무인 이동체들의 움직임(상(Up), 하(Down), 좌(Left), 우(Right), 정지(Idle))을 포함하는 목적지 별 회피 경로를 출력할 수 있다.
도 10에 도시된 바와 같이, 인공지능 모델(AIM)의 강화 학습에는 출력 상태가 좋은 것인지 판단하는 보상 설계가 매우 중요하다. 강화 학습 보상은 단일 무인 이동체의 최적의 경로인 가이드 경로를 생성한 후, 해당 경로 위에 도착할 경우 얼마나 목적지까지 가까워지는지로 판단할 수 있다. 이때, 강화 학습 보상은 빠른 시간 내에 목적지에 도착하기 위해, 매시간마다 음의 보상을 부여할 수 있고, 충돌을 줄이기 위해 충돌 시에도 음의 보상을 부여할 수 있다.
이때, 도 11a 및 도 11b는 인공지능 모델(AIM)의 신경망의 변수들을 바꾸어 낸 결과들이고, 무인 이동체 100a, 100b, 100c는 모두 대략 10k의 episode 경험 이후에 비슷한 결과를 가지는 것을 확인할 수 있었다.
구체적으로, 도 11b에 도시된 그래프 A, B, C는 GAT에서 근접한 어떤 무인 이동체들(100a, 100b, 100c)을 고려하는지에 대한 정보를 hop이라는 변수를 통해 바꾼 것일 수 있다. 이때, A는 GAT 2-hop network일 수 있고, B는 GAT 2-hop network + LSTM Layer일 수 있으며, C는 GAT 1-hop network일 수 있다.
도 11a에 도시된 바와 같이, GAT에서 인접한 무인 이동체들(100a, 100b, 100c)을 판단하는 경계가 점선으로된 원 안의 무인 이동체들(100a, 100b, 100c)이라고 한다면, 무인 이동체 100a와 무인 이동체 100b가 인접, 무인 이동체 100b와 무인 이동체 100c가 인접하다고 볼 수 있다. 여기에서, 1 hop의 경우에는 한번 인접한 무인 이동체, 즉 무인 이동체 100a는 인접한 무인 이동체 100b 만을 오직 고려하여 Feature를 추출할 수 있다. 2 hop의 경우에는 무인 이동체 100a와 인접한 무인 이동체 100b 뿐만 아니라, 한번 더 나아가 무인 이동체 100b와 인접한 무인 이동체 100c도 무인 이동체 100a의 Feature로 고려하여 추출할 수 있다. 회피 경로 생성 단계는, 프로세서(1022)를 통해, 해당 목적지 별 회피 경로 정보의 선택이 완료되면(S350), 해당 목적지 별 회피 경로 정보에 상응하여 충돌 발생이 예상되는 해당 무인 이동체들(100a, 100b, 100c, …)의 회피 경로를 생성할 수 있다(S360).
여기에서, 해당 목적지 별 회피 경로 정보는, 충돌 발생이 예상되는 해당 무인 이동체들(100a, 100b, 100c, …)의 목적지까지의 경유 지점과 이동 지점 중 적어도 하나를 기반으로, 충돌 발생이 예상되는 해당 무인 이동체들(100a, 100b, 100c, …)의 각각의 회피 경로가 설정된 정보일 수 있다.
도 4에 도시된 바와 같이, 회피 경로 생성 단계는, 프로세서(1022)를 통해, 해당 목적지 별 회피 경로 정보 내에서, 목적지까지의 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나를 판단할 수 있다(S361). 여기에서, 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나는, 충돌 발생이 예상되는 해당 무인 이동체들(100a, 100b, 100c, …)이 목적지까지 도착하기 위해 방문해야할 지점과 방향일 수 있다. 예를 들어, 도 12에 도시된 바와 같이 프로세서(1022)는 해당 목적지 별 회피 경로 정보 내에서, 해당 무인 이동체들(100a, 100b, 100c)의 목적지까지의 경유 지점(BP1 내지 BP3, BP4 및 BP5, BP6 내지 BP8)과 이동 지점(FP1, FP2, FP3) 및 이동 방향 중 적어도 하나를 판단할 수 있다.
회피 경로 생성 단계는, 프로세서(1022)를 통해, 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나의 판단이 완료되면(S361), 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나로 이동하는 해당 무인 이동체들(100a, 100b, 100c, …)을 우선 순위 그룹으로 선정할 수 있다(S362). 회피 경로 생성 단계는, 프로세서(1022)를 통해, 우선 순위 그룹으로 선정된 해당 무인 이동체들(100a, 100b, 100c, …)의 각각의 회피 경로를 생성할 수 있다(S363). 예를 들어, 도 12에 도시된 바와 같이, 프로세서(1022)는 우선 순위 그룹(G1)으로 선정된 해당 무인 이동체(100a, 100b, 100c)들의 각각의 회피 경로를 생성할 수 있다. 이때, 프로세서(1022)는 우선 순위 1의 그룹에 무인 이동체(100a) 및 무인 이동체(100b)가 있고, 그 보다 낮은 우선 순위 2의 그룹에 무인 이동체(100c)가 있으며, 무인 이동체(100a)와 무인 이동체(100c)가 충돌이 예상되는 경우, 무인 이동체(100a)가 회피하는 것이 효율적이더라도 항상 무인 이동체(100c)가 회피하도록 회피 경로를 생성할 수 있다.
이때, 도 5에 도시된 바와 같이, 회피 경로 생성 단계는, 프로세서(1022)를 통해, 우선 순위 그룹으로 선정된 해당 무인 이동체들(100a, 100b, 100c, …)의 각각의 회피 경로를 생성할 때에, 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나로 이동하는 해당 무인 이동체들 중 해당 무인 이동체들의 각각의 위치 정보를 기반으로 현재 위치에서 양보 가능한 적어도 하나의 해당 무인 이동체를 판단할 수 있다(S363a). 회피 경로 생성 단계는, 프로세서(1022)를 통해, 현재 위치에서 양보 가능한 적어도 하나의 해당 무인 이동체의 판단이 완료되면(S363a), 나머지의 적어도 하나의 해당 무인 이동체의 회피 경로를 생성할 수 있다(S363b). 예를 들어, 도 13a에 도시된 바와 같이, 프로세서(1022)는 현재 위치에서 양보 가능한 적어도 하나의 해당 무인 이동체(100c)의 판단이 완료되면, 나머지의 적어도 하나의 해당 무인 이동체(100a, 100b)의 각각의 회피 경로를 생성할 수 있다. 다른 예를 들어, 도 13b에 도시된 바와 같이, Conflict Tree 모델로는 충돌하지 않으나 이동할 수 없는 경우가 있을 수 있다. 즉, 꼬리 물기 하듯이 회피 경로가 생성된 경우, 무인 이동체 1, 2, 3, 4는 모두 이동하지 않으며, Conflict Tree 모델로는 이러한 교착 상태를 해결할 수 없다. 이렇게 그룹내 무인 이동체 1, 2, 3, 4가 이동 불가능한 상황에서는 최소 1대의 무인 이동체가 양보할 수 있도록 제약 조건을 추가하여 1대의 무인 이동체가 이동함으로써 문제를 해결할 수 있다. 예를 들면, 프로세서(1022)는 무인 이동체 1을 A 지점 -> B 지점으로의 회피 경로가 아닌 A 지점 -> F 지점으로의 회피 경로로 생성하고, 무인 이동체 2를 B 지점 -> C 지점으로의 회피 경로로 생성하며, 무인 이동체 3을 C 지점 -> D 지점으로의 회피 경로로 생성하며, 무인 이동체 4를 D 지점 -> A 지점으로의 회피 경로로 생성할 수 있다. 도 14 내지 도 16은 도 1의 프로세서를 통해 해당 무인 이동체들의 이동 속도를 판단하고 각각의 회피 경로를 생성하는 과정을 일 예로 나타낸 도면이다.
도 14 내지 도 16을 참조하면, 회피 경로 생성 단계는, 프로세서(1022)를 통해, 해당 목적지 별 회피 경로 정보 내에서, 충돌 발생이 예상되는 무인 이동체 A(100a)와 무인 이동체 B(100b)의 이동 속도를 판단하고 각각의 회피 경로를 생성할 수 있다.
예를 들어, 도 14에 도시된 바와 같이, 무인 이동체 A(100a)와 무인 이동체 B(100b)의 이동 속도는 서로 다르기 때문에, 무인 이동체 B(100b)가 무인 이동체 A(100a)보다 빠르면, ”b2”의 위치에서 충돌이 일어날 수 있다.
도 15에 도시된 바와 같이, 무인 이동체 B(100b)가c2의 위치에 도착하고 나서야 새로운 경로 "[c1, b1]"을 생성한다면, 새로운 경로를 받을 때까지c2의 위치에서 대기해야만 한다. 따라서, 본 개시의 프로세서(1022)는 처음부터 이를 예측하고, 무인 이동체 B(100b)의 두번째 경유 지점(c2)에서는 무인 이동체 A(100a)의 첫번째 경유 지점(b2)으로 갈 수 없다는 제약 조건을 추가할 수도 있다.
도 16에 도시된 바와 같이, 프로세서(1022)는 무인 이동체 B(100b)가 빠르게 가더라도, 무인 이동체 A(100a)의 바로 다음 경유 지점(b2)이 되는 순간에, 무인 이동체 B(100b)가 "[c2, b2, b1]"의 경로로 진행할 수 없고, 새로운 경로 "[c2, c1, b1]"으로 진행하도록 회피 경로를 생성할 수 있다.
도 17 내지 도 19는 도 1의 프로세서를 통해 해당 무인 이동체들의 각각의 최적화된 회피 경로를 탐색하여 생성하는 과정을 일 예로 나타낸 도면이다.
도 17 내지 도 19를 참조하면, 회피 경로 생성 단계는, 프로세서(1022)를 통해, 해당 목적지 별 회피 경로 정보 내에서, 해당 무인 이동체들(100a, 100b)의 각각의 최적화된 회피 경로를 탐색하여 생성할 수 있다.
도 17 및 도 18에 도시된 바와 같이, 프로세서(1022)는 해당 무인 이동체들(100a, 100b)이 각각 G1, G2의 목적지로 가는 경우, 무인 이동체 A의 우선 경로를 "A1-C1-D1-C3-B1-G1"의 경로로 생성할 수 있고, 무인 이동체 B의 우선 경로를 "A2-C1-D1-C3-B2-G2"의 경로로 생성할 수 있다. 여기에서, 프로세서(1022)는 같은 시점에 같은 위치에 있는 "C1, D1, C3"에 대해 충돌 예상을 파악하고, 회피 경로를 생성할 수 있다. 이때, 프로세서(1022)는 각각의 제약 조건을 설정하여 충돌 발생 예상 건수가 0이 될 때까지, Conflict Tree 모델을 이용하여 다양한 회피 경로를 생성할 수 있다.
도 19에 도시된 바와 같이, 프로세서(1022)는 무인 이동체 A에 제약 조건 또는 무인 이동체 B에 제약 조건을 설정하여, 충돌 발생 예상 건수가 0이 되는, A1에서 E1으로 가는 경로 또는 A1에서 C1으로 가는 경로 또는 A2에서 C1으로 가는 경로 또는 A2에서 E1으로 가는 경로를 탐색하여 "A1-E1-E2-E3-E4-B1-G1" 또는 "A1-C1-D1-C3-B1-G1" 또는 "A2-C1-D1-C3-B2-G2" 또는 "A2-E1-E2-E3-E4-B2-G2"의 경로를 생성할 수 있다. 이러한, 프로세서(1022)는 충돌 회피 경로를 생성하기 위한 알고리즘의 계산 속도를 증가시킬 수 있다.
한편, 본 개시는 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로 제공될 수도 있다. 컴퓨터 프로그램은 하나 이상의 프로세서에서 실행되는 경우, 인공 지능 기반의 무인 이동체들간의 충돌 회피 경로 생성 방법을 수행하기 위한 이하의 동작들을 수행할 수도 있다.
상기 동작들은, 무인 이동체들의 각각의 위치 정보와 목적지 별 이동 경로 정보를 수신받는 동작; 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수를 판단하는 동작; 을 포함할 수 있다.
상기 동작들은, 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수의 판단이 완료되면, 충돌 발생이 예상되는 무인 이동체들의 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 충돌 발생이 예상되는 무인 이동체들의 각각의 목적지까지의 총 도착 시간을 판단하는 동작; 충돌 발생이 예상되는 총 도착 시간의 판단이 완료되면, 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수와 총 도착 시간 중 적어도 하나가 기 설정된 수준을 만족하는지를 판단하는 동작; 을 포함할 수 있다.
상기 동작들은, 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수와 총 도착 시간 중 적어도 하나가 기 설정된 수준을 만족하지 않으면, 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수와 총 도착 시간 중 적어도 하나를 줄이도록, 기 설정된 복수의 목적지 별 회피 경로 정보 중 인공 지능 모델을 통해 학습되어 추천된 해당 목적지 별 회피 경로 정보를 선택하는 동작; 을 포함할 수 있다.
상기 동작들은, 해당 목적지 별 회피 경로 정보의 선택이 완료되면, 해당 목적지 별 회피 경로 정보에 상응하여 충돌 발생이 예상되는 무인 이동체들의 회피 경로를 생성하는 동작; 을 포함할 수 있다.
여기에서, 해당 목적지 별 회피 경로 정보는, 충돌 발생이 예상되는 무인 이동체들의 목적지까지의 경유 지점과 이동 지점 중 적어도 하나를 기반으로, 충돌 발생이 예상되는 무인 이동체들의 각각의 회피 경로가 설정된 정보일 수 있다.
이때, 회피 경로 생성 동작은, 해당 목적지 별 회피 경로 정보 내에서, 목적지까지의 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나를 판단하고, 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나의 판단이 완료되면, 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나로 이동하는 해당 무인 이동체들을 우선 순위 그룹으로 선정하며, 우선 순위 그룹으로 선정된 해당 무인 이동체들의 각각의 회피 경로를 생성할 수 있다.
또한, 회피 경로 생성 동작은, 우선 순위 그룹으로 선정된 해당 무인 이동체들의 각각의 회피 경로를 생성할 때에, 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나로 이동하는 해당 무인 이동체들 중 해당 무인 이동체들의 각각의 위치 정보를 기반으로 현재 위치에서 양보 가능한 적어도 하나의 해당 무인 이동체를 판단하고, 양보 가능한 적어도 하나의 해당 무인 이동체의 판단이 완료되면, 나머지의 적어도 하나의 해당 무인 이동체의 회피 경로를 생성할 수 있다.
한편, 본 개시는 인공 지능 기반의 무인 이동체들간의 충돌 회피 경로 생성 방법을 제공하기 위한 컴퓨팅 장치로 제공될 수도 있다. 컴퓨팅 장치는, 하나 이상의 코어를 포함하는 프로세서; 및 프로세서에 의해 실행 가능한 인스트럭션들(instructions)을 저장하는 메모리를 포함할 수 있다.
인스트럭션들이 프로세서에 의해 실행될 때, 프로세서는, 무인 이동체들간의 각각의 위치 정보와 목적지 별 이동 경로 정보를 수신받고, 무인 이동체들간의 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수를 판단할 수 있다.
프로세서는, 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수의 판단이 완료되면, 충돌 발생이 예상되는 무인 이동체들의 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 충돌 발생이 예상되는 무인 이동체들의 각각의 목적지까지의 총 도착 시간을 판단할 수 있다.
프로세서는, 충돌 발생이 예상되는 무인 이동체들의 총 도착 시간의 판단이 완료되면, 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수와 총 도착 시간 중 적어도 하나가 기 설정된 수준을 만족하는지를 판단하며, 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수와 총 도착 시간 중 적어도 하나가 상기 기 설정된 수준을 만족하지 않으면, 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수와 총 도착 시간 중 적어도 하나를 줄이도록, 기 설정된 복수의 목적지 별 회피 경로 정보 중 인공 지능 모델을 통해 학습되어 추천된 해당 목적지 별 회피 경로 정보를 선택할 수 있다.
프로세서는, 해당 목적지 별 회피 경로 정보의 선택이 완료되면, 해당 목적지 별 회피 경로 정보에 상응하여 충돌 발생이 예상되는 무인 이동체들의 회피 경로를 생성할 수 있다.
여기에서, 해당 목적지 별 회피 경로 정보는, 충돌 발생이 예상되는 무인 이동체들의 목적지까지의 경유 지점과 이동 지점 중 적어도 하나를 기반으로, 충돌 발생이 예상되는 무인 이동체들의 각각의 회피 경로가 설정된 정보일 수 있다.
이때, 프로세서는, 해당 목적지 별 회피 경로 정보 내에서, 목적지까지의 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나를 판단하고, 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나의 판단이 완료되면, 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나로 이동하는 해당 무인 이동체들을 우선 순위 그룹으로 선정하며, 우선 순위 그룹으로 선정된 해당 무인 이동체들의 각각의 회피 경로를 생성할 수 있다.
또한, 프로세서는, 우선 순위 그룹으로 선정된 해당 무인 이동체들의 각각의 회피 경로를 생성할 때에, 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나로 이동하는 해당 무인 이동체들 중 해당 무인 이동체들의 각각의 위치 정보를 기반으로 현재 위치에서 양보 가능한 적어도 하나의 해당 무인 이동체를 판단하고, 양보 가능한 적어도 하나의 해당 무인 이동체의 판단이 완료되면, 나머지의 적어도 하나의 해당 무인 이동체의 회피 경로를 생성할 수 있다.
도 1 내지 도 3, 도 8에 도시된 구성 요소들의 성능에 대응하여 적어도 하나의 구성요소가 추가되거나 삭제될 수 있다. 또한, 구성 요소들의 상호 위치는 시스템의 성능 또는 구조에 대응하여 변경될 수 있다는 것은 당해 기술 분야에서 통상의 지식을 가진 자에게 용이하게 이해될 것이다.
도 9 내지 도 14는 복수의 단계를 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 9 내지 도 14에 기재된 순서를 변경하여 실행하거나 복수의 단계 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 9 내지 도 14는 시계열적인 순서로 한정되는 것은 아니다.
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 개시가 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안 된다.
1000: 무인 이동체 제어 장치 1010: 제1 통신부
1020: 제어부 1021: 메모리
1022: 프로세서

Claims (10)

  1. 무인 이동체들간의 충돌 회피 경로 생성 방법에 있어서,
    상기 무인 이동체들의 각각의 위치 정보와 목적지 별 이동 경로 정보를 수신받는 단계;
    상기 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수를 판단하는 단계;
    상기 충돌 발생 예상 건수의 판단이 완료되면, 상기 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 상기 충돌 발생이 예상되는 무인 이동체들의 각각의 목적지까지의 총 도착 시간을 판단하는 단계;
    상기 총 도착 시간의 판단이 완료되면, 상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나가 기 설정된 수준을 만족하는지를 판단하는 단계;
    상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나가 상기 기 설정된 수준을 만족하지 않으면, 상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나를 줄이도록, 기 설정된 복수의 목적지 별 회피 경로 정보 중 해당 목적지 별 회피 경로 정보를 선택하는 단계; 및
    상기 해당 목적지 별 회피 경로 정보의 선택이 완료되면, 상기 해당 목적지 별 회피 경로 정보에 상응하여 상기 충돌 발생이 예상되는 무인 이동체들의 회피 경로를 생성하는 단계; 를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 해당 목적지 별 회피 경로 정보는,
    상기 충돌 발생이 예상되는 무인 이동체들의 목적지까지의 경유 지점과 이동 지점 중 적어도 하나를 기반으로, 상기 충돌 발생이 예상되는 무인 이동체들의 각각의 회피 경로가 설정된 정보인 것을 특징으로 하는, 방법.
  3. 제2항에 있어서,
    상기 회피 경로 생성 단계는,
    상기 해당 목적지 별 회피 경로 정보 내에서, 상기 목적지까지의 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나를 판단하고,
    상기 경유 지점과 상기 이동 지점 및 상기 이동 방향 중 적어도 하나의 판단이 완료되면, 상기 경유 지점과 상기 이동 지점 및 상기 이동 방향 중 적어도 하나로 이동하는 해당 무인 이동체들을 우선 순위 그룹으로 선정하며,
    상기 우선 순위 그룹으로 선정된 해당 무인 이동체들의 각각의 회피 경로를 생성하는 것을 특징으로 하는, 방법.
  4. 제3항에 있어서,
    상기 회피 경로 생성 단계는,
    상기 우선 순위 그룹으로 선정된 해당 무인 이동체들의 각각의 회피 경로를 생성할 때에,
    상기 경유 지점과 상기 이동 지점 및 상기 이동 방향 중 적어도 하나로 이동하는 해당 무인 이동체들 중 상기 해당 무인 이동체들의 각각의 위치 정보를 기반으로 현재 위치에서 양보 가능한 적어도 하나의 해당 무인 이동체를 판단하고,
    상기 현재 위치에서 양보 가능한 적어도 하나의 해당 무인 이동체의 판단이 완료되면, 나머지의 적어도 하나의 해당 무인 이동체의 회피 경로를 생성하는 것을 특징으로 하는, 방법.
  5. 무인 이동체들의 각각의 위치 정보와 목적지 별 이동 경로 정보를 수신받도록, 상기 무인 이동체들과 통신을 수행하는 통신부; 및
    상기 무인 이동체들 간의 충돌 회피 경로를 생성하는 동작을 제어하는 프로세서를 포함하고,
    상기 프로세서는,
    상기 각각의 위치 정보와 목적지 별 이동 경로 정보를 수신받으며,
    상기 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수를 판단하고,
    상기 충돌 발생 예상 건수의 판단이 완료되면, 상기 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 상기 충돌 발생이 예상되는 무인 이동체들의 각각의 목적지까지의 총 도착 시간을 판단하며,
    상기 총 도착 시간의 판단이 완료되면, 상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나가 기 설정된 수준을 만족하는지를 판단하고,
    상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나가 상기 기 설정된 수준을 만족하지 않으면, 상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나를 줄이도록, 기 설정된 복수의 목적지 별 회피 경로 정보 중 해당 목적지 별 회피 경로 정보를 선택하며,
    상기 해당 목적지 별 회피 경로 정보의 선택이 완료되면, 상기 해당 목적지 별 회피 경로 정보에 상응하여 상기 충돌 발생이 예상되는 무인 이동체들의 회피 경로를 생성하는 것을 특징으로 하는, 무인 이동체 제어 장치.
  6. 제5항에 있어서,
    상기 해당 목적지 별 회피 경로 정보는,
    상기 충돌 발생이 예상되는 무인 이동체들의 목적지까지의 경유 지점과 이동 지점 중 적어도 하나를 기반으로, 상기 충돌 발생이 예상되는 무인 이동체들의 각각의 회피 경로가 설정된 정보인 것을 특징으로 하는, 무인 이동체 제어 장치.
  7. 제6항에 있어서,
    상기 프로세서는,
    상기 해당 목적지 별 회피 경로 정보 내에서, 상기 목적지까지의 경유 지점과 이동 지점 및 이동 방향 중 적어도 하나를 판단하고,
    상기 경유 지점과 상기 이동 지점 및 상기 이동 방향 중 적어도 하나의 판단이 완료되면, 상기 경유 지점과 상기 이동 지점 및 상기 이동 방향 중 적어도 하나로 이동하는 해당 무인 이동체들을 우선 순위 그룹으로 선정하며,
    상기 우선 순위 그룹으로 선정된 해당 무인 이동체들의 각각의 회피 경로를 생성하는 것을 특징으로 하는, 무인 이동체 제어 장치.
  8. 제7항에 있어서,
    상기 프로세서는,
    상기 우선 순위 그룹으로 선정된 해당 무인 이동체들의 각각의 회피 경로를 생성할 때에,
    상기 경유 지점과 상기 이동 지점 및 상기 이동 방향 중 적어도 하나로 이동하는 해당 무인 이동체들 중 상기 해당 무인 이동체들의 각각의 위치 정보를 기반으로 현재 위치에서 양보 가능한 적어도 하나의 해당 무인 이동체를 판단하고,
    상기 현재 위치에서 양보 가능한 적어도 하나의 해당 무인 이동체의 판단이 완료되면, 나머지의 적어도 하나의 해당 무인 이동체의 회피 경로를 생성하는 것을 특징으로 하는, 무인 이동체 제어 장치.
  9. 삭제
  10. 무인 이동체들간의 충돌 회피 경로 생성 방법을 제공하기 위한 컴퓨팅 장치로서,
    하나 이상의 코어를 포함하는 프로세서; 및
    상기 프로세서에 의해 실행 가능한 인스트럭션들(instructions)을 저장하는 메모리를 포함하며,
    상기 인스트럭션들이 상기 프로세서에 의해 실행될 때, 상기 프로세서는,
    상기 무인 이동체들간의 각각의 위치 정보와 목적지 별 이동 경로 정보를 수신받고,
    상기 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 충돌 발생이 예상되는 무인 이동체들의 충돌 발생 예상 건수를 판단하며,
    상기 충돌 발생 예상 건수의 판단이 완료되면, 상기 각각의 위치 정보와 목적지 별 이동 경로 정보를 기반으로, 상기 충돌 발생이 예상되는 무인 이동체들의 각각의 목적지까지의 총 도착 시간을 판단하고,
    상기 총 도착 시간의 판단이 완료되면, 상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나가 기 설정된 수준을 만족하는지를 판단하며,
    상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나가 상기 기 설정된 수준을 만족하지 않으면, 상기 충돌 발생 예상 건수와 상기 총 도착 시간 중 적어도 하나를 줄이도록, 기 설정된 복수의 목적지 별 회피 경로 정보 중 해당 목적지 별 회피 경로 정보를 선택하고,
    상기 해당 목적지 별 회피 경로 정보의 선택이 완료되면, 상기 해당 목적지 별 회피 경로 정보에 상응하여 상기 충돌 발생이 예상되는 무인 이동체들의 회피 경로를 생성하는 것을 특징으로 하는, 컴퓨팅 장치.
KR1020220109249A 2022-08-30 2022-08-30 무인 이동체 제어 장치, 무인 이동체들간의 충돌 회피 경로 생성 방법 및 컴퓨팅 장치 KR102618100B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020220109249A KR102618100B1 (ko) 2022-08-30 2022-08-30 무인 이동체 제어 장치, 무인 이동체들간의 충돌 회피 경로 생성 방법 및 컴퓨팅 장치
PCT/KR2023/011020 WO2024049023A1 (ko) 2022-08-30 2023-07-28 무인 이동체 제어 장치, 무인 이동체들간의 충돌 회피 경로 생성 방법 및 프로그램
KR1020230187802A KR20240031208A (ko) 2022-08-30 2023-12-21 서비스 로봇의 제어 장치, 목적지 별 회피 경로 정보를 이용한 서비스 로봇들간의 자율 주행 방법 및 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220109249A KR102618100B1 (ko) 2022-08-30 2022-08-30 무인 이동체 제어 장치, 무인 이동체들간의 충돌 회피 경로 생성 방법 및 컴퓨팅 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230187802A Division KR20240031208A (ko) 2022-08-30 2023-12-21 서비스 로봇의 제어 장치, 목적지 별 회피 경로 정보를 이용한 서비스 로봇들간의 자율 주행 방법 및 프로그램

Publications (1)

Publication Number Publication Date
KR102618100B1 true KR102618100B1 (ko) 2023-12-28

Family

ID=89384836

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020220109249A KR102618100B1 (ko) 2022-08-30 2022-08-30 무인 이동체 제어 장치, 무인 이동체들간의 충돌 회피 경로 생성 방법 및 컴퓨팅 장치
KR1020230187802A KR20240031208A (ko) 2022-08-30 2023-12-21 서비스 로봇의 제어 장치, 목적지 별 회피 경로 정보를 이용한 서비스 로봇들간의 자율 주행 방법 및 프로그램

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230187802A KR20240031208A (ko) 2022-08-30 2023-12-21 서비스 로봇의 제어 장치, 목적지 별 회피 경로 정보를 이용한 서비스 로봇들간의 자율 주행 방법 및 프로그램

Country Status (2)

Country Link
KR (2) KR102618100B1 (ko)
WO (1) WO2024049023A1 (ko)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2814577B2 (ja) 1989-06-20 1998-10-22 神鋼電機株式会社 移動ロボットの走行制御方法
JPH11259131A (ja) * 1998-03-13 1999-09-24 Nippon Steel Corp 無人搬送台車の干渉防止制御システムおよび方法、記録媒体
KR20150137166A (ko) * 2014-05-28 2015-12-09 고려대학교 산학협력단 복수의 이동 로봇 간의 충돌 회피를 위한 경로 생성 방법
KR20170077319A (ko) * 2015-12-28 2017-07-06 자동차부품연구원 객체와의 충돌 회피 장치 및 방법
KR20200141236A (ko) * 2019-06-10 2020-12-18 아주대학교산학협력단 무인항공기의 충돌 회피 방법 및 이를 이용하는 장치
KR20220005887A (ko) * 2020-07-07 2022-01-14 주식회사 한화 무인 반송 차량의 충돌 방지 장치 및 그 방법
KR20220107344A (ko) * 2021-01-25 2022-08-02 주식회사 트위니 장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2814577B2 (ja) 1989-06-20 1998-10-22 神鋼電機株式会社 移動ロボットの走行制御方法
JPH11259131A (ja) * 1998-03-13 1999-09-24 Nippon Steel Corp 無人搬送台車の干渉防止制御システムおよび方法、記録媒体
KR20150137166A (ko) * 2014-05-28 2015-12-09 고려대학교 산학협력단 복수의 이동 로봇 간의 충돌 회피를 위한 경로 생성 방법
KR20170077319A (ko) * 2015-12-28 2017-07-06 자동차부품연구원 객체와의 충돌 회피 장치 및 방법
KR20200141236A (ko) * 2019-06-10 2020-12-18 아주대학교산학협력단 무인항공기의 충돌 회피 방법 및 이를 이용하는 장치
KR20220005887A (ko) * 2020-07-07 2022-01-14 주식회사 한화 무인 반송 차량의 충돌 방지 장치 및 그 방법
KR20220107344A (ko) * 2021-01-25 2022-08-02 주식회사 트위니 장애물에 의한 이동 로봇의 제어 시스템 및 그 제어 방법

Also Published As

Publication number Publication date
KR20240031208A (ko) 2024-03-07
WO2024049023A1 (ko) 2024-03-07

Similar Documents

Publication Publication Date Title
JP2020509966A (ja) 自律車両用の行動計画システム及び方法
US10288437B2 (en) Routing with data version stitching
CN110989636A (zh) 一种障碍物的轨迹预测方法及装置
Premebida et al. Dynamic bayesian network for semantic place classification in mobile robotics
US20210174209A1 (en) Neural network obtaining method and related device
KR20210061268A (ko) 진행 방향 제약이 있는 추종 로봇 경로 계획 방법 및 시스템
Tran et al. Goal-driven long-term trajectory prediction
Mohammed et al. RRT* N: An efficient approach to path planning in 3D for Static and Dynamic Environments
CN111062372B (zh) 一种预测障碍物轨迹的方法及装置
Bighashdel et al. A survey on path prediction techniques for vulnerable road users: From traditional to deep-learning approaches
Couceiro et al. A PSO multi-robot exploration approach over unreliable MANETs
KR102537381B1 (ko) 보행경로예측장치
Gu et al. DM-DQN: Dueling Munchausen deep Q network for robot path planning
Zhou et al. Lightweight unmanned aerial vehicle video object detection based on spatial‐temporal correlation
Zeng et al. A two-stage path planning approach for multiple car-like robots based on PH curves and a modified harmony search algorithm
KR102618100B1 (ko) 무인 이동체 제어 장치, 무인 이동체들간의 충돌 회피 경로 생성 방법 및 컴퓨팅 장치
Gupta et al. Synergetic fusion of Reinforcement Learning, Grey Wolf, and Archimedes optimization algorithms for efficient health emergency response via unmanned aerial vehicle
CN114559439B (zh) 一种移动机器人智能避障控制方法、装置和电子设备
KR20210042537A (ko) 대면적의 공간에서 로컬 영역별로 위치를 추정하는 방법 및 이를 구현하는 로봇과 클라우드 서버
Azam et al. Decentralized formation shape control of UAV swarm using dynamic programming
ALPARSLAN et al. Comparison of object detection and classification methods for mobile robots
CN115803587A (zh) 模型生成装置及方法、路径搜索装置以及模型生成程序
Li et al. Multi-UAV cooperative exploring for the unknown indoor environment based on dynamic target tracking
Zhang et al. A formation cooperative reconnaissance strategy for multi-UGVs in partially unknown environment
Zhu et al. Research on AGV path tracking method based on global vision and reinforcement learning

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant