KR20210108479A - Systems and methods for route planning - Google Patents

Systems and methods for route planning Download PDF

Info

Publication number
KR20210108479A
KR20210108479A KR1020217024785A KR20217024785A KR20210108479A KR 20210108479 A KR20210108479 A KR 20210108479A KR 1020217024785 A KR1020217024785 A KR 1020217024785A KR 20217024785 A KR20217024785 A KR 20217024785A KR 20210108479 A KR20210108479 A KR 20210108479A
Authority
KR
South Korea
Prior art keywords
node
map
target
nodes
vehicles
Prior art date
Application number
KR1020217024785A
Other languages
Korean (ko)
Other versions
KR102643759B1 (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 저지앙 화레이 테크놀로지 컴퍼니., 리미티드.
Publication of KR20210108479A publication Critical patent/KR20210108479A/en
Application granted granted Critical
Publication of KR102643759B1 publication Critical patent/KR102643759B1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3885Transmission of map data to client devices; Reception of map data by client devices
    • G01C21/3889Transmission of selected map data, e.g. depending on route
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3461Preferred or disfavoured areas, e.g. dangerous zones, toll or emission zones, intersections, manoeuvre types, segments such as motorways, toll roads, ferries
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3492Special cost functions, i.e. other than distance or default speed limit of road segments employing speed data or traffic data, e.g. real-time or historical
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/3614Destination input or retrieval through interaction with a road map, e.g. selecting a POI icon on a road map
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • G01C21/3874Structures specially adapted for data searching and retrieval
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096805Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route
    • G08G1/096811Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route where the route is computed offboard
    • G08G1/096816Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route where the route is computed offboard where the complete route is transmitted to the vehicle at once
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096833Systems involving transmission of navigation instructions to the vehicle where different aspects are considered when computing the route
    • G08G1/09685Systems involving transmission of navigation instructions to the vehicle where different aspects are considered when computing the route where the complete route is computed only once and not updated
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096855Systems involving transmission of navigation instructions to the vehicle where the output is provided in a suitable form to the driver
    • G08G1/096866Systems involving transmission of navigation instructions to the vehicle where the output is provided in a suitable form to the driver where the complete route is shown to the driver
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096877Systems involving transmission of navigation instructions to the vehicle where the input to the navigation device is provided by a suitable I/O arrangement
    • G08G1/096883Systems involving transmission of navigation instructions to the vehicle where the input to the navigation device is provided by a suitable I/O arrangement where input information is obtained using a mobile device, e.g. a mobile phone, a PDA

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Operations Research (AREA)
  • Instructional Devices (AREA)
  • Traffic Control Systems (AREA)

Abstract

본 개시는 경로 계획을 위한 방법을 제공할 수 있다. 방법은 타겟 차량의 출발 위치 및 목적지를 획득하는 단계를 포함할 수 있다. 방법은 또한 출발 위치 및 목적지를 포함하는 타겟 지역의 맵를 획득하는 단계를 포함할 수 있다. 맵은 복수의 노드들 각각의 노드 정보를 포함할 수 있다. 또한, 방법은 타겟 지역에서 타겟 차량과는 다른 하나 이상의 차량들과 연관된 움직임 상태 정보를 획득하는 단계를 포함할 수 있다. 방법은 출발 위치, 목적지, 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 맵에 적어도 부분적으로 기초하여 타겟 차량의 타겟 경로를 결정하는 단계를 포함할 수 있다.The present disclosure may provide a method for route planning. The method may include obtaining a starting location and a destination of the target vehicle. The method may also include obtaining a map of the target area including the starting location and the destination. The map may include node information of each of the plurality of nodes. Further, the method may include obtaining motion state information associated with one or more vehicles different from the target vehicle in the target area. The method may include determining a target path of the target vehicle based at least in part on the departure location, the destination, motion state information associated with the one or more vehicles, and the map.

Description

경로 계획을 위한 시스템 및 방법Systems and methods for route planning

관련 출원의 상호 참조Cross-references to related applications

본 출원은, 그 전체 내용이 여기에서 참조로서 통합되는, 2019년 1월 14일에 출원된, 중국 특허 출원 번호 201910032301.5호의 우선권을 주장한다.This application claims priority to Chinese Patent Application No. 201910032301.5, filed on January 14, 2019, the entire contents of which are incorporated herein by reference.

본 개시는 일반적으로 경로 계획(route planning)에 관한 것으로, 특히 맵(예를 들어, 토폴로지 맵)에 기초한 경로 계획을 위한 시스템 및 방법에 관한 것이다.BACKGROUND This disclosure relates generally to route planning, and more particularly to systems and methods for route planning based on maps (eg, topological maps).

자동화 기술과 컴퓨터 기술의 발달로 운송 차량(예를 들어, 자동으로 안내되는 차량(automated guided vehicles))의 경로 계획 탐색이 오늘날 빠르게 발전하고 있다. 일반적으로, 차량의 경우, 경로 계획 시스템은 복수의 노드들 및 그 노드 정보(예를 들어, 노드의 통행 가능성(passability))를 포함할 수 있는 맵(예를 들어, 토폴로지 맵, 그리드 맵)에 기초하여 출발 위치에서 목적지까지의 경로를 결정할 수 있다. 그러나, 일부 경우들에서, 다른 차량들의 움직임 정보가 노드들의 노드 정보(예를 들어, 통행 가능성)에 영향을 미칠 수 있으며, 따라서 이는 경로 계획의 정확성 및 효율성에 영향을 미칠 수 있다. BACKGROUND With the development of automation technology and computer technology, route planning navigation of transport vehicles (eg, automated guided vehicles) is rapidly developing today. In general, in the case of a vehicle, the route planning system is located on a map (eg, topology map, grid map) that may include a plurality of nodes and their node information (eg, the passability of the node). It is possible to determine a route from the starting location to the destination based on the. However, in some cases, motion information of other vehicles may affect node information (eg, passability) of nodes, thus affecting the accuracy and efficiency of route planning.

따라서, 움직임 정보를 고려한 정확하고 효율적인 경로 계획을 위한 시스템들 및 방법들을 제공하는 것이 바람직하다.Accordingly, it is desirable to provide systems and methods for accurate and efficient path planning in consideration of motion information.

본 발명의 제1 양상에서, 토폴로지 맵에 기초하여 자동 안내 차량(AGV: Automatic Guided Vehicle)에 대한 경로 계획을 위한 방법이 제공될 수 있다. 방법은 스케줄링 시스템에 대응하는 토폴로지 맵을 획득하는 단계; 상기 토폴로지 맵을 전처리하여 상기 스케줄링 시스템에서 복수의 AGV들과 연관된 움직임 상태 정보 및 상기 토폴로지 맵에서 상기 복수의 AGV들에 의해 점유되는 복수의 노드들에 기초하여 상기 토폴로지 맵의 노드 정보를 수정함으로써 수정된 토폴로지 맵을 획득하는 단계; 상기 수정된 토폴로지 맵에서 현재 AGV의 출발 노드와 목적지 노드를 결정하는 단계; 상기 수정된 토폴로지 맵의 노드 정보에 기초하여, 상기 출발 노드와 상기 목적지 노드 사이의 복수의 노드들과 연관된 복수의 총 비용들을 결정하는 단계; 및 상기 복수의 총 비용들에 기초하여 상기 현재 AGV에 대한 경로 계획을 수행하는 단계를 포함한다. In a first aspect of the present invention, a method may be provided for route planning for an Automatic Guided Vehicle (AGV) based on a topology map. The method includes: obtaining a topology map corresponding to a scheduling system; Modification by preprocessing the topology map and modifying node information of the topology map based on motion state information associated with a plurality of AGVs in the scheduling system and a plurality of nodes occupied by the plurality of AGVs in the topology map obtaining a topology map; determining a departure node and a destination node of the current AGV from the modified topology map; determining, based on node information of the modified topology map, a plurality of total costs associated with a plurality of nodes between the departure node and the destination node; and performing route planning for the current AGV based on the plurality of total costs.

본 발명의 제2 양상에서, 토폴로지 맵에 기초하여 자동 안내 차량(AGV)에 대한 경로 계획을 위한 디바이스가 제공될 수 있다. 상기 디바이스는 적어도 하나의 프로세서 및 프로그램 코드들을 저장하는 적어도 하나의 저장소를 포함할 수 있다. 상기 프로그램 코드들이 적어도 하나의 프로세서에 의해 실행될 때, 상기 프로그램 코드들은 적어도 하나의 프로세서에 방법을 수행하도록 지시할 수 있다. 방법은 스케줄링 시스템에 대응하는 토폴로지 맵을 획득하는 단계; 상기 토폴로지 맵을 전처리하여 상기 스케줄링 시스템에서 복수의 AGV들과 연관된 움직임 상태 정보 및 상기 토폴로지 맵에서 상기 복수의 AGV들에 의해 점유되는 복수의 노드들에 기초하여 상기 토폴로지 맵의 노드 정보를 수정함으로써 수정된 토폴로지 맵을 획득하는 단계; 상기 수정된 토폴로지 맵에서 현재 AGV의 출발 노드와 목적지 노드를 결정하는 단계; 상기 수정된 토폴로지 맵의 노드 정보에 기초하여, 상기 출발 노드와 상기 목적지 노드 사이의 복수의 노드들과 연관된 복수의 총 비용들을 결정하는 단계; 및 상기 복수의 총 비용들에 기초하여 상기 현재 AGV에 대한 경로 계획을 수행하는 단계를 포함한다. In a second aspect of the invention, a device may be provided for route planning for an automatically guided vehicle (AGV) based on a topology map. The device may include at least one processor and at least one storage for storing program codes. When the program codes are executed by the at least one processor, the program codes may instruct the at least one processor to perform the method. The method includes: obtaining a topology map corresponding to a scheduling system; Modification by preprocessing the topology map and modifying node information of the topology map based on motion state information associated with a plurality of AGVs in the scheduling system and a plurality of nodes occupied by the plurality of AGVs in the topology map obtaining a topology map; determining a departure node and a destination node of the current AGV from the modified topology map; determining, based on node information of the modified topology map, a plurality of total costs associated with a plurality of nodes between the departure node and the destination node; and performing route planning for the current AGV based on the plurality of total costs.

본 개시의 제3 양상에서, 컴퓨터 판독 가능 저장한 매체가 제공될 수 있다. 상기 컴퓨터 판독 가능한 저장 매체는 적어도 하나의 프로세서에 의해 실행될 때, 방법이 수행될 수 있는 컴퓨터 프로그램들을 포함할 수 있다. 방법은 스케줄링 시스템에 대응하는 토폴로지 맵을 획득하는 단계; 상기 토폴로지 맵을 전처리하여 상기 스케줄링 시스템에서 복수의 AGV들과 연관된 움직임 상태 정보 및 상기 토폴로지 맵에서 상기 복수의 AGV들에 의해 점유되는 복수의 노드들에 기초하여 상기 토폴로지 맵의 노드 정보를 수정함으로써 수정된 토폴로지 맵을 획득하는 단계; 상기 수정된 토폴로지 맵에서 현재 AGV의 출발 노드와 목적지 노드를 결정하는 단계; 상기 수정된 토폴로지 맵의 노드 정보에 기초하여, 상기 출발 노드와 상기 목적지 노드 사이의 복수의 노드들과 연관된 복수의 총 비용들을 결정하는 단계; 및 상기 복수의 총 비용들에 기초하여 상기 현재 AGV에 대한 경로 계획을 수행하는 단계를 포함한다. In a third aspect of the present disclosure, a computer-readable storage medium may be provided. The computer-readable storage medium may include computer programs that, when executed by at least one processor, may perform a method. The method includes: obtaining a topology map corresponding to a scheduling system; Modification by preprocessing the topology map and modifying node information of the topology map based on motion state information associated with a plurality of AGVs in the scheduling system and a plurality of nodes occupied by the plurality of AGVs in the topology map obtaining a topology map; determining a departure node and a destination node of the current AGV from the modified topology map; determining, based on node information of the modified topology map, a plurality of total costs associated with a plurality of nodes between the departure node and the destination node; and performing route planning for the current AGV based on the plurality of total costs.

본 개시의 제4 양상에서, 경로 계획을 위한 시스템이 제공될 수 있다. 상기 경로 계획을 위한 시스템은 명령들의 세트를 포함하는 적어도 하나의 저장 디바이스 및 상기 적어도 하나의 저장 디바이스와 통신하는 적어도 하나의 프로세서를 포함할 수 있다. 상기 명령들의 세트를 실행할 때, 상기 적어도 하나의 프로세서는 시스템으로 하여금: 타겟 차량의 출발 위치 및 목적지를 획득하고; 상기 출발 위치 및 상기 목적지를 포함하는 타겟 지역의 맵을 획득하고 - 상기 맵은 복수의 노드들 각각의 노드 정보를 포함함 -; 상기 타겟 지역에서 상기 타겟 차량과는 다른 하나 이상의 차량들과 연관된 움직임 상태 정보를 획득하고; 상기 출발 위치, 상기 목적지, 상기 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 상기 맵에 적어도 부분적으로 기초하여 상기 타겟 차량의 타겟 경로를 결정하게 하도록 구성될 수 있다. In a fourth aspect of the present disclosure, a system for route planning may be provided. The system for path planning may include at least one storage device including a set of instructions and at least one processor in communication with the at least one storage device. Upon executing the set of instructions, the at least one processor causes the system to: obtain a starting location and a destination of a target vehicle; obtain a map of a target area including the starting location and the destination, the map including node information of each of a plurality of nodes; obtain motion state information associated with one or more vehicles different from the target vehicle in the target area; determine a target route of the target vehicle based at least in part on the starting location, the destination, motion state information associated with the one or more vehicles, and the map.

본 개시의 제5 양상에서, 방법이 제공될 수 있다. 상기 방법은 적어도 하나의 프로세서, 적어도 하나의 저장 매체, 및 네트워크에 연결된 통신 플랫폼을 포함하는 컴퓨팅 디바이스에서 구현될 수 있다. 상기 방법은 타겟 차량의 출발 위치 및 목적지를 획득하는 단계; 상기 출발 위치 및 상기 목적지를 포함하는 타겟 지역의 맵을 획득하는 단계로서, 상기 맵은 복수의 노드들 각각의 노드 정보를 포함하는, 타겟 지역의 맵을 획득하는 단계; 상기 타겟 지역에서 상기 타겟 차량과는 다른 하나 이상의 차량들과 연관된 움직임 상태 정보를 획득하는 단계; 및 상기 출발 위치, 상기 목적지, 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 상기 맵에 적어도 부분적으로 기초하여 상기 타겟 차량의 타겟 경로를 결정하는 단계는 단계를 포함할 수 있다. In a fifth aspect of the present disclosure, a method may be provided. The method may be implemented in a computing device comprising at least one processor, at least one storage medium, and a communication platform coupled to a network. The method includes: acquiring a starting location and a destination of a target vehicle; obtaining a map of a target area including the starting location and the destination, wherein the map includes node information of each of a plurality of nodes; obtaining a map of the target area; obtaining motion state information associated with one or more vehicles different from the target vehicle in the target area; and determining a target route of the target vehicle based at least in part on the departure location, the destination, motion state information associated with one or more vehicles, and the map.

본 개시의 제6 양상에서, 경로 계획을 위한 시스템이 제공될 수 있다. 상기 시스템은 타겟 차량의 출발 위치 및 목적지를 획득하도록 구성된 위치 획득 모듈; 상기 출발 위치 및 상기 목적지를 포함하는 타겟 지역의 맵를 획득하도록 구성된 맵 획득 모듈로서, 상기 맵은 복수의 노드들 각각의 노드 정보를 포함하는, 상기 맵 획득 모듈; 상기 타겟 지역에서 상기 타겟 차량과는 다른 하나 이상의 차량들과 연관된 움직임 상태 정보를 획득하도록 구성된 움직임 상태 획득 모듈; 및 상기 출발 위치, 상기 목적지, 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 상기 맵에 적어도 부분적으로 기초하여 상기 타겟 차량의 타겟 경로를 결정하도록 구성된 경로 결정 모듈을 포함할 수 있다. In a sixth aspect of the present disclosure, a system for route planning may be provided. The system includes a location obtaining module configured to obtain a starting location and a destination of the target vehicle; a map acquiring module configured to acquire a map of a target area including the departure location and the destination, wherein the map includes node information of each of a plurality of nodes; a motion status obtaining module configured to obtain motion status information associated with one or more vehicles different from the target vehicle in the target area; and a route determination module configured to determine a target route of the target vehicle based at least in part on the departure location, the destination, motion state information associated with one or more vehicles, and the map.

본 개시의 제7 양상에서, 비 일시적 컴퓨터 판독 가능한 매체가 제공될 수 있다. 상기 비 일시적 컴퓨터 판독 가능한 매체는 적어도 하나의 프로세서에 의해 실행될 때 적어도 하나의 프로세서에 방법을 수행하도록 지시할 수 있는 실행 가능한 명령들을 포함할 수 있다. 상기 방법은 타겟 차량의 출발 위치 및 목적지를 획득하는 단계; 상기 출발 위치 및 상기 목적지를 포함하는 타겟 지역의 맵을 획득하는 단계로서, 상기 맵은 복수의 노드들 각각의 노드 정보를 포함하는, 타겟 지역의 맵을 획득하는 단계; 상기 타겟 지역에서 상기 타겟 차량과는 다른 하나 이상의 차량들과 연관된 움직임 상태 정보를 획득하는 단계; 및 상기 출발 위치, 상기 목적지, 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 상기 맵에 적어도 부분적으로 기초하여 상기 타겟 차량의 타겟 경로를 결정하는 단계는 단계를 포함할 수 있다. In a seventh aspect of the present disclosure, a non-transitory computer-readable medium may be provided. The non-transitory computer-readable medium may include executable instructions that, when executed by the at least one processor, instruct the at least one processor to perform the method. The method includes: acquiring a starting location and a destination of a target vehicle; obtaining a map of a target area including the starting location and the destination, wherein the map includes node information of each of a plurality of nodes; obtaining a map of the target area; obtaining motion state information associated with one or more vehicles different from the target vehicle in the target area; and determining a target route of the target vehicle based at least in part on the departure location, the destination, motion state information associated with one or more vehicles, and the map.

부가적인 특징들이 이어지는 설명에서 부분적으로 제시될 것이며, 부분적으로 다음의 및 수반된 도면들의 검사 시 이 기술분야의 숙련자들에게 명백할 것이거나 또는 예들의 생성 또는 동작에 의해 학습될 수 있다. 본 개시의 특징들은 이하에서 논의되는 상세한 예들에 제시된 방법들, 수단들 및 조합들의 다양한 양상들의 실시 또는 사용에 의해 실현되고 달성될 수 있다.Additional features will be set forth in part in the description that follows, and in part will be apparent to those skilled in the art upon examination of the following and accompanying drawings, or may be learned by making or operating examples. Features of the present disclosure may be realized and attained by the practice or use of various aspects of the methods, means and combinations set forth in the detailed examples discussed below.

본 개시는 전형적인 실시예들에 대하여 추가로 설명된다. 이들 전형적인 실시예들은 도면들을 참조하여 상세하게 설명된다. 도면들은 축척으로 되지 않았다. 이들 실시예들은 비-제한적인 도식적인 실시예들이며, 여기에서 유사한 참조 숫자들은 도면들의 여러 부분들 전체에 걸쳐 유사한 구조들을 나타낸다:
도 1은 본 개시의 몇몇 실시예들에 따른 전형적인 경로 계획 시스템을 도시하는 개략도이다.
도 2는 본 개시의 일부 실시예들에 따른 전형적인 컴퓨팅 디바이스의 전형적인 하드웨어 및/또는 소프트웨어 구성요소들을 도시하는 개략도이다.
도 3은 본 개시의 일부 실시예들에 따른 전형적인 모바일 디바이스의 전형적인 하드웨어 및/또는 소프트웨어 구성요소들을 도시하는 개략도이다.
도 4는 본 개시의 일부 실시예들에 따른 토폴로지 맵에 기초하는 자동 안내 차량(AGV)에 대한 경로 계획을 위한 전형적인 프로세스를 도시하는 흐름도이다.
도 5는 본 개시의 일부 실시예들에 따른 AGV에 대한 경로 계획을 위한 전형적인 프로세스를 도시하는 흐름도이다.
도 6은 본 개시의 몇몇 실시예들에 따른 전형적인 프로세싱 디바이스를 도시하는 블록도이다;
도 7은 본 개시의 일부 실시예들에 따른 타겟 차량의 타겟 경로를 결정하기 위한 전형적인 프로세스를 도시하는 흐름도이다.
도 8은 본 개시의 일부 실시예들에 따른 타겟 차량의 타겟 경로를 결정하기 위한 전형적인 프로세스를 도시하는 흐름도이다.
도 9는 본 개시의 일부 실시예들에 따른 태스크(task)를 할당하기 위한 전형적인 프로세스를 도시하는 흐름도이다.
도 10은 본 개시의 일부 실시예들에 따른 노드의 전형적인 노드 정보를 도시하는 개략도이다.
도 11은 본 개시의 일부 실시예들에 따른 정지된 차량과 연관된 전형적인 노드들 및 이동하는 정지된 차량과 연관된 전형적인 노드들을 도시하는 개략도이다.
The present disclosure is further described with respect to exemplary embodiments. These exemplary embodiments are described in detail with reference to the drawings. The drawings are not to scale. These embodiments are non-limiting schematic embodiments, wherein like reference numerals indicate like structures throughout the various parts of the drawings:
1 is a schematic diagram illustrating an exemplary route planning system in accordance with some embodiments of the present disclosure.
2 is a schematic diagram illustrating typical hardware and/or software components of a typical computing device in accordance with some embodiments of the present disclosure.
3 is a schematic diagram illustrating typical hardware and/or software components of a typical mobile device in accordance with some embodiments of the present disclosure.
4 is a flowchart illustrating an exemplary process for route planning for an automatically guided vehicle (AGV) based on a topology map in accordance with some embodiments of the present disclosure.
5 is a flowchart illustrating an exemplary process for route planning for an AGV in accordance with some embodiments of the present disclosure.
6 is a block diagram illustrating an exemplary processing device in accordance with some embodiments of the present disclosure;
7 is a flowchart illustrating an exemplary process for determining a target path of a target vehicle in accordance with some embodiments of the present disclosure.
8 is a flowchart illustrating an exemplary process for determining a target path of a target vehicle in accordance with some embodiments of the present disclosure.
9 is a flow diagram illustrating an exemplary process for allocating a task in accordance with some embodiments of the present disclosure.
10 is a schematic diagram illustrating typical node information of a node according to some embodiments of the present disclosure.
11 is a schematic diagram illustrating exemplary nodes associated with a stationary vehicle and exemplary nodes associated with a moving stationary vehicle in accordance with some embodiments of the present disclosure.

다음의 상세한 설명에서, 다수의 특정 세부사항들이 관련된 개시의 철저한 이해를 제공하기 위해 예들로서 제시된다. 그러나, 본 개시는 이러한 세부사항들 없이 실시될 수 있다는 것이 이 기술분야의 숙련자들에게 명백해야 한다. 다른 인스턴스들에서, 잘 알려진 방법들, 절차들, 시스템들, 구성요소들, 및/또는 회로가, 본 개시의 양상들을 불필요하게 모호하게 하는 것을 피하기 위해, 세부사항 없이, 비교적 고-레벨로 설명되었다. 개시된 실시예들에 대한 다양한 수정들이 이 기술분야의 숙련자들에게 쉽게 명백할 것이며, 여기에서 정의된 일반적인 원리들은 본 개시의 사상 및 범위로부터 벗어나지 않고 다른 실시예들 및 애플리케이션들에 적용될 수 있다. 따라서, 본 개시는 도시된 실시예들에 제한되지 않으며, 청구항들과 일치하는 가장 넓은 범위를 부여받는다. In the following detailed description, numerous specific details are set forth as examples in order to provide a thorough understanding of the related disclosure. However, it should be apparent to those skilled in the art that the present disclosure may be practiced without these details. In other instances, well-known methods, procedures, systems, components, and/or circuitry have been described at a relatively high-level, without detail, in order to avoid unnecessarily obscuring aspects of the present disclosure. became Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the disclosure. Accordingly, the present disclosure is not limited to the illustrated embodiments, but is to be accorded the widest scope consistent with the claims.

여기에서 사용된 용어는 단지 특정한 예시적인 실시예들을 설명할 목적을 위한 것이며 제한적이도록 의도되지 않는다. 여기에서 사용된 바와 같이, 단수형 형태들("a", "an", 및 "the")은, 문맥이 달리 명확하게 표시하지 않는다면, 또한 복수형 형태들을 포함하도록 의도될 수 있다. 용어들("포함하다", 및/또는 "포함하는", "포함시키다", 및/또는 "포함시키는")은, 본 명세서에서 사용될 때, 서술된 특징들, 정수들, 단계들, 동작들, 요소들, 및/또는 구성요소들의 존재를 특정하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 요소들, 구성요소들, 및/또는 그것의 그룹들의 존재 도는 부가를 배제하지 않는다는 것이 또한 이해될 것이다. The terminology used herein is for the purpose of describing particular exemplary embodiments only and is not intended to be limiting. As used herein, singular forms "a", "an", and "the" may also be intended to include plural forms, unless the context clearly dictates otherwise. The terms "comprises," and/or "comprising," "includes," and/or "comprising," as used herein, refer to the described features, integers, steps, and operations. , elements, and/or elements, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, elements, and/or groups thereof. It will also be understood that no

여기에서 사용된 용어들("시스템", "유닛", "모듈", 및/또는 "블록")은 오름차순으로 상이한 레벨들의 상이한 구성요소들, 요소들, 부분들, 섹션들 또는 어셈블리들을 구별하기 위한 하나의 방법이라는 것이 이해될 것이다. 그러나, 용어들은 그것들이 동일한 목적을 달성한다면 또 다른 표현으로 대체될 수 있다. The terms "system," "unit," "module," and/or "block", as used herein, are used herein to distinguish between different components, elements, parts, sections, or assemblies at different levels in ascending order. It will be understood that this is one way for However, terms may be replaced by another expression if they serve the same purpose.

본 개시에 설명된 모듈들(또는, 유닛들, 블록들, 유닛들)은 소프트웨어 및/또는 하드웨어 모듈들로서 구현될 수 있으며, 임의의 유형의 비 일시적 컴퓨터 판독 가능한 매체 또는 또 다른 저장 디바이스들에 저장될 수 있다. 몇몇 실시예들에서, 소프트웨어 모듈은 컴파일링되고 실행 가능한 프로그램으로 링크될 수 있다. 소프트웨어 모듈들은 다른 모듈들 또는 자체로로부터 호출 가능할 수 있으며, 및/또는 검출된 이벤트들 또는 인터럽트들에 응답하여 호출될 수 있다는 것이 이해될 것이다. 컴퓨팅 디바이스들 상에서의 실행을 위해 구성된 소프트웨어 모듈들은 컴팩트 디스크, 디지털 비디오 디스크, 플래시 드라이브, 자기 디스크, 또는 임의의 다른 유형의 매체와 같은, 컴퓨터-판독 가능한 매체상에서, 또는 디지털 다운로드로서(및 실행 이전에 설치, 압축 해제, 또는 복호화를 요구하는 압축된 또는 설치 가능한 포맷으로 원래 저장될 수 있는) 제공될 수 있다. 이러한 소프트웨어 코드는 컴퓨팅 디바이스에 의한 실행을 위해, 실행한 컴퓨팅 디바이스의 메모리 디바이스에, 부분적으로 또는 완전히 저장될 수 있다. 소프트웨어 명령들은, EPROM과 같은, 펌웨어에 포함될 수 있다. 하드웨어 모듈들(예를 들어, 회로들)은 게이트들 및 플립-플롭들과 같은, 연결된 또는 결합된 로직 유닛들에 포함될 수 있으며, 및/또는 프로그램 가능한 게이트 어레이들 또는 프로세서들과 같은, 프로그램 가능한 유닛들에 포함될 수 있다는 것이 또한 이해될 것이다. 여기에 설명된 모듈들 또는 컴퓨팅 디바이스 기능은 바람직하게는 하드웨어 모듈들로 구현되지만, 소프트웨어 모듈들이 될 수도 있다. 일반적으로, 여기에 설명된 모들들은 다른 모듈들과 결합되거나 또는 그들의 물리적 구성이나 스토리지에도 불구하고 유닛들로 분할될 수 있는 논리 모듈들로 지칭된다.The modules (or units, blocks, units) described in this disclosure may be implemented as software and/or hardware modules, and stored in any tangible non-transitory computer-readable medium or other storage devices. can be In some embodiments, a software module may be linked into a compiled and executable program. It will be appreciated that software modules may be callable from other modules or themselves, and/or may be invoked in response to detected events or interrupts. Software modules configured for execution on computing devices may be stored on a computer-readable medium, such as a compact disk, digital video disk, flash drive, magnetic disk, or any other type of medium, or as a digital download (and prior to execution). (which may be originally stored in a compressed or installable format) requiring installation, decompression, or decryption in Such software code may be partially or fully stored in a memory device of the executing computing device for execution by the computing device. Software instructions may be included in firmware, such as an EPROM. Hardware modules (eg, circuits) may be included in connected or coupled logic units, such as gates and flip-flops, and/or programmable, such as programmable gate arrays or processors. It will also be understood that units may be included. The modules or computing device functionality described herein are preferably implemented in hardware modules, but may also be software modules. In general, the modules described herein are referred to as logical modules that can be combined with other modules or divided into units regardless of their physical configuration or storage.

유닛, 엔진, 모듈, 또는 블록이 또 다른 유닛, 엔진, 모듈, 또는 블록 "상에", "~에 연결되어", 또는 "~에 결합되어" 있는 것으로 나타내어질 때, 그것은 다른 유닛, 엔진, 모듈, 또는 블록 상에 바로 있고, 연결되거나 또는 결합될 수 있거나, 또는 문맥이 달리 명확하게 표시하지 않는다면, 매개 유닛, 엔진, 모듈, 또는 블록이 존재할 수 있다. 여기에서 사용된 바와 같이, 용어("및/또는")는 연관된 나열된 아이템들 중 하나 이상의 임의의 및 모든 조합들을 포함한다. When a unit, engine, module, or block is referred to as being “on,” “connected to,” or “coupled to” another unit, engine, module, or block, it is another unit, engine, module, or block. There may be intermediary units, engines, modules, or blocks that are directly on, connected, or combined on a module, or block, or unless the context clearly dictates otherwise. As used herein, the term (“and/or”) includes any and all combinations of one or more of the associated listed items.

본 개시의 이들 및 다른 특징들, 및 특성들, 뿐만 아니라 구조의 관련 요소들 및 부품들의 조합의 동작 및 기능들의 방법들 및 제조의 경제학들은, 모두가, 본 개시의 부분을 형성하는, 첨부된 도면들을 참조하여 다음의 설명의 고려 시 보다 명백해질 것이다. 그러나, 도면들은 단지 예시 및 설명의 목적을 위한 것이며, 본 개시의 범위를 제한하도록 의도되지 않는다는 것이 명확하게 이해될 것이다. These and other features, and characteristics of the present disclosure, as well as methods of operation and functions of combinations of related elements and parts of the structure, and economics of manufacture, all form part of the appended It will become more apparent upon consideration of the following description with reference to the drawings. However, it will be clearly understood that the drawings are for purposes of illustration and description only, and are not intended to limit the scope of the present disclosure.

본 개시에서 사용된 흐름도들은 본 개시의 일부 실시예들에 따라 시스템들이 구현되는 동작들을 예시한다. 흐름도들의 동작들이 순서대로 구현되지 않을 수 있음을 분명히 이해해야 한다. 반대로, 동작들은 역순으로 또는 동시에 구현될 수도 있다. 또한, 하나 이상의 다른 동작들이 흐름도들에 추가될 수도 있다. 하나 이상의 동작들이 흐름도들에서 제거될 수도 있다. The flowcharts used in this disclosure illustrate operations in which systems are implemented in accordance with some embodiments of the present disclosure. It should be clearly understood that the operations in the flowcharts may not be implemented in order. Conversely, the operations may be implemented in reverse order or concurrently. Also, one or more other operations may be added to the flowcharts. One or more operations may be removed from the flowcharts.

본 개시의 일 양상은 맵(예를 들어, 토폴로지 맵)에 기초한 경로 계획을 위한 시스템들 및 방법들에 관한 것이다. 맵은 복수의 노드들 및 그에 대한 노드 정보, 예를 들어, 노드의 위치, 노드의 바코드, 노드의 좌표, 노드의 통행 가능성, 노드의 턴 능력(turn capability), 인접 노드들의 개수, 인접 노드들에 대한 노드의 연결성 등을 포함할 수 있다. 시스템들은 타겟 차량의 출발 위치 및 목적지를 결정할 수 있다. 시스템들은 또한 타겟 차량이 위치한 타겟 지역에 위치한 타겟 차량과는 다른 하나 이상의 차량들과 연관된 움직임 상태 정보를 획득할 수 있다. 시스템들은 하나 이상의 차량들과 연관된 움직임 상태 정보에 기초하여 복수의 노드들 중 적어도 하나의 각각의 노드 정보의 적어도 일부를 수정함으로써 타겟 맵을 생성할 수 있다. 그런 다음 시스템들은 타겟 맵, 출발 위치, 및 목적지에 기초하여 타겟 차량의 타겟 경로를 결정할 수 있다. 타겟 경로를 결정할 때, 시스템들은 출발 위치에 대응하는 출발 노드와 목적지에 대응하는 목적지 노드 사이에서 복수의 타겟 노드들과 연관된 복수의 비용들(costs)을 결정할 수 있다. One aspect of the present disclosure relates to systems and methods for route planning based on a map (eg, a topology map). The map includes a plurality of nodes and node information therefor, for example, the location of the node, the barcode of the node, the coordinates of the node, the passability of the node, the turn capability of the node, the number of neighboring nodes, the neighboring nodes It may include the connectivity of the node to . The systems may determine the starting location and destination of the target vehicle. The systems may also obtain motion state information associated with one or more vehicles other than the target vehicle located in the target area where the target vehicle is located. The systems may generate the target map by modifying at least a portion of the node information of each of at least one of the plurality of nodes based on the motion state information associated with the one or more vehicles. The systems may then determine a target route of the target vehicle based on the target map, the starting location, and the destination. When determining the target route, the systems may determine a plurality of costs associated with the plurality of target nodes between the departure node corresponding to the departure location and the destination node corresponding to the destination.

본 개시의 시스템들 및 방법들에 따르면, 다른 차량들과 연관된 움직임 상태 정보가 고려될 수 있어, 타겟 차량이 타겟 경로를 따라 이동할 때 다른 차량들과 충돌하지 않도록 할 수 있다. 또한, 타겟 경로를 결정할 때, 노드의 비용은 노드의 가중치 값, 노드의 부모 노드 비용, 부모 노드로부터 상기 노드까지의 거리 비용, 부모 노드로부터 상기 노드로의 턴 비용(turn cost) 등과 같은 다양한 파라미터들과 연관될 수 있으며, 이는 타겟 경로의 정확성과 합리성을 향상시킬 수 있다. According to the systems and methods of the present disclosure, motion state information associated with other vehicles may be taken into account so that the target vehicle does not collide with other vehicles as it moves along a target path. In addition, when determining a target path, the cost of a node depends on various parameters such as a weight value of a node, a parent node cost of a node, a distance cost from a parent node to the node, a turn cost from a parent node to the node, and the like. , which can improve the accuracy and rationality of the target path.

도 1은 본 개시의 몇몇 실시예들에 따른 전형적인 경로 계획 시스템을 도시하는 개략도이다. 일부 실시예들에서, 경로 계획 시스템(또는 "스케줄링 시스템"이라고도 함)(100)은 서버(110), 네트워크(120), 하나 이상의 차량들(130), 하나 이상의 단말 디바이스들(140), 및 저장 디바이스(150)를 포함할 수 있다. 일부 실시예들에서, 경로 계획 시스템(100)은 다양한 시나리오들, 예를 들어, AGV(Automated Guided Vehicle) 기반의 화물 운송, 미리 결정된 지역(예를 들어, 공원)의 관광, 자동 음식 배달 등에 적용될 수 있다. 1 is a schematic diagram illustrating an exemplary route planning system in accordance with some embodiments of the present disclosure. In some embodiments, the route planning system (also referred to as a “scheduling system”) 100 includes a server 110 , a network 120 , one or more vehicles 130 , one or more terminal devices 140 , and A storage device 150 may be included. In some embodiments, the route planning system 100 may be applied to various scenarios, for example, AGV (Automated Guided Vehicle) based freight transportation, tourism in a predetermined area (eg, a park), automatic food delivery, etc. can

서버(110)는 단일 서버 또는 서버 그룹일 수 있다. 서버 그룹은 중앙 집중화되거나 분산될 수 있다(예를 들어, 서버(110)는 분산 시스템일 수 있음). 일부 실시예들에서, 서버(110)는 로컬 또는 원격일 수 있다. 예를 들어, 서버(110)는 네트워크(120)를 통해 차량(들)(130), 단말 디바이스(들)(140) 및/또는 저장 디바이스(150)에 저장된 정보 및/또는 데이터에 액세스할 수 있다. 다른 예로서, 서버(110)는 차량(들)(130), 단말 디바이스(들)(140) 및/또는 저장 디바이스(150)에 직접 연결되어 저장된 정보 및/또는 데이터에 액세스할 수 있다. 일부 실시예들에서, 서버(110)는 클라우드 플랫폼 또는 온보드 컴퓨터 상에서 구현될 수 있다. 단지 예로서, 클라우드 플랫폼은 사설 클라우드, 공공 클라우드, 하이브리드 클라우드, 커뮤니티 클라우드, 분산형 클라우드, 클라우드-간, 다중-클라우드 등, 또는 이들의 임의의 조합을 포함할 수 있다. 일부 실시예들에서, 서버(110)는 본 개시의 도 2에 예시된 하나 이상의 구성요소들을 포함하는 컴퓨팅 디바이스(200) 상에서 구현될 수 있다. Server 110 may be a single server or a group of servers. The server group may be centralized or distributed (eg, server 110 may be a distributed system). In some embodiments, server 110 may be local or remote. For example, server 110 may access information and/or data stored in vehicle(s) 130 , terminal device(s) 140 and/or storage device 150 via network 120 . have. As another example, the server 110 may be directly connected to the vehicle(s) 130 , the terminal device(s) 140 , and/or the storage device 150 to access stored information and/or data. In some embodiments, server 110 may be implemented on a cloud platform or on an onboard computer. By way of example only, a cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, cross-cloud, multi-cloud, etc., or any combination thereof. In some embodiments, server 110 may be implemented on computing device 200 including one or more components illustrated in FIG. 2 of this disclosure.

일부 실시예들에서, 서버(110)는 프로세싱 디바이스(112)를 포함할 수 있다. 프로세싱 디바이스(112)는 본 개시에서 설명된 하나 이상의 기능들을 수행하기 위해 경로 계획 및/또는 태스크 할당과 연관된 정보 및/또는 데이터를 처리할 수 있다. 예를 들어, 프로세싱 디바이스(112)는 타겟 지역에서 타겟 차량과는 다른 하나 이상의 차량들과 연관된 움직임 상태 정보를 획득할 수 있다. 프로세싱 디바이스(112)는 또한 타겟 차량의 출발 위치, 타겟 차량의 목적지, 상기 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 타겟 지역의 맵에 적어도 부분적으로 기초하여 타겟 차량의 타겟 경로를 결정할 수 있다. 일부 실시예들에서, 프로세싱 디바이스(112)는 하나 이상의 프로세싱 엔진들(예를 들어, 단일 코어 프로세싱 엔진(들) 또는 다중 코어 프로세서(들))을 포함할 수 있다. 단지 예로서, 프로세싱 디바이스(112)는 중앙 처리 장치(CPU), 주문형 집적 회로(ASIC), 주문형 명령 세트 프로세서(ASIP), 그래픽 프로세싱 유닛(GPU), 물리 프로세싱 유닛(PPU), 디지털 신호 프로세서(DSP), 필드-프로그램 가능 게이트 어레이(FPGA: Field-Programmable Gate Array), 프로그램 가능 로직 디바이스(PLD: Programmable Logic Device), 컨트롤러, 마이크로 컨트롤러 유닛, 감소된 명령 세트 컴퓨터(RISC: Reduced Instruction-Set Computer) , 마이크로프로세서 등, 또는 이들의 임의의 조합을 포함할 수 있다. In some embodiments, server 110 may include processing device 112 . The processing device 112 may process information and/or data associated with route planning and/or task assignment to perform one or more functions described in this disclosure. For example, the processing device 112 may obtain motion state information associated with one or more vehicles different from the target vehicle in the target area. The processing device 112 may also determine a target path of the target vehicle based at least in part on a starting location of the target vehicle, a destination of the target vehicle, motion state information associated with the one or more vehicles, and a map of the target area. In some embodiments, processing device 112 may include one or more processing engines (eg, single core processing engine(s) or multi-core processor(s)). By way of example only, processing device 112 may include a central processing unit (CPU), an application specific integrated circuit (ASIC), an application specific instruction set processor (ASIP), a graphics processing unit (GPU), a physical processing unit (PPU), a digital signal processor ( DSP), Field-Programmable Gate Array (FPGA), Programmable Logic Device (PLD), Controller, Microcontroller Unit, Reduced Instruction-Set Computer (RISC) ) , a microprocessor, etc., or any combination thereof.

일부 실시예들에서, 서버(110)는 경로 계획 시스템(100)의 하나 이상의 구성요소들(예를 들어, 차량(들)(130), 단말 디바이스(들)(140), 저장 디바이스(150))과 통신하기 위해 네트워크(120)에 연결될 수 있다. 일부 실시예들에서, 서버(110)는 경로 계획 시스템(100)의 하나 이상의 구성요소들(예를 들어, 차량(들)(130), 단말 디바이스(들)(140), 저장 디바이스(150))에 직접 연결되거나 또는 이들과 통신할 수 있다. In some embodiments, server 110 may include one or more components (eg, vehicle(s) 130 , terminal device(s) 140 , storage device 150 ) of route planning system 100 . ) may be connected to the network 120 to communicate with the In some embodiments, server 110 may include one or more components (eg, vehicle(s) 130 , terminal device(s) 140 , storage device 150 ) of route planning system 100 . ) can be connected directly to or communicate with them.

네트워크(120)는 정보 및/또는 데이터의 교환을 용이하게 할 수 있다. 일부 실시예들에서, 경로 계획 시스템(100)의 하나 이상의 구성요소들(예를 들어, 서버(110), 차량(들)(130), 단말 디바이스(들)(140), 저장 디바이스(150))은 네트워크(120)를 통해 경로 계획 시스템(100)의 다른 구성요소(들)에 정보 및/또는 데이터를 전송할 수 있다. 예를 들어, 서버(110)는 네트워크(120)를 통해 저장 디바이스(150)로부터 타겟 지역의 맵를 획득할 수 있다. 일부 실시예들에서, 네트워크(120)는 임의의 유형의 유선 또는 무선 네트워크, 또는 이들의 조합일 수 있다. 단지 예로서, 네트워크(120)는 케이블 네트워크, 와이어라인 네트워크, 광섬유 네트워크, 전기통신 네트워크, 인트라넷, 인터넷, 근거리 네트워크(LAN: Local Area Network), 광역 네트워크(WAN: Wide Area Network), 무선 근거리 네트워크(WLAN: Wireless Local Area Network), 대도시 영역 네트워크(MAN: Metropolitan Area Network), 광역 네트워크(WAN), 공중 전화 스위칭 네트워크(PSTN: Public Telephone Switched Network), 블루투스 네트워크, 지그비(ZigBee) 네트워크, 근거리장 통신(NFC: Near Field Communication) 네트워크 등, 또는 이들의 임의의 조합을 포함할 수 있다. 일부 실시예들에서, 네트워크(120)는 하나 이상의 네트워크 액세스 포인트들을 포함할 수 있다. 예를 들어, 네트워크(120)는 유선 또는 무선 네트워크 액세스 포인트들(예를 들어, 포인트 120-1, 포인트 120-2)을 포함할 수 있으며, 이를 통해 경로 계획 시스템(100)의 하나 이상의 구성요소들이 네트워크(120)에 연결되어 데이터 및/또는 정보를 교환할 수 있다. Network 120 may facilitate the exchange of information and/or data. In some embodiments, one or more components of route planning system 100 (eg, server 110 , vehicle(s) 130 , terminal device(s) 140 , storage device 150 ) ) may transmit information and/or data to other component(s) of route planning system 100 via network 120 . For example, the server 110 may obtain a map of the target area from the storage device 150 through the network 120 . In some embodiments, network 120 may be any type of wired or wireless network, or a combination thereof. By way of example only, network 120 may include a cable network, a wireline network, a fiber optic network, a telecommunications network, an intranet, the Internet, a local area network (LAN), a wide area network (WAN), and a wireless local area network. (WLAN: Wireless Local Area Network), Metropolitan Area Network (MAN: Metropolitan Area Network), Wide Area Network (WAN), Public Telephone Switched Network (PSTN), Bluetooth Network, ZigBee Network, Near Field a Near Field Communication (NFC) network, or the like, or any combination thereof. In some embodiments, network 120 may include one or more network access points. For example, network 120 may include wired or wireless network access points (eg, point 120-1, point 120-2), through which one or more components of route planning system 100 . may be connected to the network 120 to exchange data and/or information.

차량(들)(130)은 복수의 차량들(130-1, 130-2, …, 130-n)을 포함할 수 있다. 차량(들)(130)은 자동 안내 차량(AGV), 택시, 자가용, 히치(hitch), 버스, 기차, 초고속 열차, 고속 철도, 지하철, 선박, 항공기, 우주선, 열기구, 무인 차량(예를 들어, 무인 비행기, 무인 자동차) 등, 또는 이들의 임의의 조합을 포함할 수 있다. 차량(들)(130)은 네트워크(120)를 통해 서버(110), 단말 디바이스(들)(140) 및/또는 저장 디바이스(150)와 통신할 수 있다. 일부 실시예들에서, 차량(들)(130)은 서버(110)에 의해 할당된 태스크(예를 들어, 상품 배송)를 수신하고, 서버(110)에 의해 결정된 경로를 따라 태스크를 수행할 수 있다. 일부 실시예들에서, 차량(들)(130)은 네트워크(120)를 통해 차량(들)(130)의 움직임 상태 정보를 서버(110)로 전송할 수 있고, 서버(110)는 차량(들)의 경로를 결정할 때 움직임 상태 정보를 처리할 수 있다. The vehicle(s) 130 may include a plurality of vehicles 130-1, 130-2, ..., 130-n. Vehicle(s) 130 may include autonomously guided vehicles (AGVs), taxis, private cars, hitches, buses, trains, bullet trains, high-speed rail, subways, watercraft, aircraft, spacecraft, hot air balloons, unmanned vehicles (eg, , unmanned aerial vehicles, unmanned vehicles), etc., or any combination thereof. Vehicle(s) 130 may communicate with server 110 , terminal device(s) 140 and/or storage device 150 via network 120 . In some embodiments, vehicle(s) 130 may receive a task assigned by server 110 (eg, deliver goods) and perform the task along a route determined by server 110 . have. In some embodiments, the vehicle(s) 130 may transmit motion state information of the vehicle(s) 130 to the server 110 via the network 120 , and the server 110 may send the vehicle(s) When determining the path of the motion state information can be processed.

단말 디바이스(140)는 네트워크(120)를 통해 서버(110), 차량(들)(130), 및/또는 저장 디바이스(150)로부터 정보 및/또는 데이터를 수신하도록 구성될 수 있다. 예를 들어, 단말 디바이스(140)는 네트워크(120)를 통해 태스크를 수행하려 하거나 수행하고 있는 서버(110) 및/또는 차량으로부터 태스크(예를 들어, 상품 배송)와 연관된 정보(예를 들어, 경로, 출발 위치, 목적지)를 수신할 수 있다. 일부 실시예들에서, 단말 디바이스(140)는 사용자 인터페이스를 제공할 수 있으며, 이를 통해 사용자는 경로 계획 시스템(100)에 대한 정보 및/또는 입력 데이터 및/또는 명령들을 볼 수 있다. 예를 들어, 사용자는 사용자 인터페이스를 통해 태스크와 연관된 정보(예를 들어, 경로, 출발 위치, 목적지)를 볼 수 있다. 다른 예로서, 단말 디바이스(140)는 사용자 인터페이스를 통해 명령을 입력하고 네트워크(120)를 통해 차량(들)(130) 및/또는 서버(110)로 명령을 전송할 수 있다. 명령은 태스크를 실행하기 위한 명령, 태스크 실행을 중지하기 위한 명령, 태스크와 연관된 파라미터를 설정하거나 수정하기 위한 명령, 차량(들)(130) 중 하나를 충전하기 위한 명령, 차량(들)(130) 중 하나를 유지하기 위한 명령, 차량(들)(130) 중 하나에 태스크를 할당하기 위한 명령 등을 포함할 수 있다.Terminal device 140 may be configured to receive information and/or data from server 110 , vehicle(s) 130 , and/or storage device 150 via network 120 . For example, the terminal device 140 may provide information (eg, delivery of goods) associated with the task (eg, delivery of goods) from the server 110 and/or the vehicle that is trying to perform or is performing the task via the network 120 . route, departure location, destination). In some embodiments, the terminal device 140 may provide a user interface through which the user may view information and/or input data and/or commands for the route planning system 100 . For example, a user may view information (eg, route, departure location, destination) associated with a task through the user interface. As another example, the terminal device 140 may input a command through the user interface and transmit the command to the vehicle(s) 130 and/or the server 110 via the network 120 . The command may be a command to execute a task, a command to stop executing the task, a command to set or modify a parameter associated with the task, a command to charge one of the vehicle(s) 130 , a vehicle(s) 130 command ), commands to maintain one of the vehicle(s) 130 , commands to assign a task to one of the vehicle(s) 130 , and the like.

일부 실시예들에서, 단말 디바이스(들)(140)는 모바일 디바이스(140-1), 태블릿 컴퓨터(140-2), 랩톱 컴퓨터(140-3), 차량(130)에 내장된 디바이스(140-4), 웨어러블 디바이스(140-5) 등, 또는 이들의 임의의 조합을 포함할 수 있다. 일부 실시예들에서, 모바일 디바이스(140-1)는 스마트 홈 디바이스, 웨어러블 디바이스, 스마트 모바일 디바이스, 가상 현실 디바이스, 증강 현실 디바이스 등, 또는 이들의 임의의 조합을 포함할 수 있다. 스마트 홈 디바이스는 스마트 조명 디바이스, 지능형 전기 장치의 제어 디바이스, 스마트 모니터링 디바이스, 스마트 텔레비전, 스마트 비디오 카메라, 인터폰 등, 또는 이들의 임의의 조합을 포함할 수 있다. 웨어러블 디바이스는 스마트 팔찌, 스마트 풋기어(smart footgear), 스마트 글래스, 스마트 헬멧, 스마트 워치, 스마트 의류, 스마트 백팩, 스마트 액세서리 등, 또는 이들의 임의의 조합을 포함할 수 있다. 스마트 모바일 디바이스는 스마트폰, PDA(Personal Digital Assistant), 게임 디바이스, 내비게이션 디바이스, POS(Point of Sale) 디바이스 등, 또는 이들의 임의의 조합을 포함할 수 있다. 가상 현실 디바이스 및/또는 증강 현실 디바이스는 가상 현실 헬멧, 가상 현실 유리, 가상 현실 패치, 증강 현실 헬멧, 증강 현실 유리, 증강 현실 패치 등, 또는 이들의 임의의 조합을 포함할 수 있다. 예를 들어, 가상 현실 디바이스 및/또는 증강 현실 디바이스는 GoogleTM Glass, Oculus Rift, HoloLens, Gear VR 등을 포함할 수 있다. 일부 실시예들에서, 내장된 디바이스(140-4)는 온보드 컴퓨터, 온보드 텔레비전 등을 포함할 수 있다. In some embodiments, terminal device(s) 140 include mobile device 140 - 1 , tablet computer 140 - 2 , laptop computer 140 - 3 , device 140 - embedded in vehicle 130 . 4), the wearable device 140-5, or the like, or any combination thereof. In some embodiments, mobile device 140 - 1 may include a smart home device, a wearable device, a smart mobile device, a virtual reality device, an augmented reality device, etc., or any combination thereof. A smart home device may include a smart lighting device, a control device of an intelligent electric device, a smart monitoring device, a smart television, a smart video camera, an intercom, etc., or any combination thereof. The wearable device may include a smart bracelet, smart footgear, smart glasses, smart helmet, smart watch, smart clothing, smart backpack, smart accessory, or the like, or any combination thereof. A smart mobile device may include a smartphone, a personal digital assistant (PDA), a gaming device, a navigation device, a point of sale (POS) device, etc., or any combination thereof. The virtual reality device and/or augmented reality device may include a virtual reality helmet, virtual reality glasses, virtual reality patch, augmented reality helmet, augmented reality glasses, augmented reality patch, etc., or any combination thereof. For example, virtual reality devices and/or augmented reality devices can beTM This can include Glass, Oculus Rift, HoloLens, Gear VR, and more. In some embodiments, the embedded device 140 - 4 may include an onboard computer, an onboard television, or the like.

일부 실시예들에서, 단말 디바이스(140)는 텍스트, 이미지, 오디오, 비디오, 그래프, 애니메이션 등, 또는 이들의 임의의 조합과 같이 사람이 판독할 수 있는 형태로 정보를 표시할 수 있는 디스플레이를 포함할 수 있다. 단말 디바이스(140)의 디스플레이는 CRT(Cathode Ray Tube) 디스플레이, LCD(Liquid Crystal Display), LED(Light Emitting Diode) 디스플레이, PDP(Plasma Display Panel), 3차원(3D) 디스플레이를 등, 또는 이들의 조합을 포함할 수 있다. 일부 실시예들에서, 단말 디바이스(140)는 네트워크(120)를 통해 경로 계획 시스템(100)의 하나 이상의 구성요소들(예를 들어, 서버(110), 차량(들)(130), 저장 디바이스(150))에 연결될 수 있다. 일부 실시예들에서, 서버(110)는 단말 디바이스(들)(140)에 통합될 수 있다. In some embodiments, terminal device 140 includes a display capable of presenting information in a human readable form, such as text, image, audio, video, graph, animation, etc., or any combination thereof. can do. The display of the terminal device 140 includes a cathode ray tube (CRT) display, a liquid crystal display (LCD), a light emitting diode (LED) display, a plasma display panel (PDP), a three-dimensional (3D) display, or the like, or a display thereof. Combinations may be included. In some embodiments, the terminal device 140 may be connected to one or more components of the route planning system 100 (eg, the server 110 , the vehicle(s) 130 , the storage device via the network 120 ). (150)) can be connected. In some embodiments, server 110 may be integrated into terminal device(s) 140 .

저장 디바이스(150)는 데이터 및/또는 명령들을 저장할 수 있다. 일부 실시예들에서, 저장 디바이스(150)는 서버(110), 차량(들)(130), 단말 디바이스(들)(140), 외부 저장 디바이스 등으로부터 획득된 데이터를 저장할 수 있다. 예를 들어, 저장 디바이스(150)는 타겟 지역의 맵를 저장할 수 있다. 다른 예로서, 저장 디바이스(150)는 타겟 차량의 타겟 경로를 저장할 수 있다. 일부 실시예들에서, 저장 디바이스(150)는 서버(110)가 본 개시에서 설명된 전형적인 방법들을 수행하기 위해 실행하거나 또는 사용할 수 있는 데이터 및/또는 명령들을 저장할 수 있다. 예를 들어, 저장 디바이스(150)는 경로 계획 시스템(100)이 타겟 지역에서 타겟 차량과는 다른 하나 이상의 차량들과 연관된 움직임 상태 정보를 획득하기 위해 실행하거나 사용할 수 있는 명령들을 저장할 수 있다. 다른 예로서, 저장 디바이스(150)는 경로 계획 시스템(100)이 타겟 차량의 출발 위치, 타겟 차량의 목적지, 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 맵에 적어도 부분적으로 기초하여 타겟 차량의 타겟 경로를 결정하기 위해 실행하거나 사용할 수 있는 명령들을 저장할 수 있다. Storage device 150 may store data and/or instructions. In some embodiments, the storage device 150 may store data obtained from the server 110 , the vehicle(s) 130 , the terminal device(s) 140 , an external storage device, and the like. For example, the storage device 150 may store a map of the target area. As another example, the storage device 150 may store a target route of the target vehicle. In some embodiments, storage device 150 may store data and/or instructions that server 110 may execute or use to perform the exemplary methods described in this disclosure. For example, the storage device 150 may store instructions that the route planning system 100 may execute or use to obtain motion state information associated with one or more vehicles different from the target vehicle in the target area. As another example, the storage device 150 may be configured such that the route planning system 100 determines the target vehicle's target based at least in part on the starting location of the target vehicle, the destination of the target vehicle, motion state information associated with one or more vehicles, and the map. You can store commands that can be executed or used to determine a path.

일부 실시예들에서, 저장 디바이스(150)는 대용량 저장소, 착탈 가능한 저장소, 휘발성 판독-및-기록 메모리, 판독-전용 메모리(ROM) 등, 또는 이들의 임의의 조합을 포함할 수 있다. 전형적인 대용량 저장소는 자기 디스크, 광학 디스크, 고체-상태 드라이브 등을 포함할 수 있다. 전형적인 착탈 가능한 저장소는 플래시 드라이브, 플로피 디스크, 광학 디스크, 메모리 카드, 집 디스크, 자기 테이프 등을 포함할 수 있다. 전형적인 휘발성 판독-및-기록 메모리는 랜덤 액세스 메모리(RAM)를 포함할 수 있다. 전형적인 RAM은 동적 RAM(DRAM), 이중 데이터 레이트 동기식 동적 RAM(DDR SDRAM), 정적 RAM(SRAM), 사이리스터 RAM(T-RAM), 및 제로-커패시터 RAM(Z-RAM) 등을 포함할 수 있다. 전형적인 ROM은 마스크 ROM(MROM), 프로그램 가능한 ROM(PROM), 삭제 가능한 프로그램 가능 ROM(EPROM), 전기적으로 삭제 가능한 프로그램 가능 ROM(EEPROM), 컴팩트 디스크 ROM(CD-ROM), 및 디지털 다목적 디스크 ROM 등을 포함할 수 있다. 일부 실시예들에서, 저장 디바이스(150)는 클라우드 플랫폼 상에서 구현될 수 있다. 단지 예로서, 클라우드 플랫폼은 사설 클라우드, 공공 클라우드, 하이브리드 클라우드, 커뮤니티 클라우드, 분산형 클라우드, 클라우드-간, 다중-클라우드 등, 또는 이들의 임의의 조합을 포함할 수 있다. In some embodiments, storage device 150 may include mass storage, removable storage, volatile read-and-write memory, read-only memory (ROM), etc., or any combination thereof. Typical mass storage may include magnetic disks, optical disks, solid-state drives, and the like. Typical removable storage may include flash drives, floppy disks, optical disks, memory cards, zip disks, magnetic tape, and the like. A typical volatile read-and-write memory may include random access memory (RAM). Typical RAMs may include dynamic RAM (DRAM), dual data rate synchronous dynamic RAM (DDR SDRAM), static RAM (SRAM), thyristor RAM (T-RAM), and zero-capacitor RAM (Z-RAM), and the like. . Typical ROMs are masked ROM (MROM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), compact disk ROM (CD-ROM), and digital general purpose disk ROM. and the like. In some embodiments, storage device 150 may be implemented on a cloud platform. By way of example only, a cloud platform may include a private cloud, a public cloud, a hybrid cloud, a community cloud, a distributed cloud, cross-cloud, multi-cloud, etc., or any combination thereof.

일부 실시예들에서, 저장 디바이스(150)는 경로 계획 시스템(100)의 하나 이상의 구성요소들(예를 들어, 서버(110), 차량(들)(130), 단말 디바이스(들)(140))과 통신하기 위해 네트워크(120)에 연결될 수 있다. 경로 계획 시스템(100)의 하나 이상의 구성요소들은 네트워크(120)를 통해 저장 디바이스(150)에 저장된 데이터 또는 명령들에 액세스할 수 있다. 일부 실시예들에서, 저장 디바이스(150)는 경로 계획 시스템(100)의 하나 이상의 구성요소들(서버(110), 차량(들)(130), 단말 디바이스(들)(140))에 직접 연결되거나 통신할 수 있다. 일부 실시예들에서, 저장 디바이스(150)는 서버(110)의 일부일 수 있다. 예를 들어, 저장 디바이스(150)는 서버(110)에 통합될 수 있다. In some embodiments, storage device 150 is one or more components of route planning system 100 (eg, server 110 , vehicle(s) 130 , terminal device(s) 140 ) ) may be connected to the network 120 to communicate with the One or more components of route planning system 100 may access data or instructions stored in storage device 150 via network 120 . In some embodiments, storage device 150 is directly connected to one or more components of route planning system 100 (server 110 , vehicle(s) 130 , terminal device(s) 140 ). or communicate. In some embodiments, storage device 150 may be part of server 110 . For example, the storage device 150 may be integrated into the server 110 .

경로 계획 시스템(100)은 단지 예시의 목적으로 제공되고, 본 개시의 범위를 제한하도록 의도되지 않음에 유의해야 한다. 당 기술분야에서의 통상의 기술자들의 경우, 다수의 변형들 및 수정들이 본 개시의 교시들 하에서 이루어질 수 있다. 그러나, 이들 변형들 및 수정들은 본 개시의 범위로부터 벗어나지 않는다. It should be noted that the route planning system 100 is provided for illustrative purposes only and is not intended to limit the scope of the present disclosure. Numerous variations and modifications may be made to those skilled in the art under the teachings of this disclosure. However, these variations and modifications do not depart from the scope of the present disclosure.

도 2는 본 개시의 일부 실시예들에 따른 전형적인 컴퓨팅 디바이스의 전형적인 하드웨어 및/또는 소프트웨어 구성요소들을 도시하는 개략도이다. 일부 실시예들에서, 서버(110)는 컴퓨팅 디바이스(200) 상에서 구현될 수 있다. 예를 들어, 프로세싱 디바이스(112)는 컴퓨팅 디바이스(200) 상에서 구현될 수 있고 본 개시에 개시된 프로세싱 디바이스(112)의 기능들을 수행하도록 구성될 수 있다. 2 is a schematic diagram illustrating typical hardware and/or software components of a typical computing device in accordance with some embodiments of the present disclosure. In some embodiments, server 110 may be implemented on computing device 200 . For example, processing device 112 may be implemented on computing device 200 and configured to perform functions of processing device 112 disclosed in this disclosure.

컴퓨팅 디바이스(200)는 여기에 설명된 경로 계획 시스템(100)의 임의의 구성요소들을 구현하는 데 사용될 수 있다. 예를 들어, 프로세싱 디바이스(112)는 하드웨어, 소프트웨어 프로그램, 펌웨어, 또는 이들의 조합을 통해 컴퓨팅 디바이스(200) 상에서 구현될 수 있다. 편의를 위해 단지 하나의 이러한 컴퓨터가 도시되어 있지만, 여기에 설명된 경로 계획 및/또는 스케줄링과 연관된 컴퓨터 기능들은 프로세싱 부하를 분산하기 위해 다수의 유사한 플랫폼들 상에서 분산 방식으로 구현될 수 있다. Computing device 200 may be used to implement any of the components of route planning system 100 described herein. For example, processing device 112 may be implemented on computing device 200 via hardware, a software program, firmware, or a combination thereof. Although only one such computer is shown for convenience, the computer functions associated with route planning and/or scheduling described herein may be implemented in a distributed fashion on many similar platforms to distribute the processing load.

예를 들어, 컴퓨팅 디바이스(200)는 데이터 통신을 용이하게 하기 위해 그에 연결된 네트워크에 연결되고 네트워크로부터 연결된 COM 포트들(250)을 포함할 수 있다. 컴퓨팅 디바이스(200)는 또한 프로그램 명령들을 실행하기 위한 하나 이상의 프로세서들(예를 들어, 논리 회로들) 형태로 프로세서(예를 들어, 프로세서(220))를 포함할 수 있다. 예를 들어, 프로세서(220)는 내부에 인터페이스 회로들 및 프로세싱 회로들을 포함할 수 있다. 인터페이스 회로들은 버스(210)로부터 전자 신호들을 수신하도록 구성될 수 있으며, 여기서 전자 신호들은 프로세싱 회로들이 처리하도록 구조화된 데이터 및/또는 명령들을 인코딩한다. 프로세싱 회로들은 논리 계산을 수행한 다음 결론, 결과, 및/또는 전자 신호들로 인코딩된 명령을 결정할 수 있다. 그런 다음 인터페이스 회로들은 버스(210)를 통해 프로세싱 회로로부터 전자 신호들을 보낼 수 있다. For example, computing device 200 may include COM ports 250 coupled to and from a network coupled thereto to facilitate data communication. Computing device 200 may also include a processor (eg, processor 220 ) in the form of one or more processors (eg, logic circuits) for executing program instructions. For example, the processor 220 may include interface circuits and processing circuits therein. The interface circuits may be configured to receive electronic signals from the bus 210 , wherein the electronic signals encode structured data and/or instructions for processing by the processing circuits. The processing circuits may perform logical calculations and then determine a conclusion, result, and/or instruction encoded into electronic signals. The interface circuits may then send electronic signals from the processing circuit via bus 210 .

컴퓨팅 디바이스(200)는 또한, 컴퓨팅 디바이스(200)에 의해 처리 및/또는 전송될 다양한 데이터 파일들(예를 들어, 프로그램 명령들)을 저장하도록 구성된 하나 이상의 저장소들을 포함할 수 있다. 일부 실시예들에서, 하나 이상의 저장소들은 고속 랜덤 액세스 메모리(도시되지 않음), 비휘발성 메모리(예를 들어, 자기 저장 디바이스, 플래시 메모리, 또는 다른 비휘발성 고체 상태 메모리)(도시되지 않음), 디스크(270), 판독 전용 메모리(ROM)(230), 또는 랜덤 액세스 메모리(RAM)(240) 등, 또는 이들의 임의의 조합을 포함할 수 있다. 일부 실시예들에서, 하나 이상의 저장소들은 프로세서(220)에 대응하는 원격 저장소를 더 포함할 수 있다. 원격 저장소는 네트워크(120)를 통해 컴퓨팅 디바이스(200)에 연결될 수 있다. 컴퓨팅 디바이스(200)는 또한 프로세서(220)에 의해 실행될 하나 이상의 저장소들(예를 들어, ROM(230), RAM(240), 및/또는 다른 유형의 비 일시적 저장 매체)에 저장된 프로그램 명령들을 포함할 수 있다. 본 개시의 방법들 및/또는 프로세스들은 프로그램 명령들로 구현될 수 있다. 컴퓨팅 디바이스(200)는 또한 컴퓨팅 디바이스(200)와 다른 구성요소들 사이의 입력/출력을 지원하는 I/O 구성요소(260)를 포함할 수 있다. 컴퓨팅 디바이스(200)는 또한 네트워크 통신을 통해 프로그래밍 및 데이터를 수신할 수 있다. Computing device 200 may also include one or more repositories configured to store various data files (eg, program instructions) to be processed and/or transmitted by computing device 200 . In some embodiments, the one or more storages include high-speed random access memory (not shown), non-volatile memory (eg, magnetic storage device, flash memory, or other non-volatile solid-state memory) (not shown), disk 270 , read only memory (ROM) 230 , or random access memory (RAM) 240 , or the like, or any combination thereof. In some embodiments, the one or more storages may further include a remote storage corresponding to the processor 220 . The remote storage may be coupled to the computing device 200 via the network 120 . Computing device 200 also includes program instructions stored in one or more storages (eg, ROM 230 , RAM 240 , and/or other types of non-transitory storage media) to be executed by processor 220 . can do. The methods and/or processes of the present disclosure may be implemented as program instructions. Computing device 200 may also include an I/O component 260 that supports input/output between computing device 200 and other components. Computing device 200 may also receive programming and data via network communications.

단지 설명을 위해, 도 2에는 하나의 프로세서만이 도시되어 있다. 다중 프로세서들(220)이 또한 구현되며; 따라서, 본 개시에서 설명된 바와 같이 하나의 프로세서(220)에 의해 수행되는 동작들 및/또는 방법 단계들은 또한 다중 프로세서들에 의해 공동으로 또는 별개로 수행될 수 있다. 예를 들어, 본 개시에서 컴퓨팅 디바이스(200)의 프로세서(220)가 동작 A 및 동작 B 양쪽 모두를 실행한다면, 동작 A 및 동작 B는 또한 컴퓨팅 디바이스(200)에서 두 개의 상이한 프로세서들(220)에 의해 공동으로 또는 별개로 수행될 수 있다는 것이 이해되어야 한다(예를 들어, 제 1 프로세서는 동작 A를 실행하고 제 2 프로세서는 동작 B를 실행하거나, 또는 제 1 및 제 2 프로세서들이 동작들 A 및 B를 공동으로 실행한다). For illustrative purposes only, only one processor is shown in FIG. 2 . Multiple processors 220 are also implemented; Accordingly, the operations and/or method steps performed by one processor 220 as described in this disclosure may also be performed jointly or separately by multiple processors. For example, if in this disclosure the processor 220 of the computing device 200 executes both operations A and B, then operations A and B also perform two different processors 220 in the computing device 200 . (e.g., a first processor executes operation A and a second processor executes operation B, or first and second processors execute operations A and B jointly).

상기 설명은 단지 예시의 목적들을 위해 제공되며, 본 개시의 범위를 제한하도록 의도되지 않는다는 것이 주의되어야 한다. 이 기술분야에서의 통상의 기술자들에 대해, 다수의 변형들 및 수정들이 본 개시의 교시들 하에서 이루어질 수 있다. 그러나, 이들 변형들 및 수정들은 본 개시의 범위로부터 벗어나지 않는다. It should be noted that the above description is provided for purposes of illustration only, and is not intended to limit the scope of the present disclosure. Numerous variations and modifications may be made to those of ordinary skill in the art under the teachings of this disclosure. However, these variations and modifications do not depart from the scope of the present disclosure.

도 3은 본 개시의 일부 실시예들에 따른 전형적인 모바일 디바이스의 전형적인 하드웨어 및/또는 소프트웨어 구성요소들을 도시하는 개략도이다. 일부 실시예들에서, 서버(110)(예를 들어, 프로세싱 디바이스(112)) 또는 단말 디바이스(들)(140))는 모바일 디바이스(300) 상에서 구현될 수 있다. 3 is a schematic diagram illustrating typical hardware and/or software components of a typical mobile device in accordance with some embodiments of the present disclosure. In some embodiments, server 110 (eg, processing device 112 ) or terminal device(s) 140 may be implemented on mobile device 300 .

도 3에 예시된 바와 같이, 모바일 디바이스(300)는 통신 플랫폼(310), 디스플레이(320), 그래픽스 프로세싱 유닛(GPU)(330), 중앙 처리 유닛(CPU)(340), I/O(350), 메모리(360), 모바일 운영 시스템(OS)(370), 및 저장소(390)를 포함할 수 있다. 일부 실시예들에서, 이에 제한되지 않지만 시스템 버스 또는 컨트롤러(도시되지 않음)를 포함한, 임의의 다른 적절한 구성요소들이 또한 모바일 디바이스(300) 내에 있을 수 있다. As illustrated in FIG. 3 , the mobile device 300 includes a communication platform 310 , a display 320 , a graphics processing unit (GPU) 330 , a central processing unit (CPU) 340 , and an I/O 350 . ), memory 360 , mobile operating system (OS) 370 , and storage 390 . In some embodiments, any other suitable components may also be within mobile device 300 , including but not limited to a system bus or controller (not shown).

일부 실시예들에서, 모바일 운영 시스템(370)(예를 들어, iOS™, 안드로이드™, Windows Phone™ 등) 및 하나 이상의 애플리케이션들(380)은 CPU(340)에 의해 실행되도록 저장소(390)로부터 메모리(360)로 로딩될 수 있다. 애플리케이션들(380)은 경로 계획 시스템(100)으로부터 행동 인식 또는 다른 정보에 관한 정보를 수신하고 렌더링하기 위한 브라우저 또는 임의의 다른 적절한 모바일 앱들을 포함할 수 있다. 정보 스트림과의 사용자 상호 작용들은 I/O(350)를 통해 달성되며 네트워크(120)를 통해 프로세싱 디바이스(112) 및/또는 경로 계획 시스템(100)의 다른 구성요소들에 제공될 수 있다. In some embodiments, mobile operating system 370 (eg, iOS™, Android™, Windows Phone™, etc.) and one or more applications 380 are from storage 390 to be executed by CPU 340 . It may be loaded into the memory 360 . Applications 380 may include a browser or any other suitable mobile apps for receiving and rendering information regarding behavior recognition or other information from route planning system 100 . User interactions with the information stream may be accomplished via I/O 350 and provided to processing device 112 and/or other components of route planning system 100 via network 120 .

도 4는 본 개시의 일부 실시예들에 따른 토폴로지 맵에 기초하는 자동 안내 차량(AGV)에 대한 경로 계획을 위한 전형적인 프로세스를 도시하는 흐름도이다. 일부 실시예들에서, 프로세스(400)는 저장 ROM(230) 또는 RAM(240)에 저장된 명령들의 세트(예를 들어, 애플리케이션)로서 구현될 수 있다. 도 6의 프로세서(220) 및/또는 모듈들은 명령들의 세트를 실행할 수 있고, 명령들을 실행할 때 프로세서(220) 및/또는 모듈들은 프로세스(400)를 수행하도록 구성될 수 있다. 이하에서 제공되는 예시된 프로세스의 동작들은 예시적인 것으로 의도된 것이다. 몇몇 실시예들에서, 프로세스(400)는 설명되지 않은 하나 이상의 부가적인 동작들을 갖고, 및/또는 논의된 동작들 중 하나 이상 없이 성취될 수 있다. 부가적으로, 도 4에 예시되고 이하에서 설명되는 바와 같이 프로세스의 동작들의 순서는 제한적이도록 의도되지 않는다. 4 is a flowchart illustrating an exemplary process for route planning for an automatically guided vehicle (AGV) based on a topology map in accordance with some embodiments of the present disclosure. In some embodiments, process 400 may be implemented as a set of instructions (eg, an application) stored in storage ROM 230 or RAM 240 . The processor 220 and/or modules of FIG. 6 may execute a set of instructions, and when executing the instructions, the processor 220 and/or modules may be configured to perform the process 400 . The operations of the illustrated process provided below are intended to be exemplary. In some embodiments, process 400 may be accomplished with one or more additional operations not described and/or without one or more of the operations discussed. Additionally, the order of the operations of the process as illustrated in FIG. 4 and described below is not intended to be limiting.

401에서, 스케줄링 시스템(예를 들어, 경로 계획 시스템(100))에 대응하는 토폴로지 맵이 획득될 수 있다. 토폴로지 맵은 프로세싱 디바이스(112)(예를 들어, 도 6에 도시된 위치 획득 모듈(610) 또는 맵 획득 모듈(620))에 의해 획득될 수 있다. 본 명세서에서 토폴로지 맵은 환경(예를 들어, 실내 환경)이 복수의 노드들 및 복수의 노드들 간의 연결 관계들로 표현될 수 있는 맵일 수 있다. 일부 실시예들에서, 토폴로지 맵은 복수의 노드들 각각의 위치 및 그에 대한 노드 정보를 포함할 수 있다. At 401 , a topology map corresponding to the scheduling system (eg, route planning system 100 ) may be obtained. The topology map may be obtained by the processing device 112 (eg, the location obtaining module 610 or the map obtaining module 620 shown in FIG. 6 ). In the present specification, the topology map may be a map in which an environment (eg, an indoor environment) may be represented by a plurality of nodes and connection relationships between the plurality of nodes. In some embodiments, the topology map may include the location of each of the plurality of nodes and node information therefor.

402에서, 토폴로지 맵은 전처리될 수 있고, 수정된 토폴로지 맵이 스케줄링 시스템에서 복수의 AGV들과 연관된 움직임 상태 정보 및 토폴로지 맵에서 복수의 AGV들에 의해 점유되는 복수의 노드들에 기초하여 토폴로지 맵의 노드 정보를 수정함으로써 획득될 수 있다. 복수의 AGV들과 연관된 움직임 상태 정보는 프로세싱 디바이스(112)(예를 들어, 도 6에 도시된 움직임 상태 획득 모듈(630))에 의해 획득될 수 있고, 토폴로지 맵은 프로세싱 디바이스(112)(예를 들어, 도 6에 도시된 경로 결정 모듈(640))에 의해 전처리될 수 있다. At 402 , the topology map may be preprocessed, and a modified topology map of the topology map is generated based on motion state information associated with the plurality of AGVs in the scheduling system and the plurality of nodes occupied by the plurality of AGVs in the topology map. It can be obtained by modifying node information. The motion state information associated with the plurality of AGVs may be obtained by the processing device 112 (eg, the motion state obtaining module 630 shown in FIG. 6 ), and the topology map may be obtained by the processing device 112 (eg, For example, it may be pre-processed by the path determination module 640 shown in FIG. 6 .

403에서, 수정된 토폴로지 맵에서 현재 AGV의 출발 노드 및 목적지 노드가 결정될 수 있다. 출발 노드와 목적지 노드 사이의 복수의 노드들과 연관된 복수의 총 비용들(또한 간결함을 위해 "비용"이라 지칭함)은 수정된 토폴로지 맵의 노드 정보에 기초하여 결정될 수 있다. 복수의 총 비용들에 기초하여 현재 AGV에 대한 경로 계획이 수행될 수 있다. 동작(403)은 프로세싱 디바이스(112)(예를 들어, 도 6에 도시된 경로 결정 모듈(640))에 의해 수행될 수 있다. At 403 , a departure node and a destination node of the current AGV in the modified topology map may be determined. A plurality of total costs (also referred to as “costs” for brevity) associated with the plurality of nodes between the departure node and the destination node may be determined based on node information in the modified topology map. Route planning for the current AGV may be performed based on the plurality of total costs. Operation 403 may be performed by processing device 112 (eg, path determination module 640 shown in FIG. 6 ).

일부 실시예들에서, 토폴로지 맵은 스케줄링 시스템에 저장된 글로벌 환경 토폴로지 맵 또는 로컬 환경 토폴로지 맵을 포함할 수 있다. 예를 들어, 글로벌 환경 토폴로지 맵은 전체 실내 환경이 반영될 수 있는 맵으로서, 전체 실내 환경을 나타내는 노드 정보를 포함할 수 있는 맵일 수 있으며; 로컬 환경 토폴로지 맵은 출발 노드에서 목적지 노드까지의 특정 지역을 포함하는 맵일 수 있다. 일부 실시예들에서, 토폴로지 맵은 또한 토폴로지 맵들을 저장하는 다른 저장 디바이스로부터 스케줄링 시스템에 의해 획득될 수 있다. In some embodiments, the topology map may include a global environment topology map or a local environment topology map stored in the scheduling system. For example, the global environment topology map may be a map in which the entire indoor environment may be reflected, and may be a map that may include node information indicating the entire indoor environment; The local environment topology map may be a map including a specific region from a departure node to a destination node. In some embodiments, the topology map may also be obtained by the scheduling system from another storage device that stores the topology maps.

일부 실시예들에서, 토폴로지 맵에서 복수의 노드들 각각에 대해, 노드의 위치는 일련 번호 또는 바코드(예를 들어, 1차원 바코드, 2차원 바코드(예를 들어, 퀵 응답(QR) 코드)에 의해 나타낼 수 있다. 노드의 노드 정보는 노드의 가중치 값, 노드의 통행 가능성(예를 들어, 차량이 노드를 통과할 수 있는지 여부), 노드의 턴 능력(예를 들어, 차량이 노드에서 회전시킬 수 있는지 여부), 인접 노드들의 개수(예를 들어, 4, 8), 인접 노드들에 대한 노드의 연결성 등, 또는 이들의 임의의 조합을 포함할 수 있다. 일부 실시예들에서, 노드의 가중치 값이 높을수록 노드의 총 비용이 더 커질 수 있고, 따라서 차량이 노드를 우회할 확률이 더 높을 수 있다. In some embodiments, for each of the plurality of nodes in the topology map, the location of the node is mapped to a serial number or barcode (eg, a one-dimensional barcode, a two-dimensional barcode (eg, a quick response (QR) code)). The node information of a node is the weight value of the node, the passability of the node (for example, whether a vehicle can pass through the node), and the turning ability of the node (for example, the number of neighboring nodes), the number of neighboring nodes (eg, 4, 8), the node's connectivity to neighboring nodes, etc., or any combination thereof, in some embodiments, the weight of the node. The higher the value, the higher the total cost of the node, and thus the higher the probability that the vehicle will bypass the node.

일부 실시예들에서, 스케줄링 시스템은 복수의 AGV들에 의해 점유되는 초기 노드들(예를 들어, 출발 노드들)의 위치들 및 복수의 AGV들에 의해 실행되는 태스크들의 목적지 노드들의 위치들을 획득할 수 있다. 스케줄링 시스템은 또한 복수의 AGV들과 연관된 움직임 상태 정보를 획득할 수 있다. 일부 실시예들에서, 복수의 AGV들은 하나 이상의 정지된 AGV들 및 하나 이상의 이동하는 AGV들을 포함할 수 있다. 따라서, 출발 노드로부터 다른 AGV들을 우회하는 목적지 노드까지의 최단 경로가 수정된 토폴로지 맵에 기초하여 현재 AGV에 대해 계획될 수 있다. In some embodiments, the scheduling system may obtain locations of initial nodes (eg, departure nodes) occupied by the plurality of AGVs and locations of destination nodes of tasks executed by the plurality of AGVs. can The scheduling system may also obtain motion state information associated with a plurality of AGVs. In some embodiments, the plurality of AGVs may include one or more stationary AGVs and one or more moving AGVs. Thus, the shortest path from the origin node to the destination node bypassing other AGVs can be planned for the current AGV based on the modified topology map.

일부 실시예들에서, 스케줄링 시스템은 또한 복수의 AGV들의 상태들을 획득할 수 있다. 특정 AGV의 경우, 상태는 유휴 상태(또한 "스케줄 가능 상태"라고 지칭됨) 및 비 유휴 상태(또한 "스케줄 가능하지 않은 상태"라고 지칭됨)를 포함할 수 있다. 유휴 상태는 특정 AGV에 의해 실행될(또는 실행 중인) 태스크가 없음을 지칭할 수 있으며; 비 유휴 상태는 특정 AGV에 의해 실행될(또는 실행 중인) 태스크가 있음을 지칭할 수 있다. 추가적으로 또는 대안적으로, 비 유휴 상태는 또한 특정 AGV가 충전 상태(in charge), 관리 유지 상태(in maintenance) 등에 있을 수 있음을 지칭할 수 있다. 일부 실시예들에서, 복수의 AGV들의 상태들에 따라, 태스크가 유휴 상태에 있는 AGV에 할당될 수 있다. 본 명세서에서 사용되는 바와 같이, 태스크는 지정된 AGV에 대응하는 지정된 태스크 및 지정되지 않은 AGV(예를 들어, 유휴 상태의 임의의 AGV)에 대응하는 지정되지 않은 태스크를 포함할 수 있다. In some embodiments, the scheduling system may also obtain states of a plurality of AGVs. For a particular AGV, states can include idle states (also referred to as “schedulable states”) and non-idle states (also referred to as “non-schedulable states”). Idle state may refer to no tasks to be executed (or running) by a particular AGV; The non-idle state may refer to that there is a task to be executed (or running) by a particular AGV. Additionally or alternatively, the non-idle state may also refer to that a particular AGV may be in charge, in maintenance, and the like. In some embodiments, according to states of the plurality of AGVs, a task may be assigned to an AGV that is in an idle state. As used herein, a task may include a designated task corresponding to a designated AGV and an unassigned task corresponding to an unassigned AGV (eg, any AGV in an idle state).

상이한 태스크들에 대응하는 상이한 AGV들에 따라, 다음 두 가지 상황들에서 태스크가 AGV에 할당될 수 있다. According to different AGVs corresponding to different tasks, a task may be assigned to an AGV in the following two situations.

상황 1: 지정된 태스크에 대응하는 지정된 AGV가 수정된 토폴로지 맵에서 유휴 상태인 경우 지정된 태스크는 지정된 AGV에 할당될 수 있다; 지정된 AGV가 비 유휴 상태인 경우 지정된 태스크는 AGV가 유휴 상태가 된 후 지정된 AGV에 할당될 수 있다. Situation 1: When the designated AGV corresponding to the designated task is idle in the modified topology map, the designated task may be assigned to the designated AGV; If the designated AGV is in the non-idle state, the designated task may be assigned to the designated AGV after the AGV becomes idle.

상황 2: 각각의 미지정된 태스크 각각에 대해, 미지정된 태스크의 목적지 노드에 가장 가까운 유휴 상태의 미지정된 AGV가 수정된 토폴로지 맵에서 결정될 수 있으며, 미지정된 태스크가 미지정된 AGV에 할당될 수 있다. Situation 2: For each of each unassigned task, the idle unassigned AGV closest to the destination node of the unassigned task may be determined from the modified topology map, and the unassigned task may be assigned to the unassigned AGV.

일부 실시예들에서, (수정된) 토폴로지 맵은 또한 (수정된) 토폴로지 맵의 노드 정보의 변경들에 기초하여 업데이트될 수 있다. 일부 실시예들에서, 노드 정보의 일부가 업데이트될 수 있다. 추가적으로 또는 대안적으로, 모든 노드 정보가 업데이트될 수 있다. 예를 들어, 노드의 가중치 값, 노드의 통행 가능성, 및/또는 노드의 턴 능력이 업데이트될 수 있다. (수정된) 토폴로지 맵을 업데이트하는 방식은 사용자에 의해 정의될 수 있다. 예를 들어, (수정된) 토폴로지 맵은 일정 시간 간격(예를 들어, 1분당, 2분당, 5분당, 월간, 2개월당)으로 업데이트될 수 있다. In some embodiments, the (modified) topology map may also be updated based on changes in node information of the (modified) topology map. In some embodiments, some of the node information may be updated. Additionally or alternatively, all node information may be updated. For example, the node's weight value, the node's passability, and/or the node's turn ability may be updated. The way to update the (modified) topology map can be defined by the user. For example, the (modified) topology map may be updated at regular time intervals (eg, every minute, every two minutes, every five minutes, monthly, every two months).

일부 실시예들에서, 토폴로지 맵의 전처리는 제1 전처리 및 제2 전처리를 포함할 수 있다. 일부 실시예들에서, 토폴로지 맵은 제1 전처리 또는 제2 전처리를 별도로 수행함으로써 전처리될 수 있다. 일부 실시예들에서, 토폴로지 맵은 제1 전처리 및 제2 전처리를 일괄적으로 수행함으로써 전처리될 수 있다. 예시의 목적으로, 토폴로지 맵이 제1 전처리를 먼저 수행한 후 제2 전처리를 수행함으로써 전처리되는 상황이 예로서 설명된다.In some embodiments, the pre-processing of the topology map may include a first pre-processing and a second pre-processing. In some embodiments, the topology map may be preprocessed by separately performing the first preprocessing or the second preprocessing. In some embodiments, the topology map may be preprocessed by collectively performing the first preprocessing and the second preprocessing. For purposes of illustration, a situation in which a topology map is preprocessed by first performing a first preprocessing and then performing a second preprocessing is described as an example.

제1 전처리는 하나 이상의 정지된 AGV들에 대응하는 노드 정보, 예를 들어 노드의 가중치 값, 노드의 통행 가능성, 노드의 턴 능력 등을 수정함으로써 토폴로지 맵 상에서 수행될 수 있다. 또한, 제1 경로 계획이 제1 수정된 토폴로지 맵에 기초하여 현재 AGV에 대해 수행될 수 있다. 제1 경로 계획의 제1 경로가 하나 이상의 이동하는 AGV들에 대응하는 하나 이상의 경로들의 적어도 일부와 적어도 부분적으로 중첩되는 것으로 검출되는 경우, 현재 AGV가 하나 이상의 이동하는 AGV들 중 적어도 하나와 충돌하는 것으로 결정될 수 있다. 그런 다음, 토폴로지 맵에 대해 2차 전처리가 수행될 수 있다. 또한, 현재 AGV가 위치한 노드를 제2 출발 노드로 한 제2 수정된 토폴로지 맵에 기초하여 제2 경로 계획이 현재 AGV에 대해 수행될 수 있다. The first preprocessing may be performed on the topology map by modifying node information corresponding to one or more stopped AGVs, for example, a weight value of a node, passability of a node, turn ability of a node, and the like. Also, a first route planning may be performed for the current AGV based on the first modified topology map. A current AGV collides with at least one of the one or more moving AGVs when it is detected that a first path in the first path plan at least partially overlaps with at least a portion of the one or more paths corresponding to the one or more moving AGVs. can be determined to be Then, secondary preprocessing may be performed on the topology map. In addition, the second route planning may be performed for the current AGV based on the second modified topology map using the node in which the current AGV is located as the second starting node.

일부 실시예들에서, 스케줄링 시스템은 (수정된) 토폴로지 맵의 노드들에 기초하여 현재 AGV의 출발 노드를 결정할 수 있다. 현재 AGV가 노드 상에 위치하지 않는 경우, 현재 AGV에 가장 가까운 노드가 경로 계획을 위한 현재 AGV의 출발 노드로서 지정될 수 있다. 가장 가까운 노드가 다른 AGV들에 의해 점유된 경우, 현재 AGV에 대해 다음으로 가장 가까운 노드가 경로 계획을 위한 출발 노드로서 선택될 수 있다. In some embodiments, the scheduling system may determine the starting node of the current AGV based on the nodes of the (modified) topology map. If the current AGV is not located on the node, the node closest to the current AGV may be designated as the departure node of the current AGV for route planning. If the closest node is occupied by other AGVs, the next closest node to the current AGV may be selected as the starting node for route planning.

일부 실시예들에서, 수정된 토폴로지 맵의 복수의 노드들의 노드 정보(예를 들어, 노드의 가중치 값, 노드의 통행 가능성, 노드의 턴 능력, 인접 노드들의 개수, 인접 노드들에 대한 노드의 연결성)가 결정될 수 있다. 또한, 수정된 토폴로지 맵에서 현재 AGV가 이동할 수 있는 복수의 노드들이 노드 정보에 기초하여 결정될 수 있고, 복수의 노드들과 연관된 복수의 총 비용들이 결정될 수 있다. 그 다음, 복수의 총 비용들에 기초하여 현재 AGV에 대한 경로 계획이 수행될 수 있다. In some embodiments, node information of a plurality of nodes of the modified topology map (eg, a weight value of a node, passability of a node, turn ability of a node, number of neighboring nodes, connectivity of a node to neighboring nodes) ) can be determined. Also, in the modified topology map, a plurality of nodes to which the current AGV may move may be determined based on node information, and a plurality of total costs associated with the plurality of nodes may be determined. Route planning for the current AGV may then be performed based on the plurality of total costs.

일부 실시예들에서, 출발 노드와 목적지 노드 사이의 노드와 연관된 총 비용을 결정하기 위한 프로세스는 복수의 사이클들을 포함하는 반복 프로세스일 수 있다. 각각의 사이클마다, 업데이트된 현재 노드가 결정될 수 있고, 업데이트된 현재 노드의 적어도 하나의 다음 노드가 결정될 수 있다. 적어도 하나의 다음 노드 중 하나(예를 들어, 최소 총 비용을 갖는 다음 노드)는 적어도 하나의 다음 노드와 연관된 적어도 하나의 총 비용에 기초하여 다음 업데이트된 현재 노드로서 결정될 수 있다. In some embodiments, the process for determining the total cost associated with a node between the originating node and the destination node may be an iterative process comprising a plurality of cycles. For each cycle, an updated current node may be determined, and at least one next node of the updated current node may be determined. One of the at least one next node (eg, the next node with the minimum total cost) may be determined as the next updated current node based on the at least one total cost associated with the at least one next node.

본 개시의 실시예들에 따르면, 스케줄링 시스템에 의해 획득되는 토폴로지 맵은 실제 상황들에서 토폴로지 맵의 노드 정보의 변화를 반영할 수 있는 업데이트된 토폴로지 맵이다. 또한, 토폴로지 맵 상의 전처리는 계획된 경로의 노드들이 도달 가능하고 계획된 경로가 실제 상황들과 일치하는 것을 보장할 수 있다. 토폴로지 맵에서 수행된 제1 전처리는 제1 경로 계획의 제1 경로를 따라 이동하는 현재 AGV가 다른 정지된 AGV들을 피할 수 있도록 보장할 수 있으며; 토폴로지 맵에서 수행된 제2 전처리는 제2 계획의 제2 경로를 따라 이동하는 현재 AGV가 하나 이상의 이동하는 AGV들을 피할 수 있도록 보장할 수 있다. 따라서, 본 개시의 실시예들에 따르면, 현재 AGV가 다른 AGV들과 충돌할 수 있는 상황을 회피될 수 있다. According to embodiments of the present disclosure, the topology map obtained by the scheduling system is an updated topology map that may reflect changes in node information of the topology map in actual situations. In addition, preprocessing on the topology map can ensure that the nodes of the planned path are reachable and that the planned path is consistent with real situations. The first preprocessing performed on the topology map may ensure that the current AGV traveling along the first path of the first path plan avoids other stationary AGVs; The second preprocessing performed on the topology map may ensure that the current AGV moving along the second path of the second plan avoids one or more moving AGVs. Therefore, according to embodiments of the present disclosure, a situation in which the current AGV may collide with other AGVs can be avoided.

일부 실시예들에서, 토폴로지 맵에 대한 전처리는 제1 전처리 및/또는 제2 전처리를 포함할 수 있다. In some embodiments, the pre-processing for the topology map may include a first pre-processing and/or a second pre-processing.

토폴로지 맵에서 수행되는 제1 전처리에 따르면, 토폴로지 맵에서 현재 AGV와는 다른 하나 이상의 정지된 AGV들 각각에 대해, 정지된 AGV를 중심으로 하는 사전 설정된 지역 내의 하나 이상의 노드들의 노드 정보가 수정될 수 있다. 또한, 수정된 노드 정보에 기초하여 제1 수정된 토폴로지 맵이 생성될 수 있다. According to the first preprocessing performed in the topology map, for each of the one or more stationary AGVs different from the current AGV in the topology map, the node information of one or more nodes within a preset area centered on the stationary AGV may be modified. . Also, a first modified topology map may be generated based on the modified node information.

토폴로지 맵에서 수행되는 제2 전처리에 따르면, 토폴로지 맵에서 현재 AGV와는 다른 하나 이상의 정지된 AGV들 각각에 대해, 정지된 AGV를 중심으로 하는 사전 설정된 지역 내의 하나 이상의 노드들의 노드 정보가 수정될 수 있으며; 토폴로지 맵에서 하나 이상의 이동하는 AGV들 각각에 대해, 이동하는 AGV가 통과하지 않은 계획된 경로의 하나 이상의 노드들의 노드 정보가 수정될 수 있다. 또한, 수정된 노드 정보에 기초하여 제2 수정된 토폴로지 맵이 생성될 수 있다. According to the second preprocessing performed in the topology map, for each of the one or more stationary AGVs different from the current AGV in the topology map, the node information of one or more nodes within a preset area centered on the stationary AGV may be modified, ; For each of the one or more moving AGVs in the topology map, node information of one or more nodes of the planned path not passed by the moving AGV may be modified. In addition, a second modified topology map may be generated based on the modified node information.

일부 실시예들에서, 토폴로지 맵에서 현재 AGV와는 다른 하나 이상의 정지된 AGV들 각각에 대해, 정지된 AGV를 중심으로 하는 미리 설정된 지역 내의 하나 이상의 노드들은 지정된 크기만큼 정지된 AGV를 확장함으로써 결정된 지역 내의 노드들을 포함할 수 있다. 지정된 크기는 경로 계획 시스템(100)의 디폴트 설정일 수 있거나 또는 상이한 상황들에 따라 조정될 수 있다. 예를 들어, 지정된 크기는 정지된 AGV의 크기 및/또는 토폴로지 맵에서 인접하는 노드들 사이의 거리에 기초하여 결정될 수 있다. In some embodiments, for each of the one or more stationary AGVs different from the current AGV in the topology map, one or more nodes within the preset area centered on the stationary AGV are located within the area determined by expanding the stationary AGV by a specified size. It may contain nodes. The specified size may be a default setting of the route planning system 100 or may be adjusted according to different circumstances. For example, the designated size may be determined based on the size of the stationary AGV and/or the distance between neighboring nodes in the topology map.

일부 실시예들에서, 제1 전처리 및 제2 전처리는 별도로 수행될 수 있다. In some embodiments, the first pre-treatment and the second pre-treatment may be performed separately.

예를 들어, 제1 전처리는 하나 이상의 정지된 AGV들에 대응하는 노드 정보를 수정함으로써 토폴로지 맵에서 수행될 수 있다. 따라서, 현재 AGV에 대한 계획된 경로(예를 들어, 제1 경로)에 따른 노드들은 제1 수정된 토폴로지 맵의 노드들의 노드 정보에 기초하여 결정될 수 있다. For example, the first preprocessing may be performed in the topology map by modifying node information corresponding to one or more stopped AGVs. Accordingly, nodes along the planned path (eg, the first path) for the current AGV may be determined based on node information of the nodes of the first modified topology map.

다른 예로서, 제2 전처리는 하나 이상의 정지된 AGV들에 대응하는 노드 정보 및 하나 이상의 이동하는 AGV들에 대응하는 노드 정보를 수정함으로써 토폴로지 맵에서 수행될 수 있다. 따라서, 현재 AGV에 대한 계획된 경로(예를 들어, 제2 경로)에 따른 노드들은 제2 수정된 토폴로지 맵의 노드들의 노드 정보에 기초하여 결정될 수 있다. As another example, the second preprocessing may be performed in the topology map by modifying node information corresponding to one or more stationary AGVs and node information corresponding to one or more moving AGVs. Accordingly, the nodes along the planned path (eg, the second path) for the current AGV may be determined based on node information of the nodes of the second modified topology map.

일부 실시예들에서, 제1 전처리 및 제2 전처리는 일괄적으로 수행될 수 있다. In some embodiments, the first pre-processing and the second pre-processing may be performed in batches.

첫 번째로, 제1 수정된 토폴로지 맵은 토폴로지 맵에 대한 제1 전처리를 수행함으로써 획득될 수 있다. First, a first modified topology map may be obtained by performing a first pre-processing on the topology map.

두 번째로, 제1 경로 계획이 제1 수정된 토폴로지 맵에 기초하여 현재 AGV에 대해 수행될 수 있다. 현재 AGV가 제1 경로 계획의 제1 경로를 따라 이동하는 경우 하나 이상의 이동하는 AGV들 중 적어도 하나와 충돌하는 것으로 검출되면, 제1 경로 계획이 실패한 것으로 결정될 수 있다. 그런 다음, 토폴로지 맵에 대해 2차 전처리가 수행될 수 있다. Second, a first route planning may be performed for the current AGV based on the first modified topology map. If the current AGV is detected to collide with at least one of the one or more moving AGVs when moving along the first path of the first path plan, it may be determined that the first path plan has failed. Then, secondary preprocessing may be performed on the topology map.

일부 실시예들에서, 수정된 토폴로지 맵에서 현재 AGV의 출발 노드 및 목적지 노드가 결정될 수 있다. 수정된 토폴로지 맵의 노드 정보에 따라, 출발 노드와 목적지 노드 사이의 복수의 노드들과 연관된 복수의 총 비용들이 결정될 수 있다. 또한, 복수의 총 비용들에 기초하여 현재 AGV에 대한 경로 계획이 수행될 수 있다. In some embodiments, a departure node and a destination node of the current AGV may be determined in the modified topology map. According to the node information of the modified topology map, a plurality of total costs associated with a plurality of nodes between the departure node and the destination node may be determined. Also, route planning for the current AGV may be performed based on the plurality of total costs.

구체적으로, 현재 AGV의 제1 출발 노드와 제1 목적지 노드는 제1 수정된 토폴로지 맵에서 결정될 수 있다. 제1 출발 노드와 제1 목적지 노드 사이의 복수의 노드들과 연관된 복수의 제1 총 비용들은 제1 수정된 토폴로지 맵의 노드 정보에 기초하여 결정될 수 있다. 복수의 제1 총 비용들에 기초하여 현재 AGV에 대한 제1 경로 계획이 수행될 수 있다. Specifically, the first departure node and the first destination node of the current AGV may be determined from the first modified topology map. A plurality of first total costs associated with the plurality of nodes between the first departure node and the first destination node may be determined based on node information of the first modified topology map. A first route planning for the current AGV may be performed based on the plurality of first total costs.

일부 실시예들에서, 제1 출발 노드는 제1 수정된 토폴로지 맵에서 현재 AGV의 출발 위치(예를 들어, 현재 AGV의 위치)에 가장 가까운 제1 이용 가능한 노드일 수 있다. 제1 목적지 노드는 제1 수정된 토폴로지 맵에서 현재 AGV의 목적지에 가장 가까운 제1 이용 가능한 노드일 수 있다. 본 명세서에서, 이용 가능한 노드는 다른 AGV들에 의해 점유되지 않는 노드로서 장벽이 아닌 노드를 지칭한다. In some embodiments, the first starting node may be the first available node closest to the starting location of the current AGV (eg, the location of the current AGV) in the first modified topology map. The first destination node may be the first available node closest to the destination of the current AGV in the first modified topology map. In this specification, an available node refers to a node that is not a barrier as a node that is not occupied by other AGVs.

현재 AGV가 제1 경로 계획의 제1 경로를 따라 이동하는 경우 현재 AGV가 하나 이상의 이동하는 AGV들 중 적어도 하나와 충돌하는 것으로 검출하는 데 응답하여, 제2 수정된 토폴로지 맵에서 현재 AGV의 제2 출발 노드 및 제2 목적지 노드가 결정될 수 있다. 제2 출발 노드와 제2 목적지 노드 사이의 복수의 노드들과 연관된 복수의 제2 총 비용들은 또한 제2 수정된 토폴로지 맵의 노드 정보에 기초하여 결정될 수 있다. 또한, 복수의 제2 총 비용들에 기초하여 현재 AGV에 대한 제2 경로 계획이 수행될 수 있다. In response to detecting that the current AGV collides with at least one of the one or more moving AGVs when the current AGV moves along the first path of the first path plan, a second of the current AGV in the second modified topology map A departure node and a second destination node may be determined. A plurality of second total costs associated with the plurality of nodes between the second departure node and the second destination node may also be determined based on the node information of the second modified topology map. Also, a second route planning for the current AGV may be performed based on the plurality of second total costs.

일부 실시예들에서, 제2 출발 노드는 제2 수정된 토폴로지 맵에서 현재 AGV의 출발 위치(예를 들어, 현재 AGV의 위치)에 가장 가까운 제2 이용 가능한 노드일 수 있다. 제2 목적지 노드는 제2 수정된 토폴로지 맵에서 현재 AGV의 목적지에 가장 가까운 제2 이용 가능한 노드일 수 있다. 일부 실시예들에서, 제2 출발 노드는 제1 출발 노드와 동일하거나 상이할 수 있고; 유사하게, 제2 목적지 노드는 제1 목적지 노드와 동일하거나 상이할 수 있다. 예를 들어, 제1 이용 가능한 노드가 제2 수정된 토폴로지 맵에서 장벽이 아니거나 다른 AGV들에 의해 점유되지 않은 경우, 제2 출발 노드는 제1 출발 노드와 동일할 수 있다. In some embodiments, the second starting node may be the second available node closest to the starting location of the current AGV (eg, the location of the current AGV) in the second modified topology map. The second destination node may be a second available node closest to the destination of the current AGV in the second modified topology map. In some embodiments, the second starting node may be the same as or different from the first starting node; Similarly, the second destination node may be the same as or different from the first destination node. For example, if the first available node is not a barrier in the second modified topology map or is not occupied by other AGVs, the second starting node may be the same as the first starting node.

일부 실시예들에서, 해당 노드에 대응하는 총 비용은 출발 노드로부터 해당 노드까지의 제1 비용 및 해당 노드로부터 목적지 노드까지의 제2 비용을 포함할 수 있다. In some embodiments, the total cost corresponding to the node may include a first cost from the starting node to the corresponding node and a second cost from the corresponding node to the destination node.

일부 실시예들에서, 토폴로지 맵에서 현재 AGV와는 다른 하나 이상의 정지된 AGV들 각각에 대해, 정지된 AGV를 중심으로 하는 미리 설정된 지역 내의 하나 이상의 노드들의 노드 정보는 하나 이상의 노드들의 하나 이상의 가중치 값들을 하나 이상의 높은 가중치 값들(예를 들어, 미리 설정된 임계값보다 큰 가중치 값들)로 수정하고 하나 이상의 노드들을 턴을 할 수 없는 노드들로 설정함으로써 수정될 수 있다. 특정 노드를 예로 들어, 높은 가중치 값은 AGV가 특정 노드를 우회할 수 있음을 나타낼 수 있다. In some embodiments, for each of the one or more stationary AGVs different from the current AGV in the topology map, the node information of one or more nodes within a preset area centered on the stationary AGV includes one or more weight values of the one or more nodes. It may be modified by modifying to one or more high weight values (eg, weight values greater than a preset threshold) and setting one or more nodes to non-turnable nodes. Taking a specific node as an example, a high weight value may indicate that the AGV can bypass the specific node.

일부 실시예들에서, 토폴로지 맵에서 현재 AGV와는 다른 정지된 AGV들 각각에 대해, 정지된 AGV를 중심으로 하는 사전 설정된 지역 내의 하나 이상의 노드들의 노드 정보는 하나 이상의 노드들을 통과할 수 없는 노드들로 설정하고 하나 이상의 노드들을 하나 이상의 장벽들로 지정함으로써 수정될 수 있다. 토폴로지 맵에서 하나 이상의 이동하는 AGV들 각각에 대해, 이동하는 AGV가 통과하지 않은 계획된 경로의 하나 이상의 노드들의 노드 정보는 하나 이상의 노드들의 하나 이상의 가중치 값들을 하나 이상의 높은 가중치 값들(예를 들어, 미리 설정된 임계값보다 큰 가중치 값들)을 설정함으로써 수정될 수 있다. In some embodiments, for each of the stationary AGVs different from the current AGV in the topology map, the node information of one or more nodes within a preset area centered on the stationary AGV is to nodes that cannot pass through the one or more nodes. It can be modified by setting and designating one or more nodes as one or more barriers. For each of the one or more moving AGVs in the topology map, the node information of one or more nodes of the planned path not traversed by the moving AGV may include the one or more weight values of the one or more nodes to one or more high weight values (e.g., in advance). It can be modified by setting weight values greater than the set threshold value).

일부 실시예들에서, 수정된 토폴로지 맵에서 현재 AGV의 출발 노드 및 목적지 노드가 결정된 후, 수정된 토폴로지 맵의 노드 정보에 기초하여 출발 노드 또는 목적지 노드가 장벽인 것으로 결정되면, 경로 계획이 실패했다고 결정될 수 있다. 일부 실시예들에서, 출발 노드가 장벽인 것으로 결정되면, 현재 AGV에 대해 다음으로 가장 가까운 노드(해당 노드는 장벽이 아니며 다른 AGV들에 의해 점유되지 않은 것으로 가정)가 새로운 출발 노드로 지정될 수 있으며, 새로운 경로 계획이 현재 AGV에 대해 수행될 수 있다. In some embodiments, after the departure node and the destination node of the current AGV are determined in the modified topology map, if it is determined that the departure node or the destination node is a barrier based on the node information of the modified topology map, it is determined that the route planning has failed. can be decided. In some embodiments, if it is determined that the starting node is a barrier, the next closest node to the current AGV (assuming that node is not a barrier and is not occupied by other AGVs) may be designated as the new starting node. and new route planning can be performed for the current AGV.

일부 실시예들에서, 출발 노드는 경로의 제1 현재 노드로 지정될 수 있다. 각각의 사이클마다, 업데이트된 현재 노드가 결정되고 업데이트된 현재 노드가 목적지 노드가 아닌 경우, 업데이트된 현재 노드의 다음 노드가 결정될 수 있다. 구체적으로, 해당 경로의 노드들 이외의 하나 이상의 노드들과 연관된 하나 이상의 총 비용들이 결정될 수 있으며, 최소 총 비용을 갖는 노드가 경로 상의 노드로서 및 업데이트된 현재 노드의 다음 노드로 결정될 수 있다. 또한, 다음 노드는 다음 사이클에서 업데이트된 현재 노드로 결정될 수 있다. In some embodiments, the originating node may be designated as the first current node of the route. For each cycle, an updated current node is determined, and if the updated current node is not the destination node, a next node of the updated current node may be determined. Specifically, one or more total costs associated with one or more nodes other than those of the path may be determined, and the node with the minimum total cost may be determined as a node on the path and a next node of the updated current node. Also, the next node may be determined as the updated current node in the next cycle.

일부 실시예들에서, 해당 노드에 대응하는 총 비용은 해당 노드("다음 노드"로 간주될 수 있음)의 부모 노드("현재 노드"로 간주될 수 있음)로부터 해당 노드까지의 경로 비용, 예를 들어, 부모 노드로부터 해당 노드까지의 비용, 부모 노드로부터 해당 노드로의 턴 비용, 해당 노드의 가중치 값 등, 또는 이들의 임의의 조합을 반영하는 복수의 파라미터들을 포함할 수 있다. 전형적인 파라미터들이 예시의 목적으로 제공되며 실제 요구에 따라 다른 파라미터들도 또한 사용될 수 있다는 점에 유의해야 한다. 예를 들어, 상기 파라미터들은 또한 가격 정보(예를 들어, 톨게이트, 연료 소비), 도로 정보(예를 들어, 도로 유형, 도로 폭, 신호등, 교통 통제, 도로 혼잡, 속도 제한) 등, 또는 이들의 임의의 조합에 관한 파라미터들을 포함할 수 있다. In some embodiments, the total cost corresponding to that node is the cost of the path from the parent node (which may be considered the "current node") to that node (which may be considered the "next node"), e.g. For example, it may include a plurality of parameters reflecting a cost from a parent node to a corresponding node, a turn cost from a parent node to a corresponding node, a weight value of the corresponding node, or any combination thereof. It should be noted that typical parameters are provided for illustrative purposes and other parameters may also be used according to actual needs. For example, the parameters may also include price information (eg toll gates, fuel consumption), road information (eg road type, road width, traffic lights, traffic control, road congestion, speed limits), etc., or their It can include parameters for any combination.

일부 실시예들에서, 해당 노드에 대응하는 총 비용은 현재 노드로부터 해당 노드까지의 비용 및/또는 해당 노드로부터 목적지 노드까지의 비용에 기초하여 결정될 수 있다. In some embodiments, the total cost corresponding to the node may be determined based on the cost from the current node to the node and/or the cost from the node to the destination node.

예를 들어, 해당 노드에 대응하는 총 비용은 아래의 수식 (1)에 따라 결정될 수 있다: For example, the total cost corresponding to the node may be determined according to Equation (1) below:

Figure pct00001
(1)
Figure pct00001
(One)

여기서

Figure pct00002
은 해당 노드의 일련 번호를 나타내고,
Figure pct00003
은 해당 노드에 대응하는 총 비용을 나타내고,
Figure pct00004
은 현재 노드로부터 해당 노드까지의 비용을 나타내고,
Figure pct00005
은 해당 노드로부터 목적지 노드까지의 비용을 나타낸다.here
Figure pct00002
represents the serial number of the node,
Figure pct00003
represents the total cost corresponding to the node,
Figure pct00004
represents the cost from the current node to the corresponding node,
Figure pct00005
represents the cost from the node to the destination node.

일부 실시예들에서, 해당 노드로부터 목적지 노드까지의 비용은 아래의 수식 (2)에 따른 맨해튼 거리(Manhattan distance)를 사용하여 결정될 수 있다: In some embodiments, the cost from that node to the destination node may be determined using the Manhattan distance according to Equation (2) below:

Figure pct00006
(2)
Figure pct00006
(2)

여기서

Figure pct00007
Figure pct00008
는 목적지 노드의 X 좌표 및 Y 좌표를 각각 나타내고,
Figure pct00009
Figure pct00010
은 해당 노드의 X 좌표 및 Y 좌표를 각각 나타낸다.here
Figure pct00007
and
Figure pct00008
represents the X coordinate and Y coordinate of the destination node, respectively,
Figure pct00009
and
Figure pct00010
represents the X coordinate and Y coordinate of the corresponding node, respectively.

일부 실시예들에서, 현재 노드로부터 해당 노드까지의 비용은 현재 노드에 대응하는 총 비용, 해당 노드의 가중치 값, 현재 노드로부터 해당 노드까지의 거리에 기초하여 결정된 거리 비용, 및/또는 현재 노드로부터 해당 노드로의 턴 비용에 기초하여 결정될 수 있다. In some embodiments, the cost from the current node to the corresponding node is a total cost corresponding to the current node, a weight value of the node, a distance cost determined based on the distance from the current node to the corresponding node, and/or from the current node It may be determined based on the turn cost to the corresponding node.

예를 들어, 현재 노드로부터 해당 노드까지의 비용은 아래의 수식 (3)에 따라 결정될 수 있다: For example, the cost from the current node to the corresponding node may be determined according to Equation (3) below:

Figure pct00011
(3)
Figure pct00011
(3)

여기서

Figure pct00012
은 해당 노드의 가중치 값을 나타내고,
Figure pct00013
는 현재 노드에 대응하는 총 비용을 나타내고,
Figure pct00014
은 현재 노드로부터 해당 노드까지의 거리에 따라 결정된 거리 비용을 나타내고,
Figure pct00015
은 현재 노드로부터 해당 노드로의 턴 비용을 나타낸다.here
Figure pct00012
represents the weight value of the node,
Figure pct00013
represents the total cost corresponding to the current node,
Figure pct00014
represents the distance cost determined according to the distance from the current node to the corresponding node,
Figure pct00015
represents the turn cost from the current node to the corresponding node.

일부 실시예들에서, 현재 노드로부터 해당 노드까지의 거리 비용은 아래의 수식 (4)에 따라 결정될 수 있다: In some embodiments, the cost of the distance from the current node to that node may be determined according to Equation (4) below:

Figure pct00016
(4)
Figure pct00016
(4)

여기서

Figure pct00017
Figure pct00018
는 현재 노드의 X 좌표 및 Y 좌표를 각각 나타내고,
Figure pct00019
Figure pct00020
은 해당 노드의 X 좌표 및 Y 좌표를 각각 나타낸다.here
Figure pct00017
and
Figure pct00018
represents the X and Y coordinates of the current node, respectively,
Figure pct00019
and
Figure pct00020
represents the X coordinate and Y coordinate of the corresponding node, respectively.

일부 실시예들에서, 해당 노드의 현재 노드로부터의 턴 비용은 아래의 수식 (5)에 따라 결정될 수 있다: In some embodiments, the turn cost of that node from the current node may be determined according to Equation (5) below:

Figure pct00021
(5)
Figure pct00021
(5)

여기서

Figure pct00022
는 현재 노드의 타겟 각도(target angle)를 나타내고,
Figure pct00023
은 해당 노드의 타겟 각도를 나타내고,
Figure pct00024
는 턴 비용의 가중 인자를 나타낸다.here
Figure pct00022
represents the target angle of the current node,
Figure pct00023
represents the target angle of the node,
Figure pct00024
denotes the weighting factor of the turn cost.

일부 실시예들에서, 최소 비용을 갖는 노드는 이진 힙 구조(binary heap structure)에 기초하여 결정될 수 있다.In some embodiments, the node with the least cost may be determined based on a binary heap structure.

일부 실시예들에서, 수정된 토폴로지 맵에서 현재 AGV의 출발 노드가 결정될 수 있다. 구체적으로, 현재 AGV에 가장 가까운 노드가 결정될 수 있다. 해당 노드는 현재 AGV와는 다른 AGV들에 의해 해당 노드가 점유되지 않을 때 출발 노드로 지정될 수 있다. In some embodiments, the starting node of the current AGV may be determined in the modified topology map. Specifically, the node closest to the current AGV may be determined. A corresponding node may be designated as a starting node when the corresponding node is not occupied by AGVs different from the current AGV.

일부 실시예들에서, 토폴로지 맵의 노드 정보는 노드의 가중치 값, 노드의 통행 가능성(예를 들어, 차량이 노드를 통과할 수 있는지 여부), 노드의 턴 능력(예를 들어, 차량이 노드에서 회전시킬 수 있는지 여부), 인접 노드들의 개수(예를 들어, 4, 8), 인접 노드들에 대한 노드의 연결성 등, 또는 이들의 임의의 조합을 포함할 수 있다. In some embodiments, the node information of the topology map may include the node's weight value, the node's passability (eg, whether a vehicle can pass through the node), and the node's turn ability (eg, the vehicle's ability to pass through the node). can be rotated), the number of neighboring nodes (eg, 4, 8), the node's connectivity to neighboring nodes, etc., or any combination thereof.

도 5는 본 개시의 일부 실시예들에 따른 AGV에 대한 경로 계획을 위한 전형적인 프로세스를 도시하는 흐름도이다. 일부 실시예들에서, 프로세스(500)는 저장 ROM(230) 또는 RAM(240)에 저장된 명령들의 세트(예를 들어, 애플리케이션)로서 구현될 수 있다. 도 6의 프로세서(220) 및/또는 모듈들은 명령들의 세트를 실행할 수 있고, 명령들을 실행할 때 프로세서(220) 및/또는 모듈들은 프로세스(500)를 수행하도록 구성될 수 있다. 이하에서 제공되는 예시된 프로세스의 동작들은 예시적이도록 의도된다. 몇몇 실시예들에서, 프로세스(500)는 설명되지 않은 하나 이상의 부가적인 동작들을 갖고, 및/또는 논의된 동작들 중 하나 이상 없이 성취될 수 있다. 부가적으로, 도 5에 예시되고 이하에서 설명되는 바와 같이 프로세스의 동작들의 순서는 제한적이도록 의도되지 않는다. 5 is a flowchart illustrating an exemplary process for route planning for an AGV in accordance with some embodiments of the present disclosure. In some embodiments, process 500 may be implemented as a set of instructions (eg, an application) stored in storage ROM 230 or RAM 240 . The processor 220 and/or modules of FIG. 6 may execute a set of instructions, and when executing the instructions, the processor 220 and/or modules may be configured to perform the process 500 . The operations of the illustrated process provided below are intended to be exemplary. In some embodiments, process 500 may be accomplished with one or more additional operations not described and/or without one or more of the operations discussed. Additionally, the order of the operations of the process as illustrated in FIG. 5 and described below is not intended to be limiting.

501에서, 토폴로지 맵이 스케줄링 시스템으로부터 획득될 수 있다. 동작 501은 동작 401과 유사할 수 있으며, 여기서는 상세한 설명을 생략한다. At 501 , a topology map may be obtained from a scheduling system. Operation 501 may be similar to operation 401, and a detailed description thereof will be omitted herein.

502에서, 토폴로지 맵이 전처리되고, 수정된 토폴로지 맵이 복수의 AGV들에 의해 점유된 노드들의 일련 번호들, 복수의 AGV들의 움직임 상태 정보, 및 토폴로지 맵의 노드들의 노드 정보(예를 들어, 턴 능력)에 기초하여 획득될 수 있다. 동작 502은 동작 501과 유사할 수 있으며, 여기서는 상세한 설명을 생략한다. At 502 , the topology map is preprocessed, and the modified topology map is modified with serial numbers of nodes occupied by the plurality of AGVs, motion state information of the plurality of AGVs, and node information of nodes of the topology map (eg, turn ability) can be obtained. Operation 502 may be similar to operation 501 , and a detailed description thereof will be omitted herein.

503에서, 스케줄링 시스템에서 현재 AGV의 출발 노드 및 목적지 노드는 현재 AGV에 의해 점유된 노드의 일련 번호 및 현재 AGV에 할당된 태스크의 목적지에 기초하여 (수정된) 토폴로지 맵에서 결정될 수 있다. At 503 , the departure node and destination node of the current AGV in the scheduling system may be determined from the (modified) topology map based on the serial number of the node currently occupied by the AGV and the destination of the task currently assigned to the AGV.

504에서, 출발 노드 또는 목적지 노드가 장벽인지 여부가 결정될 수 있다. 출발 노드 또는 목적지 노드가 장벽이라는 결정에 응답하여, 프로세스(500)는 동작(505)으로 진행할 수 있다. 출발 노드 및 목적지 노드가 장벽이 아니라는 결정에 응답하여, 프로세스(500)는 동작(506)으로 진행할 수 있다. At 504 , it may be determined whether the originating node or the destination node is a barrier. In response to determining that the originating node or destination node is a barrier, process 500 may proceed to operation 505 . In response to determining that the originating node and destination node are not barriers, process 500 may proceed to operation 506 .

505에서, 경로 계획이 실패했다고 결정될 수 있다. At 505 , it may be determined that the route planning has failed.

506에서, 개방 세트

Figure pct00025
가 결정될 수 있고 (수정된) 토폴로지 맵에서 경로 계획을 위해 검색될 노드들을 저장하는 데 사용될 수 있으며; 폐쇄 세트
Figure pct00026
가 경로 계획을 위해 이미 검색된 노드들을 저장하기 위해 결정되고 사용될 수 있다. At 506, open set
Figure pct00025
can be determined and used to store nodes to be searched for path planning in the (modified) topology map; closed set
Figure pct00026
may be determined and used to store nodes already found for path planning.

507에서, 출발 노드는 현재 노드로 지정될 수 있고, 현재 노드에 대응하는 총 비용이 결정될 수 있고, 출발 노드가 개방 세트에 포함될 수 있다. At 507 , the starting node may be designated as the current node, a total cost corresponding to the current node may be determined, and the starting node may be included in the open set.

508에서, 이진 힙 구조가 결정될 수 있고, 최소 총 비용을 갖는 노드가 이진 힙 구조에 기초하여 개방 세트 내의 노드들 중에서 결정될 수 있고, 해당 노드는 개방 세트에서 삭제되고 폐쇄 세트에 추가될 수 있다. At 508 , a binary heap structure may be determined, a node with a minimum total cost may be determined from among the nodes in the open set based on the binary heap structure, and the node may be deleted from the open set and added to the closed set.

509에서, 최소 총 비용을 갖는 노드가 목적지 노드인지 여부가 결정될 수 있다. 최소 총 비용을 갖는 노드가 목적지 노드라는 결정에 응답하여, 프로세스(500)는 동작(510)으로 진행할 수 있다. 최소 총 비용을 갖는 노드가 목적지 노드가 아니라는 결정에 응답하여, 프로세스(500)는 동작(511)으로 진행할 수 있다. At 509 , it may be determined whether the node with the minimum total cost is the destination node. In response to determining that the node with the minimum total cost is the destination node, process 500 may proceed to operation 510 . In response to determining that the node with the minimum total cost is not the destination node, process 500 may proceed to operation 511 .

510에서, 경로 계획이 성공한 것으로 결정될 수 있다. 목적지 노드의 이전 노드들은 이전 노드가 출발 노드로 될 때까지 결정될 수 있다. At 510 , it may be determined that the route planning was successful. Previous nodes of the destination node may be determined until the previous node becomes the departure node.

511에서, 현재 노드의 다음 노드가 결정될 수 있고, 다음 노드의 총 비용이 결정될 수 있고, 다음 노드가 개방 세트에 포함될 수 있다. 그 다음, 프로세스는 동작 508로 진행할 수 있다. At 511 , a next node of the current node may be determined, a total cost of the next node may be determined, and the next node may be included in the open set. The process may then proceed to operation 508 .

현재 노드의 다음 노드는 (수정된) 토폴로지 맵에서 노드들의 노드 정보(예를 들어, 통행 가능성)에 기초하여 현재 노드의 네 방향들(예를 들어, 위쪽 방향, 아래쪽 방향, 왼쪽 방향, 오른쪽 방향)에서 인접 노드들에 연관된 총 비용들을 결정함으로써 결정될 수 있다. The next node of the current node moves in four directions (eg, upward, downward, left, right) of the current node based on the node information (eg, passability) of the nodes in the (modified) topology map. ) can be determined by determining the total costs associated with the neighboring nodes.

도 6은 본 개시의 몇몇 실시예들에 따른 전형적인 프로세싱 디바이스를 도시하는 블록도이다; 프로세싱 디바이스(112)는 위치 획득 모듈(610), 맵 획득 모듈(620), 움직임 상태 획득 모듈(630), 및 경로 결정 모듈(640)을 포함할 수 있다. 6 is a block diagram illustrating an exemplary processing device in accordance with some embodiments of the present disclosure; The processing device 112 may include a location obtaining module 610 , a map obtaining module 620 , a motion state obtaining module 630 , and a path determining module 640 .

위치 획득 모듈(610)은 타겟 차량(예를 들어, 차량(130))의 출발 위치 및 목적지를 획득하도록 구성될 수 있다. 일부 실시예들에서, 출발 위치 및/또는 목적지는 타겟 차량에 할당된 태스크과 연관될 수 있다. 일부 실시예들에서, 출발 위치는 타겟 차량의 현재 위치일 수 있고, 목적지는 대상(object)이 위치하는 위치일 수 있다. 일부 실시예들에서, 출발 위치는 대상이 위치하는 위치일 수 있고, 목적지는 대상의 배송 위치일 수 있다. 일부 실시예들에서, 출발 위치는 타겟 차량의 현재 위치일 수 있고, 목적지는 대상의 배송 위치일 수 있다. The location obtaining module 610 may be configured to obtain a starting location and a destination of the target vehicle (eg, the vehicle 130 ). In some embodiments, the starting location and/or destination may be associated with a task assigned to the target vehicle. In some embodiments, the starting location may be the current location of the target vehicle, and the destination may be a location where the object is located. In some embodiments, the departure location may be a location where the object is located, and the destination may be the delivery location of the object. In some embodiments, the departure location may be the current location of the target vehicle and the destination may be the delivery location of the target.

맵 획득 모듈(620)은 출발 위치 및 목적지를 포함하는 타겟 지역의 맵를 획득하도록 구성될 수 있다. 일부 실시예들에서, 맵은 토폴로지 맵, 그리드 맵, 기하학적 맵, 포인트 클라우드 맵 등을 포함할 수 있다. 일부 실시예들에서, 맵은 복수의 노드들 및 맵에 있는 복수의 노드들 각각의 노드 정보(통행 가능성)를 포함할 수 있다. 일부 실시예들에서, 맵 획득 모듈(620)은 경로 계획 시스템(100)의 저장 디바이스(예를 들어, 저장 디바이스(150)), 외부 디바이스 등으로부터 맵를 획득할 수 있다. 일부 실시예들에서, 맵 획득 모듈(620)은 타겟 지역에 대응하는 예비 맵(타겟 지역보다 큰 지역에 대응할 수 있음)의 일부를 추출함으로써 맵를 획득할 수 있다. 추가적으로 또는 대안적으로, 맵 획득 모듈(620)은 전체 예비 맵를 획득할 수 있다. The map acquisition module 620 may be configured to acquire a map of the target area including the starting location and the destination. In some embodiments, the map may include a topological map, a grid map, a geometric map, a point cloud map, and the like. In some embodiments, the map may include a plurality of nodes and node information (travelability) of each of the plurality of nodes in the map. In some embodiments, the map acquisition module 620 may acquire a map from a storage device (eg, the storage device 150 ) of the route planning system 100 , an external device, or the like. In some embodiments, the map acquisition module 620 may acquire a map by extracting a part of a preliminary map (which may correspond to an area larger than the target area) corresponding to the target area. Additionally or alternatively, the map acquisition module 620 may acquire the entire preliminary map.

움직임 상태 획득 모듈(630)은 타겟 지역에서 타겟 차량과는 다른 하나 이상의 차량들과 연관된 움직임 상태 정보를 획득하도록 구성될 수 있다. 일부 실시예들에서, 하나 이상의 차량들 각각과 연관된 움직임 상태는 정지된 상태 및 이동하는 상태를 포함할 수 있다. 일부 실시예들에서, 움직임 상태 획득 모듈(630)은 하나 이상의 차량들의 위치 정보에 기초하여 움직임 상태 정보를 획득할 수 있다. 특정 차량을 예로 들면, 특정 차량의 위치가 일정 기간의 시간(예를 들어, 5초, 20초, 30초, 1분, 2분, 5분) 내에서 동일하게 유지되는 경우, 움직임 상태 획득 모듈(630)은 특정 차량이 정지된 상태에 있는 것으로 결정할 수 있으며; 반면에, 특정 차량의 위치가 시간에 따라 변하는 경우, 움직임 상태 획득 모듈(630)은 특정 차량이 이동하는 상태에 있다고 결정할 수 있다. 일부 실시예들에서, 하나 이상의 차량들은 네트워크(120)를 통해 움직임 상태 정보를 움직임 상태 획득 모듈(630)로 전송할 수 있다. The motion status acquisition module 630 may be configured to acquire motion status information associated with one or more vehicles different from the target vehicle in the target area. In some embodiments, the motion state associated with each of the one or more vehicles may include a stationary state and a moving state. In some embodiments, the motion status obtaining module 630 may obtain motion status information based on location information of one or more vehicles. Taking a specific vehicle as an example, when the position of the specific vehicle remains the same within a certain period of time (eg, 5 seconds, 20 seconds, 30 seconds, 1 minute, 2 minutes, 5 minutes), the motion state acquisition module 630 may determine that the particular vehicle is in a stationary state; On the other hand, when the location of the specific vehicle changes with time, the motion state obtaining module 630 may determine that the specific vehicle is in a moving state. In some embodiments, one or more vehicles may transmit motion status information to motion status obtaining module 630 via network 120 .

경로 결정 모듈(640)은 출발 위치, 목적지, 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 맵에 적어도 부분적으로 기초하여 타겟 차량의 타겟 경로를 결정하도록 구성될 수 있다. 일부 실시예들에서, 경로 결정 모듈(640)은 경로 계획 알고리즘을 사용하여 타겟 경로를 결정할 수 있다. 경로 계획 알고리즘은 A-star 알고리즘, 수정된 A-star 알고리즘, Dijkstra 알고리즘, Floyd-Warshall 알고리즘, Bellman-Ford 알고리즘, RRT(Rapid-Exploring Random Tree) 알고리즘 등, 또는 이들의 임의의 조합을 포함할 수 있다. The route determination module 640 may be configured to determine a target route of the target vehicle based at least in part on the departure location, the destination, motion state information associated with the one or more vehicles, and the map. In some embodiments, the path determination module 640 may determine the target path using a path planning algorithm. The path planning algorithm may include an A-star algorithm, a modified A-star algorithm, a Dijkstra algorithm, a Floyd-Warshall algorithm, a Bellman-Ford algorithm, a Rapid-Exploring Random Tree (RRT) algorithm, etc., or any combination thereof. have.

일부 실시예들에서, 복수의 노드 중 적어도 하나에 대해, 경로 결정 모듈(640)은 하나 이상의 차량들과 연관된 움직임 상태 정보에 기초하여 복수의 노드들 중 적어도 하나의 각각의 노드 정보의 적어도 일부를 수정함으로써 타겟 노드 정보를 결정할 수 있다. 그 다음, 경로 결정 모듈(640)은 맵 및 복수의 노드들 중 적어도 하나의 타겟 노드 정보에 기초하여 타겟 맵을 생성할 수 있다. 또한, 경로 결정 모듈(640)은 타겟 맵, 출발 위치, 및 목적지에 기초하여 타겟 차량의 타겟 경로를 결정할 수 있다. In some embodiments, for at least one of the plurality of nodes, the path determination module 640 determines at least a portion of each node information of at least one of the plurality of nodes based on the motion state information associated with the one or more vehicles. By modifying the target node information can be determined. Next, the path determination module 640 may generate a target map based on the map and target node information of at least one of the plurality of nodes. Also, the path determination module 640 may determine the target path of the target vehicle based on the target map, the departure location, and the destination.

일부 실시예들에서, 경로 결정 모듈(640)은 타겟 맵에서의 출발 위치에 기초하여 복수의 노드들로부터 출발 노드를 결정할 수 있고 타겟 맵에서의 목적지에 기초하여 복수의 노드들로부터 목적지 노드를 결정할 수 있다. 본 명세서에서 사용되는 바와 같이, 출발 노드는 출발 위치(예를 들어, 타겟 차량의 위치)에 가장 가까운 이용 가능한 노드(예를 들어, 타겟 차량과는 다른 하나 이상의 차량들에 의해 점유되지 않고 장벽이 아닌 노드)일 수 있으며, 목적지 노드는 목적지에 가장 가까운 이용 가능한 노드일 수 있다. 또한, 경로 결정 모듈(640)은 출발 노드와 목적지 노드 사이의 복수의 타겟 노드들과 연관된 복수의 비용들에 기초하여 타겟 차량의 타겟 경로를 결정할 수 있다. 본 명세서에 사용된 바와 같이, 노드의 비용은 경로가 노드를 포함하는 경우 출발 노드로부터 목적지 노드까지의 경로의 비용을 나타낼 수 있다. In some embodiments, the route determination module 640 may determine a departure node from the plurality of nodes based on a departure location in the target map and determine a destination node from the plurality of nodes based on the destination in the target map. can As used herein, a departure node is the closest available node (eg, a location of a target vehicle) to a departure location (eg, a target vehicle) that is not occupied by one or more vehicles other than the target vehicle and is not occupied by a barrier. node), and the destination node may be an available node closest to the destination. Also, the route determination module 640 may determine the target route of the target vehicle based on a plurality of costs associated with a plurality of target nodes between the departure node and the destination node. As used herein, the cost of a node may refer to the cost of a path from an origin node to a destination node if the path includes the node.

프로세싱 디바이스(112)의 모듈들은 유선 연결 또는 무선 연결을 통해 서로 연결되거나 통신될 수 있다. 유선 연결은 금속 케이블, 광 케이블, 하이브리드 케이블 등, 또는 이들의 임의의 조합을 포함할 수 있다. 무선 연결은 근거리 네트워크(LAN), 광역 네트워크(WAN), 블루투스, 지그비, 근거리장 통신(NFC) 등, 또는 이들의 임의의 조합을 포함할 수 있다. 둘 이상의 모듈들은 단일 모듈로 결합될 수 있고, 상기 모듈들 중 어느 것도 둘 이상의 유닛들로 분할될 수 있다. 예를 들어, 위치 획득 모듈(610) 및 맵 획득 모듈(620)은 단일 모듈로 결합될 수 있으며, 이는 타겟 차량의 출발 위치와 목적지, 그리고 출발 위치와 목적지를 포함하는 타겟 지역의 맵를 모두 획득할 수 있다. 다른 예로서, 프로세싱 디바이스(112)는 태스크(예를 들어, 상품 배송)를 타겟 차량에 을 할당할 수 있는 태스크 할당 모듈(도시되지 않음)을 포함할 수 있다. 추가의 예로서, 프로세싱 디바이스(112)는 전술한 모듈들에 의해 생성된 데이터를 저장하는 데 사용될 수 있는 저장 모듈(도시되지 않음)을 포함할 수 있다. The modules of the processing device 112 may be connected or communicate with each other via a wired connection or a wireless connection. Wired connections may include metal cables, optical cables, hybrid cables, etc., or any combination thereof. The wireless connection may include a local area network (LAN), a wide area network (WAN), Bluetooth, Zigbee, near field communication (NFC), etc., or any combination thereof. Two or more modules may be combined into a single module, and any of the modules may be divided into two or more units. For example, the location acquisition module 610 and the map acquisition module 620 may be combined into a single module, which acquires both the departure location and destination of the target vehicle, and a map of the target area including the departure location and destination. can As another example, the processing device 112 can include a task assignment module (not shown) that can assign a task (eg, delivering goods) to a target vehicle. As a further example, processing device 112 may include a storage module (not shown) that may be used to store data generated by the modules described above.

도 7은 본 개시의 일부 실시예들에 따른 타겟 차량의 타겟 경로를 결정하기 위한 전형적인 프로세스를 도시하는 흐름도이다. 일부 실시예들에서, 프로세스(700)는 저장 ROM(230) 또는 RAM(240)에 저장된 명령들의 세트(예를 들어, 애플리케이션)로서 구현될 수 있다. 도 6의 프로세서(220) 및/또는 모듈들은 명령들의 세트를 실행할 수 있고, 명령들을 실행할 때 프로세서(220) 및/또는 모듈들은 프로세스(700)를 수행하도록 구성될 수 있다. 이하에서 제공되는 예시된 프로세스의 동작들은 예시적이도록 의도된다. 일부 실시예들에서, 프로세스(700)는 설명되지 않은 하나 이상의 부가적인 동작들로, 및/또는 여기서 논의된 동작들 중 하나 이상 없이 달성될 수 있다. 부가적으로, 도 7에 예시되고 이하에서 설명되는 바와 같이 프로세스의 동작들의 순서는 제한적이도록 의도되지 않는다. 7 is a flowchart illustrating an exemplary process for determining a target path of a target vehicle in accordance with some embodiments of the present disclosure. In some embodiments, process 700 may be implemented as a set of instructions (eg, an application) stored in storage ROM 230 or RAM 240 . The processor 220 and/or modules of FIG. 6 may execute a set of instructions, and when executing the instructions, the processor 220 and/or modules may be configured to perform the process 700 . The operations of the illustrated process provided below are intended to be exemplary. In some embodiments, process 700 may be accomplished with one or more additional operations not described and/or without one or more of the operations discussed herein. Additionally, the order of the operations of the process as illustrated in FIG. 7 and described below is not intended to be limiting.

710에서, 프로세싱 디바이스(112)(예를 들어, 위치 획득 모듈(610))(예를 들어, 프로세서(220)의 인터페이스 회로들 또는 프로세싱 회로들)는 타겟 차량(예를 들어, 차량(130))의 출발 위치 및 목적지를 획득할 수 있다. At 710 , processing device 112 (eg, location acquisition module 610 ) (eg, interface circuits or processing circuits of processor 220 ) connects to target vehicle (eg, vehicle 130 ) ) to obtain the starting location and destination.

일부 실시예들에서, 출발 위치 및/또는 목적지는 프로세싱 디바이스(112)에 의해 타겟 차량에 할당된 태스크, 예를 들어 대상(예를 들어, 상품, 음식, 승객)을 배송 위치로 배송하기 위한 태스크와 연관될 수 있다. 일부 실시예들에서, 출발 위치는 타겟 차량의 현재 위치일 수 있고, 목적지는 대상이 위치하는 위치일 수 있다. 일부 실시예들에서, 출발 위치는 대상이 위치하는 위치일 수 있고, 목적지는 대상의 배송 위치일 수 있다. 일부 실시예들에서, 출발 위치는 타겟 차량의 현재 위치일 수 있고, 목적지는 대상의 배송 위치일 수 있다. 태스크들을 할당하는 것과 관련한 더 많은 설명은 본 개시의 다른 곳에서 찾을 수 있다(예를 들어, 도 9 및 그에 대한 설명). In some embodiments, the departure location and/or destination is a task assigned to the target vehicle by the processing device 112 , eg, a task for delivering an object (eg, goods, food, passenger) to the delivery location. can be related to In some embodiments, the starting location may be a current location of the target vehicle and the destination may be a location where the target is located. In some embodiments, the departure location may be a location where the object is located, and the destination may be the delivery location of the object. In some embodiments, the departure location may be the current location of the target vehicle and the destination may be the delivery location of the target. Further discussion of assigning tasks can be found elsewhere in this disclosure (eg, FIG. 9 and its description).

720에서, 프로세싱 디바이스(112)(예를 들어, 맵 획득 모듈(620))(예를 들어, 프로세서(220)의 인터페이스 회로들 또는 프로세싱 회로들)는 출발 위치 및 목적지를 포함하는 타겟 지역의 맵을 획득할 수 있다. 일부 실시예들에서, 타겟 지역은 복수의 환경 대상들(environmental objects), 예를 들어, 상품, 도로, 나무, 차량, 건물, 강, 보행자 등, 또는 이들의 임의의 조합을 포함할 수 있다. 따라서, 맵은 타겟 지역의 환경 대상들을 나타내는 맵 데이터를 포함할 수 있다. At 720 , processing device 112 (eg, map acquisition module 620 ) (eg, interface circuits or processing circuits of processor 220 ) provides a map of the target area including the departure location and destination can be obtained. In some embodiments, the target area may include a plurality of environmental objects, eg, goods, roads, trees, vehicles, buildings, rivers, pedestrians, etc., or any combination thereof. Accordingly, the map may include map data representing environmental objects of the target area.

일부 실시예들에서, 맵 데이터는 복수의 환경 대상들의 위치 정보, 복수의 환경 대상들의 의미론적 정보 등, 또는 이들의 임의의 조합을 포함할 수 있다. 환경 대상의 전형적인 위치 정보는 위도 정보, 경도 정보, 높이 정보(또는 고도 정보) 등을 포함할 수 있다. 환경 대상의 전형적인 의미론적 정보는 환경 대상의 일련 번호, 환경 대상의 이름, 환경 대상의 유형(예를 들어, 도로의 유형(예를 들어, 고속도로)), 환경 대상의 속성 정보(예를 들어, 도로의 제한 속도, "일방 통행" 여부, 터닝 제한) 등, 또는 이들의 임의의 조합을 포함할 수 있다. In some embodiments, the map data may include location information of a plurality of environment objects, semantic information of a plurality of environment objects, etc., or any combination thereof. Typical location information of the environmental object may include latitude information, longitude information, height information (or altitude information), and the like. Typical semantic information of the environmental object includes the serial number of the environmental object, the name of the environmental object, the type of the environmental object (eg, the type of road (eg, highway)), and attribute information of the environmental object (eg, speed limits on the road, whether "one-way" or not, turning limits), etc., or any combination thereof.

일부 실시예들에서, 맵은 토폴로지 맵, 그리드 맵, 기하학적 맵, 포인트 클라우드 맵 등을 포함할 수 있다. 일부 실시예들에서, 맵은 복수의 노드들을 포함할 수 있으며, 이들 각각은 특정 포인트(예를 들어, 모퉁이, 게이트웨이, 교차로, 정류장) 또는 타겟 영역의 특정 유닛(예를 들어, 원, 직사각형, 삼각형)을 나타낼 수 있다. In some embodiments, the map may include a topological map, a grid map, a geometric map, a point cloud map, and the like. In some embodiments, a map may include a plurality of nodes, each of which is a specific point (eg, a corner, gateway, intersection, stop) or a specific unit of a target area (eg, a circle, rectangle, triangle) can be represented.

일부 실시예들에서, 맵 데이터는 또한 맵에 있는 복수의 노드들 각각의 노드 정보를 포함할 수 있다. 예를 들어, 노드의 노드 정보는 해당 노드의 일련 번호, 해당 노드의 바코드(예를 들어, 1차원 바코드, 2차원 바코드(예를 들어, QR(Quick Response) 코드), 해당 노드의 위치(위도, 경도, 높이(또는 고도)로 표현될 수 있음), 해당 노드의 좌표, 해당 노드의 가중치 값, 해당 노드의 통행 가능성(예를 들어, 차량이 해당 노드를 통행하도록 허용되는지 여부), 해당 노드의 턴 능력(예를 들어, 차량이 해당 노드에서 회전하도록 허용되는지 여부), 인접 노드들의 개수(예를 들어, 4, 8), 인접 노드들에 대한 노드의 연결성 등, 또는 이들의 임의의 조합을 포함할 수 있다. In some embodiments, the map data may also include node information of each of the plurality of nodes in the map. For example, the node information of a node includes the serial number of the node, the barcode of the node (eg, one-dimensional barcode, two-dimensional barcode (eg, QR (Quick Response) code)), and the location (latitude) of the node. , which can be expressed in terms of longitude, height (or elevation), the coordinates of that node, the weight value of that node, the traversability of that node (e.g., whether a vehicle is allowed to pass through that node), that node the turn ability of (eg, whether the vehicle is allowed to rotate at that node), the number of neighboring nodes (eg, 4, 8), the node's connectivity to neighboring nodes, etc., or any combination thereof may include.

일부 실시예들에서, 노드의 일련 번호 또는 바코드는 고유할 수 있고, 노드의 위치를 나타내기 위해 사용될 수 있다. 일부 실시예들에서, 노드의 가중치 값이 높을수록 노드의 총 비용이 더 커질 수 있고, 따라서 차량이 노드를 우회할 확률이 더 높을 수 있다. In some embodiments, the serial number or barcode of a node may be unique and may be used to indicate the location of the node. In some embodiments, a higher weight value of a node may result in a higher total cost of the node, and thus a higher probability that a vehicle will bypass the node.

일부 실시예들에서, 노드 정보는 경로 계획 시스템(100)의 디폴트 설정일 수 있거나 상이한 상황들에 따라 조정가능할 수 있다. 예를 들어, 복수의 노드들 전체 또는 일부에 대해, 가중치 값이 디폴트 값(예를 들어, 0)으로 설정될 수 있고, 노드의 통행 가능성이 차량들이 통과하는 것을 허용하도록 설정될 수 있으며, 노드의 턴 능력이 차량들이 노드에서 회전하는 것을 허용하도록 설정될 수 있다. 다른 예로서, 복수의 노드들 중 적어도 일부에 대해, 노드 정보는 환경 조건들, 예를 들어 통행 가능성 제한(예를 들어, 도로 통제, 일방 통행 제한), 턴 제한 등과 관련될 수 있다. 노드 정보에 관한 더 많은 설명들은 본 개시의 다른 곳에서 찾을 수 있다(예를 들어, 도 10 및 그에 대한 설명). In some embodiments, the node information may be a default setting of the route planning system 100 or may be adjustable according to different circumstances. For example, for all or some of the plurality of nodes, a weight value may be set to a default value (eg, 0), and the passability of the node may be set to allow vehicles to pass through, The turn capability of may be set to allow vehicles to rotate in the node. As another example, for at least some of the plurality of nodes, the node information may relate to environmental conditions, such as passability restrictions (eg, road controls, one-way restrictions), turn restrictions, and the like. More descriptions of node information can be found elsewhere in this disclosure (eg, FIG. 10 and its description).

일부 실시예들에서, 프로세싱 디바이스(112)는 경로 계획 시스템(100)의 저장 디바이스(예를 들어, 저장 디바이스(150)), 외부 디바이스 등으로부터 맵를 획득할 수 있다. 일부 실시예들에서, 프로세싱 디바이스(112)는 타겟 지역에 대응하는 예비 맵(타겟 지역보다 큰 지역에 대응할 수 있음)의 일부를 추출함으로써 맵를 획득할 수 있다. 추가적으로 또는 대안적으로, 프로세싱 디바이스(112)는 전체 예비 맵를 획득할 수 있다. In some embodiments, processing device 112 may obtain a map from a storage device (eg, storage device 150 ) of route planning system 100 , an external device, or the like. In some embodiments, the processing device 112 may obtain the map by extracting a portion of the preliminary map corresponding to the target area (which may correspond to an area larger than the target area). Additionally or alternatively, the processing device 112 may obtain the entire preliminary map.

730에서, 프로세싱 디바이스(112)(예를 들어, 움직임 상태 모듈(630))(예를 들어, 프로세서(220)의 인터페이스 회로들 또는 프로세싱 회로들)은 타겟 지역에서 타겟 차량과는 다른 하나 이상의 차량들과 연관된 움직임 상태 정보를 획득할 수 있다. At 730 , the processing device 112 (eg, the motion state module 630 ) (eg, interface circuits or processing circuits of the processor 220 ) configures one or more vehicles other than the target vehicle in the target area. It is possible to obtain motion state information associated with the

일부 실시예들에서, 하나 이상의 차량들 각각과 연관된 움직임 상태는 정지된 상태 및 이동하는 상태를 포함할 수 있다. 일부 실시예들에서, 프로세싱 디바이스(112)는 하나 이상의 차량들의 위치 정보에 기초하여 움직임 상태 정보를 획득할 수 있다. 특정 차량을 예로 들면, 특정 차량의 위치가 일정 기간의 시간(예를 들어, 5초, 20초, 30초, 1분, 2분, 5분) 내에서 동일하게 유지되는 경우, 프로세싱 디바이스(112)는 특정 차량이 정지된 상태에 있는 것으로 결정할 수 있으며; 반면에, 특정 차량의 위치가 시간에 따라 변하는 경우, 프로세싱 디바이스(112)는 특정 차량이 이동하는 상태에 있다고 결정할 수 있다. 일부 실시예들에서, 하나 이상의 차량들은 네트워크(120)를 통해 움직임 상태 정보를 프로세싱 디바이스(112)로 전송할 수 있다.In some embodiments, the motion state associated with each of the one or more vehicles may include a stationary state and a moving state. In some embodiments, processing device 112 may obtain motion state information based on location information of one or more vehicles. Taking a specific vehicle as an example, if the location of the specific vehicle remains the same within a period of time (eg, 5 seconds, 20 seconds, 30 seconds, 1 minute, 2 minutes, 5 minutes), the processing device 112 ) may determine that a particular vehicle is in a stationary state; On the other hand, if the location of the particular vehicle changes over time, the processing device 112 may determine that the particular vehicle is in a moving state. In some embodiments, one or more vehicles may transmit motion state information to processing device 112 via network 120 .

740에서, 프로세싱 디바이스(112)(예를 들어, 경로 결정 모듈(640))(예를 들어, 프로세서(220)의 프로세싱 회로)는 출발 위치, 목적지, 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 맵에 적어도 부분적으로 기초하여 타겟 차량의 타겟 경로를 결정할 수 있다. At 740 , the processing device 112 (eg, the route determination module 640 ) (eg, processing circuitry of the processor 220 ) configures the starting location, destination, motion state information associated with one or more vehicles, and A target path of the target vehicle may be determined based at least in part on the map.

일부 실시예들에서, 프로세싱 디바이스(112)는 경로 계획 알고리즘을 사용하여 타겟 경로를 결정할 수 있다. 경로 계획 알고리즘은 A-star 알고리즘, 수정된 A-star 알고리즘, Dijkstra 알고리즘, Floyd-Warshall 알고리즘, Bellman-Ford 알고리즘, RRT(Rapid-Exploring Random Tree) 알고리즘 등, 또는 이들의 임의의 조합을 포함할 수 있다. In some embodiments, processing device 112 may determine a target path using a path planning algorithm. The path planning algorithm may include an A-star algorithm, a modified A-star algorithm, a Dijkstra algorithm, a Floyd-Warshall algorithm, a Bellman-Ford algorithm, a Rapid-Exploring Random Tree (RRT) algorithm, etc., or any combination thereof. have.

일부 실시예들에서, 복수의 노드 중 적어도 하나에 대해, 프로세싱 디바이스(112)는 하나 이상의 차량들과 연관된 움직임 상태 정보에 기초하여 복수의 노드들 중 적어도 하나의 각각의 노드 정보의 적어도 일부를 수정함으로써 타겟 노드 정보를 결정할 수 있다. 노드 정보를 수정하는 것과 관련한 더 많은 설명들은 본 개시의 다른 곳에서 찾을 수 있다(예를 들어, 도 8 및 그에 대한 설명). 그 다음, 프로세싱 디바이스(112)는 맵 및 복수의 노드들 중 적어도 하나의 타겟 노드 정보에 기초하여 타겟 맵을 생성할 수 있다. 또한, 프로세싱 디바이스(112)는 타겟 맵, 출발 위치, 및 목적지에 기초하여 타겟 차량의 타겟 경로를 결정할 수 있다. In some embodiments, for at least one of the plurality of nodes, the processing device 112 modifies at least a portion of respective node information of at least one of the plurality of nodes based on motion state information associated with the one or more vehicles. By doing so, target node information can be determined. Further descriptions relating to modifying node information can be found elsewhere in this disclosure (eg, FIG. 8 and its description). The processing device 112 may then generate the target map based on the map and target node information of at least one of the plurality of nodes. Further, the processing device 112 may determine a target route of the target vehicle based on the target map, the departure location, and the destination.

일부 실시예들에서, 프로세싱 디바이스(112)는 타겟 맵에서의 출발 위치에 기초하여 복수의 노드들로부터 출발 노드를 결정할 수 있고 타겟 맵에서의 목적지에 기초하여 복수의 노드들로부터 목적지 노드를 결정할 수 있다. 본 명세서에서 사용되는 바와 같이, 출발 노드는 출발 위치(예를 들어, 타겟 차량의 위치)에 가장 가까운 이용 가능한 노드(예를 들어, 타겟 차량과는 다른 하나 이상의 차량들에 의해 점유되지 않고 장벽이 아닌 노드)일 수 있으며, 목적지 노드는 목적지에 가장 가까운 이용 가능한 노드일 수 있다. 또한, 프로세싱 디바이스(112)는 출발 노드와 목적지 노드 사이의 복수의 타겟 노드들과 연관된 복수의 비용들에 기초하여 타겟 차량의 타겟 경로를 결정할 수 있다. 본 명세서에 사용된 바와 같이, 노드의 비용은 경로가 노드를 포함하는 경우 출발 노드로부터 목적지 노드까지의 경로의 비용을 나타낼 수 있다. In some embodiments, processing device 112 may determine a departure node from a plurality of nodes based on a departure location in the target map and determine a destination node from the plurality of nodes based on a destination in the target map. have. As used herein, a departure node is the closest available node (eg, a location of a target vehicle) to a departure location (eg, a target vehicle) that is not occupied by one or more vehicles other than the target vehicle and is not occupied by a barrier. node), and the destination node may be an available node closest to the destination. Further, the processing device 112 may determine the target path of the target vehicle based on a plurality of costs associated with the plurality of target nodes between the departure node and the destination node. As used herein, the cost of a node may refer to the cost of a path from an origin node to a destination node if the path includes the node.

단지 예로서, 도 4와 관련하여 설명된 바와 같이, 프로세싱 디바이스(112)는 제1 세트(예를 들어, 개방 세트) 및 제2 세트(예를 들어, 폐쇄 세트)를 결정할 수 있고, 제1 세트 및 제2 세트에 기초하여 순환하는 프로세스를 수행할 수 있다. 초기화 상태에서, 제1 세트는 출발 노드만을 포함하고, 제2 세트는 비어있는 세트이다. 제1 사이클에서, 프로세싱 디바이스(112)는 출발 노드를 제2 세트로 이동시키고 출발 노드의 적어도 하나의 관련 노드를 제1 세트에 추가할 수 있다. 본 명세서에서 사용되는 바와 같이, 특정 노드에 대해, 관련 노드는 특정 노드로부터 도달 가능한(예를 들어, 통과가능, 턴 가능) 인접 노드를 지칭할 수 있다. 예를 들어, 도 10에 도시된 바와 같이, 노드 1의 경우, 적어도 하나의 관련 노드는 노드 2, 노드 3, 노드 4, 및 노드 5를 포함한다. 또한, 프로세싱 디바이스(112)는 적어도 하나의 관련 노드의 적어도 하나의 비용을 결정하고 최소 비용을 갖는 관련 노드를 제2 세트로 이동시킬 수 있다. 그 다음, 프로세싱 디바이스(112)는 최소 비용을 갖는 관련 노드가 목적지 노드인지 여부를 결정할 수 있다. 관련 노드가 목적지 노드라는 결정에 응답하여, 프로세싱 디바이스(112)는 관련 노드의 부모 노드(제1 사이클의 출발 노드임)를 결정할 수 있고, 출발 노드에 도달할 때까지 부모 노드의 부모 노드를 순차적으로 결정할 수 있다. 또한, 프로세싱 디바이스(112)는 출발 노드로부터 중간 노드들(즉, 다수의 사이클들에서 최소 비용을 갖는 관련 노드들)을 포함하여 목적지까지의 경로를 타겟 경로로 결정할 수 있다. 관련 노드가 목적지 노드가 아니라는 결정에 응답하여, 프로세싱 디바이스(112)는 관련 노드를 현재 노드로 지정하고 다음 사이클을 실행할 수 있다. By way of example only, and as described with respect to FIG. 4 , the processing device 112 may determine a first set (eg, an open set) and a second set (eg, a closed set), the first A cycle may be performed based on the set and the second set. In the initialization state, the first set contains only the starting nodes, and the second set is an empty set. In the first cycle, the processing device 112 may move the starting node to the second set and add at least one associated node of the starting node to the first set. As used herein, for a particular node, an associated node may refer to a neighboring node reachable (eg, traversable, turnable) from the particular node. For example, as shown in FIG. 10 , for node 1, at least one related node includes node 2, node 3, node 4, and node 5. Further, the processing device 112 may determine at least one cost of the at least one associated node and move the associated node with the least cost to the second set. The processing device 112 may then determine whether the associated node with the least cost is the destination node. In response to determining that the associated node is the destination node, the processing device 112 may determine the parent node of the associated node (which is the starting node of the first cycle) and sequentially cycle through the parent node of the parent node until the departure node is reached. can be determined as Further, the processing device 112 may determine, as the target route, a route from the origin node to the destination including intermediate nodes (ie, the associated nodes with the least cost in multiple cycles). In response to determining that the associated node is not the destination node, the processing device 112 may designate the associated node as the current node and execute the next cycle.

i번째 사이클에서, 이전 사이클에서 결정된 최소 비용을 갖는 관련 노드(i번째 "현재 노드"로도 간주될 수 있음)에 대해, 프로세싱 디바이스(112)는 현재 노드의 적어도 하나의 관련 노드를 결정하고 적어도 하나의 관련 노드를 제1 세트에 추가할 수 있다. 그 다음, 프로세싱 디바이스(112)는 적어도 하나의 관련 노드의 적어도 하나의 비용을 결정할 수 있다. 또한, 적어도 하나의 관련 노드 각각에 대해, 프로세싱 디바이스(112)는 관련 노드가 이미 제1 세트에 있는지 여부를 결정할 수 있다. 관련 노드가 이미 제1 세트에 있다는 결정에 응답하여, 프로세싱 디바이스(112)는 현재 사이클에서 결정된 관련 노드의 비용(또한 "현재 비용"이라고도 함)이 이전 사이클에서 결정된 관련 노드의 비용(또한 "이전 비용"이라고도 함)보다 작은지 여부를 결정할 수 있다. 관련 노드의 현재 비용이 관련 노드의 이전 비용보다 작다는 결정에 응답하여, 프로세싱 디바이스(112)는 관련 노드의 비용을 업데이트하고 관련 노드의 부모 노드(이전 사이클에서 이전의 현재 노드일 수 있음)를 현재 노드로 업데이트할 수 있다. 관련 노드의 현재 비용이 관련 노드의 이전 비용보다 크거나 같다는 결정에 응답하여, 프로세싱 디바이스(112)는 추가 처리를 위해 관련 노드의 부모 노드 및 비용을 유지할 수 있다. 관련 노드가 제1 세트 내에 없다는 결정에 응답하여, 프로세싱 디바이스(112)는 관련 노드의 부모 노드를 현재 노드로 결정할 수 있다. 또한, 프로세싱 디바이스(112)는 최소 비용을 갖는 관련 노드를 결정하고 최소 비용을 갖는 관련 노드가 목적지 노드인지 여부를 결정할 수 있다. 상기와 유사하게, 관련 노드가 목적지 노드라는 결정에 응답하여, 프로세싱 디바이스(112)는 관련 노드의 부모 노드를 결정할 수 있고, 출발 노드에 도달할 때까지 부모 노드의 부모 노드를 순차적으로 결정할 수 있다. 또한, 프로세싱 디바이스(112)는 출발 노드로부터 중간 노드들(즉, 다수의 사이클들에서 최소 비용을 갖는 관련 노드들)을 포함하여 목적지까지의 경로를 타겟 경로로 결정할 수 있다. 관련 노드가 목적지 노드가 아니라는 결정에 응답하여, 프로세싱 디바이스(112)는 관련 노드를 다음의 현재 노드로 지정할 수 있고, 업데이트된 관련 노드가 목적지 노드가 될 때까지 다음 사이클을 실행할 수 있다. In the ith cycle, for an associated node with the minimum cost determined in the previous cycle (which may also be considered an ith “current node”), the processing device 112 determines at least one associated node of the current node and determines at least one A related node of may be added to the first set. The processing device 112 may then determine at least one cost of the at least one associated node. Further, for each of the at least one associated node, the processing device 112 may determine whether the associated node is already in the first set. In response to determining that the related node is already in the first set, the processing device 112 determines that the cost of the related node determined in the current cycle (also referred to as the “current cost”) is the cost of the related node determined in the previous cycle (also referred to as the “previous cost”). cost") can be determined. In response to determining that the associated node's current cost is less than the associated node's previous cost, the processing device 112 updates the associated node's cost and sets the associated node's parent node (which may be the previous current node in the previous cycle). You can update to the current node. In response to determining that the associated node's current cost is greater than or equal to the associated node's previous cost, processing device 112 may maintain the associated node's parent node and cost for further processing. In response to determining that the associated node is not in the first set, processing device 112 may determine the parent node of the associated node to be the current node. Further, the processing device 112 may determine the associated node with the least cost and determine whether the associated node with the least cost is the destination node. Similarly above, in response to determining that the associated node is a destination node, processing device 112 may determine the parent node of the associated node, and sequentially determine the parent node of the parent node until a departure node is reached. . Further, the processing device 112 may determine, as the target route, a route from the origin node to the destination including intermediate nodes (ie, the associated nodes with the least cost in multiple cycles). In response to determining that the associated node is not the destination node, the processing device 112 may designate the associated node as the next current node, and may execute a next cycle until the updated associated node becomes the destination node.

일부 실시예들에서, 프로세싱 디바이스(112)는 노드의 비용을 결정하는 데 있어 출발 노드로부터 해당 노드까지의 제1 비용 및 해당 노드로부터 목적지 노드까지의 제2 비용에 기초하여 해당 노드의 비용을 결정할 수 있다. 예를 들어, 프로세싱 디바이스(112)는 아래의 수식 (6)에 따라 노드의 비용을 결정할 수 있다: In some embodiments, the processing device 112 determines the cost of the node based on a first cost from the starting node to the corresponding node and a second cost from the node to the destination node in determining the cost of the node. can For example, the processing device 112 may determine the cost of the node according to equation (6) below:

Figure pct00027
(6)
Figure pct00027
(6)

여기서

Figure pct00028
은 해당 노드의 일련 번호를 나타내고,
Figure pct00029
은 해당 노드의 비용를 나타내고,
Figure pct00030
은 출발 노드로부터 해당 노드까지의 제1 비용을 나타내고,
Figure pct00031
은 해당 노드로부터 목적지 노드까지의 제2 비용을 나타낸다.here
Figure pct00028
represents the serial number of the node,
Figure pct00029
represents the cost of the node,
Figure pct00030
represents the first cost from the starting node to the corresponding node,
Figure pct00031
denotes the second cost from the corresponding node to the destination node.

일부 실시예들에서, 프로세싱 디바이스(112)는 아래의 수식 (7)에 따라 제1 비용을 결정할 수 있다: In some embodiments, the processing device 112 may determine the first cost according to Equation (7) below:

Figure pct00032
(7)
Figure pct00032
(7)

여기서

Figure pct00033
은 노드의 가중치 값을 나타내고,
Figure pct00034
는 해당 노드의 부모 노드의 비용을 나타내고,
Figure pct00035
은 해당 노드의 부모 노드로부터 해당 노드까지의 비용을 나타내고,
Figure pct00036
은 해당 노드의 부모 노드로부터 해당 노드로의 턴 비용을 나타낸다.here
Figure pct00033
represents the weight value of the node,
Figure pct00034
represents the cost of that node's parent node,
Figure pct00035
represents the cost from the parent node of the node to the node,
Figure pct00036
represents the turn cost from the parent node of the node to the node.

일부 실시예들에서, 프로세싱 디바이스(112)는 아래의 수식 (8)에 따라 해당 노드의 부모 노드로부터 해당 노드까지의 비용을 결정할 수 있다: In some embodiments, the processing device 112 may determine the cost from the parent node of the node to the node according to Equation (8) below:

Figure pct00037
(8)
Figure pct00037
(8)

여기서

Figure pct00038
Figure pct00039
는 해당 노드의 부모 노드의 X 좌표 및 Y 좌표를 각각 나타내고,
Figure pct00040
Figure pct00041
은 해당 노드의 X 좌표 및 Y 좌표를 각각 나타낸다.here
Figure pct00038
and
Figure pct00039
represents the X and Y coordinates of the parent node of that node, respectively,
Figure pct00040
and
Figure pct00041
represents the X coordinate and Y coordinate of the corresponding node, respectively.

일부 실시예들에서, 프로세싱 디바이스(112)는 아래의 수식 (9)에 따라 해당 노드의 부모 노드로부터 해당 노드로의 턴 비용을 결정할 수 있다: In some embodiments, the processing device 112 may determine the turn cost from the parent node of the node to the node according to Equation (9) below:

Figure pct00042
(9)
Figure pct00042
(9)

여기서

Figure pct00043
는 해당 노드의 부모 노드의 타겟 각도를 나타내고,
Figure pct00044
은 해당 노드의 타겟 각도를 나타내고,
Figure pct00045
는 턴 비용의 가중 인자를 나타낸다.here
Figure pct00043
represents the target angle of the parent node of the corresponding node,
Figure pct00044
represents the target angle of the node,
Figure pct00045
denotes the weighting factor of the turn cost.

일부 실시예들에서, 프로세싱 디바이스(112)는 아래의 수식 (10)에 따라 해당 노드로부터 목적지 노드까지의 제2 비용을 결정할 수 있다: In some embodiments, the processing device 112 may determine the second cost from that node to the destination node according to Equation (10) below:

Figure pct00046
(10)
Figure pct00046
(10)

여기서

Figure pct00047
Figure pct00048
는 목적지 노드의 X 좌표 및 Y 좌표를 각각 나타낸다. 해당 노드로부터 목적지 노드까지의 제2 비용은 맨해튼 거리에 기초하여 결정될 수 있음을 알 수 있다. 맨해튼 거리는 설명의 목적으로 제공되었으며, 제2 비용은 또한 다른 거리들, 예를 들어, 유클리드 거리 들에 기초하여 결정될 수 있다.here
Figure pct00047
and
Figure pct00048
denotes the X coordinate and Y coordinate of the destination node, respectively. It can be seen that the second cost from the corresponding node to the destination node may be determined based on the Manhattan distance. The Manhattan distance is provided for illustrative purposes, and the second cost may also be determined based on other distances, eg, Euclidean distances.

상기 설명은 단지 예시의 목적들을 위해 제공되며, 본 개시의 범위를 제한하도록 의도되지 않는다는 것이 주의되어야 한다. 당 기술분야에서의 통상의 기술자들의 경우, 다수의 변형들 및 수정들이 본 개시의 교시들 하에서 이루어질 수 있다. 그러나, 이들 변화들 및 수정들은 본 개시의 범위로부터 벗어나지 않는다. 예를 들어, 프로세싱 디바이스(112)는 동작 710 이전에 동작 720을 수행할 수 있거나, 동작 710 및 동작 720을 동시에 수행할 수 있다. 다른 예로서, 프로세싱 디바이스(112)는 미리 결정된 시간 간격(예를 들어, 1분, 2분, 5분)에 따라 새로 획득된 움직임 상태 정보에 기초하여 타겟 노드 정보를 자동으로 업데이트할 수 있거나, 또는 타겟 노드 정보를 업데이트하기 위한 요청을 수신할 때 타겟 노드 정보를 업데이트할 수 있다. It should be noted that the above description is provided for purposes of illustration only, and is not intended to limit the scope of the present disclosure. Numerous variations and modifications may be made to those skilled in the art under the teachings of this disclosure. However, these changes and modifications do not depart from the scope of the present disclosure. For example, the processing device 112 may perform operation 720 before operation 710 , or may perform operations 710 and 720 concurrently. As another example, the processing device 112 may automatically update the target node information based on the newly acquired motion state information according to a predetermined time interval (eg, 1 minute, 2 minutes, 5 minutes), or Alternatively, the target node information may be updated when a request for updating the target node information is received.

도 8은 본 개시의 일부 실시예들에 따른 타겟 차량의 타겟 경로를 결정하기 위한 전형적인 프로세스를 도시하는 흐름도이다. 일부 실시예들에서, 프로세스(800)는 저장 ROM(230) 또는 RAM(240)에 저장된 명령들의 세트(예를 들어, 애플리케이션)로서 구현될 수 있다. 도 6의 프로세서(220) 및/또는 모듈들은 명령들의 세트를 실행할 수 있고, 명령들을 실행할 때 프로세서(220) 및/또는 모듈들은 프로세스(800)를 수행하도록 구성될 수 있다. 이하에서 제공되는 예시된 프로세스의 동작들은 예시적이도록 의도된다. 일부 실시예들에서, 프로세스(800)는 설명되지 않은 하나 이상의 부가적인 동작들로, 및/또는 여기서 논의된 동작들 중 하나 이상 없이 달성될 수 있다. 부가적으로, 도 8에 예시되고 이하에서 설명되는 바와 같이 프로세스의 동작들의 순서는 제한적이도록 의도되지 않는다. 8 is a flowchart illustrating an exemplary process for determining a target path of a target vehicle in accordance with some embodiments of the present disclosure. In some embodiments, process 800 may be implemented as a set of instructions (eg, an application) stored in storage ROM 230 or RAM 240 . The processor 220 and/or modules of FIG. 6 may execute a set of instructions, and when executing the instructions, the processor 220 and/or modules may be configured to perform the process 800 . The operations of the illustrated process provided below are intended to be exemplary. In some embodiments, process 800 may be accomplished with one or more additional operations not described and/or without one or more of the operations discussed herein. Additionally, the order of the operations of the process as illustrated in FIG. 8 and described below is not intended to be limiting.

801에서, 프로세싱 디바이스(112)(예를 들어, 경로 결정 모듈(640))(예를 들어, 프로세서(220)의 프로세싱 회로들)는 움직임 상태 정보에 기초하여 하나 이상의 차량들로부터 하나 이상의 정지된 차량들을 식별할 수 있다. 동작 730과 관련하여 설명된 바와 같이, 하나 이상의 차량들 각각과 연관된 움직임 상태는 정지된 상태 및 이동하는 상태를 포함할 수 있다. 따라서, 하나 이상의 정지된 차량들은 정지된 상태에 있는 차량(들)이다. At 801 , the processing device 112 (eg, the path determination module 640 ) (eg, processing circuits of the processor 220 ) receives the one or more stationary vehicles from the one or more vehicles based on the motion state information. Vehicles can be identified. As described with respect to operation 730, the motion state associated with each of the one or more vehicles may include a stationary state and a moving state. Accordingly, one or more stationary vehicles are vehicle(s) in a stationary state.

802에서, 하나 이상의 정지된 차량들 각각에 대해, 프로세싱 디바이스(112)(예를 들어, 경로 결정 모듈(640))(예를 들어, 프로세서(220)의 프로세싱 회로들)는 정지된 차량과 연관된 하나 이상의 노드들을 포함하는 미리 설정된 지역(예를 들어, 정지된 차량을 중심으로 하는 지역)을 결정할 수 있다. 일부 실시예들에서, 프로세싱 디바이스(112)는 정지된 차량에 의해 점유된 지역을 미리 설정된 지역으로 지정할 수 있다. 일부 실시예들에서, 프로세싱 디바이스(112)는 정지된 차량에 의해 점유된 지역을 확장(예를 들어, 비례적으로 확장)함으로써 미리 설정된 지역을 결정할 수 있다. 일부 실시예들에서, 미리 설정된 지역의 크기 및/또는 모양은 경로 계획 시스템(100)의 디폴트 설정일 수 있거나 또는 다른 상황들에 따라 조정 가능할 수 있다. 예를 들어, 정지된 차량의 크기가 클수록 사전 설정된 영역이 더 커질 수 있다. 다른 예로서, 맵에서 두 개의 인접한 노드들 사이의 거리가 짧을수록 사전 설정된 영역은 더 커질 수 있다. 또 다른 예로서, 사전 설정된 지역의 모양은 원형, 직사각형, 삼각형, 또는 임의의 규칙적 또는 불규칙적 모양을 포함할 수 있다. At 802 , for each of the one or more stationary vehicles, processing device 112 (eg, route determination module 640 ) (eg, processing circuits of processor 220 ) associated with the stationary vehicle A preset area including one or more nodes (eg, an area centered on a stationary vehicle) may be determined. In some embodiments, processing device 112 may designate an area occupied by a stationary vehicle as a preset area. In some embodiments, the processing device 112 may determine the preset area by expanding (eg, proportionally expanding) the area occupied by the stationary vehicle. In some embodiments, the preset area size and/or shape may be a default setting of the route planning system 100 or may be adjustable according to other circumstances. For example, the larger the size of the stopped vehicle, the larger the preset area may be. As another example, the shorter the distance between two adjacent nodes in the map, the larger the preset area may be. As another example, the shape of the preset region may include a circle, a rectangle, a triangle, or any regular or irregular shape.

803에서, 정지된 차량과 연관된 하나 이상의 노드들 각각에 대해, 프로세싱 디바이스(112)(예를 들어, 경로 결정 모듈(640))(예를 들어, 프로세서(220)의 프로세싱 회로들)는 노드의 노드 정보를 수정할 수 있다. 일부 실시예들에서, 프로세싱 디바이스(112)는 미리 결정된 임계값보다 큰 가중치 값을 노드에 할당할 수 있다. 일부 실시예들에서, 노드의 가중치 값이 높을수록 노드의 총 비용이 더 커질 수 있고, 따라서 차량이 노드를 우회할 확률이 더 높을 수 있다. 일부 실시예들에서, 프로세싱 디바이스(112)는 또한 노드를 턴(turn)이 불가능한 노드로 지정할 수 있다(즉, 차량이 해당 노드에서 좌회전 또는 우회전하는 것이 허용되지 않음). At 803 , for each of the one or more nodes associated with the stationary vehicle, the processing device 112 (eg, the path determination module 640 ) (eg, processing circuits of the processor 220 ) of the node You can edit node information. In some embodiments, the processing device 112 may assign to the node a weight value that is greater than a predetermined threshold. In some embodiments, a higher weight value of a node may result in a higher total cost of the node, and thus a higher probability that a vehicle will bypass the node. In some embodiments, processing device 112 may also designate a node as a non-turnable node (ie, a vehicle is not allowed to turn left or right at that node).

804에서, 프로세싱 디바이스(112)(예를 들어, 경로 결정 모듈(640))(예를 들어, 프로세서(220)의 프로세싱 회로들)는 맵 및 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 후보 맵을 결정할 수 있다. 예를 들어, 프로세싱 디바이스(112)는 수정된 노드 정보로서 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 노드 정보를 업데이트함으로써 후보 맵을 생성할 수 있다. At 804 , processing device 112 (eg, route determination module 640 ) (eg, processing circuits of processor 220 ) configures the map and one or more nodes associated with each of the one or more stationary vehicles. A candidate map may be determined based on the modified node information. For example, the processing device 112 may generate the candidate map by updating node information of one or more nodes associated with each of the one or more stationary vehicles with the modified node information.

805에서, 프로세싱 디바이스(112)(예를 들어, 경로 결정 모듈(640))(예를 들어, 프로세서(220)의 프로세싱 회로들)는 후보 맵, 출발 위치, 및 목적지에 기초하여 타겟 차량의 후보 경로를 결정할 수 있다. 동작 740과 관련하여 설명된 바와 같이, 프로세싱 디바이스(112)는 후보 맵의 출발 위치에 기초하여 복수의 노드들로부터 후보 출발 노드를 결정할 수 있고, 후보 맵의 목적지에 기초하여 복수의 노드들로부터 후보 목적지 노드를 결정할 수 있고, 후보 출발 노드 및 후보 목적지 노드에 기초하여 후보 경로를 결정할 수 있다. At 805 , the processing device 112 (eg, the route determination module 640 ) (eg, processing circuits of the processor 220 ) configures the candidate of the target vehicle based on the candidate map, the departure location, and the destination. path can be determined. As described with respect to operation 740 , the processing device 112 may determine a candidate departure node from the plurality of nodes based on a departure location of the candidate map, and may determine a candidate from the plurality of nodes based on a destination of the candidate map. The destination node may be determined, and the candidate path may be determined based on the candidate departure node and the candidate destination node.

일부 실시예들에서, 프로세싱 디바이스(112)는 출발 위치에 가장 가까운 노드 또는 목적지에 가장 가까운 노드가 장벽인지 또는 타겟 차량과는 다른 차량들에 의해 점유되고 있는지 여부를 결정할 수 있다. 출발 위치에 가장 가까운 노드와 목적지에 가장 가까운 노드가 모두 장벽이 아니며 다른 차량들에 의해 점유되지 않는다는 결정에 응답하여, 프로세싱 디바이스(112)는 출발 위치에 가장 가까운 노드 및 목적지에 가장 가까운 노드를 후보 출발 노드 및 후보 목적지 노드로 각각 지정할 수 있다. 출발 위치에 가장 가까운 노드가 장벽이거나 타겟 차량과는 다른 차량에 의해 점유되고 있다는 결정에 응답하여, 프로세싱 디바이스(112)는 출발 위치에 대해 다음으로 가장 가까운 노드를 결정할 수 있고, 이용 가능한 노드가 식별될 때까지 다음으로 가장 가까운 노드가 장벽이거나 타겟 차량과는 다른 차량에 의해 점유되지는 여부를 결정할 수 있으며, 또는 프로세싱 디바이스(112)는 가장 가까운 노드가 해제될 때까지 대기할 수 있다. 목적지에 가장 가까운 노드가 장벽이거나 타겟 차량과는 다른 차량에 의해 점유되고 있다는 결정에 응답하여, 프로세싱 디바이스(112)는 경로 계획이 실패했다고 결정할 수 있거나, 또는 프로세싱 디바이스(112)는 가장 가까운 노드가 해제될 때까지 대기할 수 있다. 추가적으로 또는 대안적으로, 프로세싱 디바이스(112)는 목적지로부터 미리 결정된 거리(예를 들어, 20m, 50m, 70m, 100m) 내의 이용 가능한 노드를 후보 목적지 노드로 결정할 수 있다. In some embodiments, the processing device 112 may determine whether the node closest to the starting location or the node closest to the destination is a barrier or is being occupied by vehicles other than the target vehicle. In response to determining that both the node closest to the departure location and the node closest to the destination are not barriers and are not occupied by other vehicles, the processing device 112 selects the node closest to the departure location and the node closest to the destination. It can be designated as a departure node and a candidate destination node, respectively. Responsive to determining that the node closest to the starting location is a barrier or occupied by a vehicle other than the target vehicle, the processing device 112 may determine the next closest node to the starting location, and an available node identifies may determine whether the next closest node is a barrier or is not occupied by a vehicle other than the target vehicle, or the processing device 112 may wait until the nearest node is released. In response to determining that the node closest to the destination is a barrier or is occupied by a vehicle other than the target vehicle, the processing device 112 may determine that the route planning has failed, or the processing device 112 may determine that the closest node You can wait until it is released. Additionally or alternatively, the processing device 112 may determine an available node within a predetermined distance (eg, 20m, 50m, 70m, 100m) from the destination as a candidate destination node.

일부 실시예들에서, 동작 740과 관련하여 설명된 바와 같이, 프로세싱 디바이스(112)는 후보 출발 노드와 후보 목적지 노드 사이의 복수의 타겟 노드들과 연관된 복수의 비용들에 기초하여 후보 경로를 결정할 수 있다. In some embodiments, as described with respect to operation 740 , the processing device 112 may determine a candidate path based on a plurality of costs associated with a plurality of target nodes between the candidate originating node and the candidate destination node. have.

806에서, 프로세싱 디바이스(112)(예를 들어, 경로 결정 모듈(640))(예를 들어, 프로세서(220)의 프로세싱 회로들)는 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 적어도 일부와 적어도 부분적으로 중첩하는지 여부를 결정할 수 있다. 본 명세서에 사용된 바와 같이, 적어도 하나의 미리 결정된 경로는 하나 이상의 차량들 중 적어도 하나의 이동하는 차량에 대응할 수 있다. At 806 , the processing device 112 (eg, the path determination module 640 ) (eg, processing circuits of the processor 220 ) configures at least a portion of at least one predetermined path through which the candidate path has not been traversed. and at least partially overlap with . As used herein, the at least one predetermined route may correspond to a moving vehicle of at least one of the one or more vehicles.

후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 일부와 중첩되지 않는다는 결정에 응답하여, 807에서, 프로세싱 디바이스(112)(예를 들어, 경로 결정 모듈(640))(예를 들어, 프로세서(220)의 프로세싱 회로들)는 후보 경로를 타겟 차량의 타겟 경로로 지정할 수 있다. In response to determining that the candidate path does not overlap a portion of the at least one predetermined path that has not been traversed, at 807 , the processing device 112 (eg, the path determination module 640 ) (eg, the processor ( The processing circuits of 220 ) may designate the candidate route as the target route of the target vehicle.

후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 적어도 일부와 적어도 부분적으로 중첩된다는 결정에 응답하여, 808에서, 정지된 차량과 연관된 하나 이상의 노드들 각각에 대해 프로세싱 디바이스(112)(예를 들어, 경로 결정 모듈(640))(예를 들어, 프로세서(220)의 프로세싱 회로들)는 노드의 노드 정보를 추가로 수정할 수 있다. 일부 실시예들에서, 프로세싱 디바이스(112)는 노드를 장벽으로 지정할 수 있다. In response to determining that the candidate path at least partially overlaps with at least a portion of the at least one predetermined path not traversed, at 808 , for each of the one or more nodes associated with the stopped vehicle, the processing device 112 (eg, , the path determination module 640 ) (eg, processing circuits of the processor 220 ) may further modify node information of the node. In some embodiments, processing device 112 may designate a node as a barrier.

809에서, 프로세싱 디바이스(112)(예를 들어, 경로 결정 모듈(640))(예를 들어, 프로세서(220)의 프로세싱 회로들)는 움직임 상태 정보에 기초하여 하나 이상의 차량들로부터 하나 이상의 이동하는 차량들을 식별할 수 있다. 하나 이상의 이동하는 차량들은 이동하는 상태에 있는 차량(들)이다. At 809 , the processing device 112 (eg, the route determination module 640 ) (eg, processing circuits of the processor 220 ) is configured to move one or more vehicles from the one or more vehicles based on the motion state information. Vehicles can be identified. The one or more moving vehicles are vehicle(s) in a moving state.

810에서, 하나 이상의 이동하는 차량들 각각에 대해, 프로세싱 디바이스(112)(예를 들어, 경로 결정 모듈(640))(예를 들어, 프로세서(220)의 프로세싱 회로들)는 이동하는 차량에 대응하는 미리 결정된 경로와 연관된 하나 이상의 노드들을 결정할 수 있다. 예를 들어, 프로세싱 디바이스(112)는 이동하는 차량이 통과하지 않은 미리 결정된 경로의 일부 상의 모든 노드들을 결정할 수 있다. 다른 예로서, 프로세싱 디바이스(112)는 이동하는 차량이 통과하지 않은 미리 결정된 경로의 일부 상의 노드들 중 일부(예를 들어, 상위 N)를 결정할 수 있다. 추가적으로 또는 대안적으로, 하나 이상의 이동하는 차량들 각각에 대해, 프로세싱 디바이스(112)는 이동하는 차량과 연관된 사전 설정된 지역(예를 들어, 이동하는 차량을 중심으로 하는 지역으로서, 정지된 차량과 연관된 사전 설정된 지역을 결정하기 위한 방식과 유사한 방식으로 결정될 수 있음)을 결정할 수 있으며, 사전 설정된 지역 내에서 하나 이상의 노드들을 결정할 수 있다. At 810 , for each of the one or more moving vehicles, the processing device 112 (eg, the route determination module 640 ) (eg, processing circuits of the processor 220 ) corresponds to the moving vehicle. may determine one or more nodes associated with the predetermined path. For example, the processing device 112 may determine all nodes on the portion of the predetermined path not traversed by the moving vehicle. As another example, the processing device 112 may determine some of the nodes (eg, top N) on a portion of a predetermined path not traversed by a moving vehicle. Additionally or alternatively, for each of the one or more moving vehicles, the processing device 112 may determine a preset area associated with the moving vehicle (eg, an area centered on the moving vehicle that is associated with a stationary vehicle). may be determined in a manner similar to the method for determining the preset region), and one or more nodes within the preset region may be determined.

811에서, 이동하는 차량과 연관된 하나 이상의 노드들 각각에 대해, 프로세싱 디바이스(112)(예를 들어, 경로 결정 모듈(640))(예를 들어, 프로세서(220)의 프로세싱 회로들)는 노드의 노드 정보를 수정할 수 있다. 일부 실시예들에서, 프로세싱 디바이스(112)는 미리 결정된 임계값(상기 설명된 정지된 차량과 연관된 가중치 값에 대응하는 미리 결정된 임계값과 상이하거나 동일할 수 있음)보다 큰 가중치 값을 노드에 할당할 수 있다. At 811 , for each of the one or more nodes associated with the moving vehicle, the processing device 112 (eg, the route determination module 640 ) (eg, processing circuits of the processor 220 ) of the node You can edit node information. In some embodiments, the processing device 112 assigns to the node a weight value that is greater than a predetermined threshold (which may be different from or equal to a predetermined threshold corresponding to a weight value associated with a stationary vehicle described above). can do.

812에서, 프로세싱 디바이스(112)(예를 들어, 경로 결정 모듈(640))(예를 들어, 프로세서(220)의 프로세싱 회로들)는 맵, 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보, 및 하나 이상의 이동하는 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 제2 후보 맵을 결정할 수 있다. 예를 들어, 프로세싱 디바이스(112)는 수정된 노드 정보로서 하나 이상의 정지된 차량들 및 하나 이상의 이동하는 차량들의 각각과 연관된 하나 이상의 노드들의 노드 정보를 업데이트함으로써 제2 후보 맵을 생성할 수 있다. At 812 , processing device 112 (eg, route determination module 640 ) (eg, processing circuits of processor 220 ) displays a map of one or more nodes associated with each of the one or more stationary vehicles. The second candidate map may be determined based on the modified node information and the modified node information of one or more nodes associated with each of the one or more moving vehicles. For example, the processing device 112 may generate the second candidate map by updating node information of one or more nodes associated with each of the one or more stationary vehicles and the one or more moving vehicles with the modified node information.

813에서, 프로세싱 디바이스(112)(예를 들어, 경로 결정 모듈(640))(예를 들어, 프로세서(220)의 프로세싱 회로들)는 제2 후보 맵, 출발 위치, 및 목적지에 기초하여 타겟 차량의 제2 후보 경로를 결정할 수 있다. 동작 740 및 동작 805와 관련하여 설명된 바와 같이, 프로세싱 디바이스(112)는 제2 후보 맵의 출발 위치에 기초하여 복수의 노드들로부터 제2 후보 출발 노드를 결정할 수 있고, 제2 후보 맵의 목적지에 기초하여 복수의 노드들로부터 제2 후보 목적지 노드를 결정할 수 있고, 제2 후보 출발 노드 및 제2 후보 목적지 노드에 기초하여 제2 후보 경로를 결정할 수 있다. 일부 실시예들에서, 제2 후보 출발 노드는 상기한 후보 출발 노드와 동일하거나 상이할 수 있고; 유사하게, 제2 후보 목적지 노드는 상기한 후보 목적지 노드와 동일하거나 상이할 수 있다. 예를 들어, 후보 출발 노드가 제2 후보 맵에서 장벽이 아니거나 다른 차량들에 의해 점유되고 있지 않은 경우, 제2 후보 출발 노드는 후보 출발 노드와 동일할 수 있다. At 813 , the processing device 112 (eg, the route determination module 640 ) (eg, processing circuits of the processor 220 ) configures the target vehicle based on the second candidate map, the departure location, and the destination. may determine a second candidate path of . As described with respect to operations 740 and 805 , the processing device 112 may determine a second candidate departure node from the plurality of nodes based on a departure location of the second candidate map, and a destination of the second candidate map. The second candidate destination node may be determined from the plurality of nodes based on , and the second candidate path may be determined based on the second candidate departure node and the second candidate destination node. In some embodiments, the second candidate starting node may be the same as or different from the aforementioned candidate starting node; Similarly, the second candidate destination node may be the same as or different from the aforementioned candidate destination node. For example, if the candidate departure node is not a barrier in the second candidate map or is not occupied by other vehicles, the second candidate departure node may be the same as the candidate departure node.

일부 실시예들에서, 프로세싱 디바이스(112)는 제2 후보 경로를 타겟 경로로 직접 지정할 수 있다. 일부 실시예들에서, 프로세싱 디바이스(112)는 또한 제2 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 적어도 일부와 적어도 부분적으로 중첩되는지 여부를 결정할 수 있다. 제2 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 일부와 중첩되지 않는다는 결정에 응답하여, 프로세싱 디바이스(112)는 제2 후보 경로를 타겟 경로로 지정할 수 있다. 제2 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 적어도 일부와 적어도 부분적으로 중첩된다는 결정에 응답하여, 프로세싱 디바이스(112)는 또한 제2 후보 맵에서 노드 정보의 적어도 일부를 수정함으로써 제2 후보 맵을 업데이트할 수 있으며, 또한 업데이트된 맵에 기초하여 경로 계획을 수행할 수 있다.In some embodiments, the processing device 112 may directly designate the second candidate path as the target path. In some embodiments, the processing device 112 may also determine whether the second candidate path at least partially overlaps with at least a portion of the at least one predetermined path that was not traversed. In response to determining that the second candidate path does not overlap a portion of the at least one predetermined path that was not traversed, the processing device 112 may designate the second candidate path as the target path. In response to determining that the second candidate path at least partially overlaps with at least a portion of the at least one predetermined path that was not traversed, the processing device 112 is further configured to modify at least a portion of the node information in the second candidate map to obtain a second The candidate map may be updated, and route planning may be performed based on the updated map.

상기 설명은 단지 예시의 목적들을 위해 제공되며, 본 개시의 범위를 제한하도록 의도되지 않는다는 것이 주의되어야 한다. 당 기술분야에서의 통상의 기술자들의 경우, 다수의 변형들 및 수정들이 본 개시의 교시들 하에서 이루어질 수 있다. 그러나, 이들 변화들 및 수정들은 본 개시의 범위로부터 벗어나지 않는다. 예를 들어, 동작들 801-807은 생략될 수 있고, 프로세싱 디바이스(112)는 하나 이상의 정지된 차량들과 연관된 노드(들)의 노드 정보 및 하나 이상의 이동하는 차량들과 연관된 노드(들)의 노드 정보를 수정함으로써 제2 후보 맵("타겟 맵"으로 간주될 수 있음)을 직접 생성할 수 있으고, 제2 후보 맵에 기초하여 타겟 경로를 결정할 수 있다. It should be noted that the above description is provided for purposes of illustration only, and is not intended to limit the scope of the present disclosure. Numerous variations and modifications may be made to those skilled in the art under the teachings of this disclosure. However, these changes and modifications do not depart from the scope of the present disclosure. For example, operations 801-807 may be omitted, and the processing device 112 may provide node information of node(s) associated with one or more stationary vehicles and node(s) associated with one or more moving vehicles. By modifying the node information, a second candidate map (which may be regarded as a “target map”) may be directly generated, and a target path may be determined based on the second candidate map.

도 9는 본 개시의 일부 실시예들에 따른 태스크를 할당하기 위한 전형적인 프로세스를 도시하는 흐름도이다. 일부 실시예들에서, 프로세스(900)는 저장 ROM(230) 또는 RAM(240)에 저장된 명령들의 세트(예를 들어, 애플리케이션)로서 구현될 수 있다. 도 6의 프로세서(220) 및/또는 모듈들은 명령들의 세트를 실행할 수 있고, 명령들을 실행할 때 프로세서(220) 및/또는 모듈들은 프로세스(900)를 수행하도록 구성될 수 있다. 이하에서 제공되는 예시된 프로세스의 동작들은 예시적이도록 의도된다. 일부 실시예들에서, 프로세스(900)는 설명되지 않은 하나 이상의 부가적인 동작들로, 및/또는 여기서 논의된 동작들 중 하나 이상 없이 달성될 수 있다. 부가적으로, 도 9에 예시되고 이하에서 설명되는 바와 같이 프로세스의 동작들의 순서는 제한적이도록 의도되지 않는다. 9 is a flowchart illustrating an exemplary process for allocating a task in accordance with some embodiments of the present disclosure. In some embodiments, process 900 may be implemented as a set of instructions (eg, an application) stored in storage ROM 230 or RAM 240 . The processor 220 and/or modules of FIG. 6 may execute a set of instructions, and when executing the instructions, the processor 220 and/or modules may be configured to perform the process 900 . The operations of the illustrated process provided below are intended to be exemplary. In some embodiments, process 900 may be accomplished with one or more additional operations not described and/or without one or more of the operations discussed herein. Additionally, the order of the operations of the process as illustrated in FIG. 9 and described below is not intended to be limiting.

910에서, 프로세싱 디바이스(112)(예를 들어, 태스크 할당 모듈)(예를 들어, 프로세서(220)의 인터페이스 회로들 또는 프로세싱 회로들)는 태스크를 획득할 수 있다. 일부 실시예들에서, 태스크는 대상(예를 들어, 상품, 음식, 승객)을 배송 위치로 배송하기 위한 태스크일 수 있다. At 910 , processing device 112 (eg, task assignment module) (eg, interface circuits or processing circuits of processor 220 ) may acquire the task. In some embodiments, the task may be a task to deliver an object (eg, merchandise, food, passenger) to a shipping location.

920에서, 프로세싱 디바이스(112)(예를 들어, 태스크 할당 모듈)(예를 들어, 프로세서(220)의 프로세싱 회로들)는 태스크이 지정된 태스크인지 여부를 결정할 수 있다. At 920 , processing device 112 (eg, task assignment module) (eg, processing circuits of processor 220 ) may determine whether the task is a designated task.

태스크가 지정되지 않은 태스크라는 결정에 응답하여, 930에서, 프로세싱 디바이스(112)(예를 들어, 태스크 할당 모듈)(예를 들어, 프로세서(220)의 프로세싱 회로들)는 해당 태스크를 위한 스케줄 가능한 차량(즉, 해당 차량에 의해 실행되거나 실행 중인 태스크가 없음)을 선택할 수 있다. 예를 들어, 프로세싱 디바이스(112)는 배송 위치에 가장 가까운 스케쥴 가능한 차량을 선택할 수 있다. In response to determining that the task is an unassigned task, at 930 , the processing device 112 (eg, the task assignment module) (eg, processing circuits of the processor 220 ) configures a schedulable for the task. You can select a vehicle (ie, no tasks are being executed or running by that vehicle). For example, the processing device 112 may select a schedulable vehicle closest to the delivery location.

940에서, 프로세싱 디바이스(112)(예를 들어, 태스크 할당 모듈)(예를 들어, 프로세서(220)의 프로세싱 회로들)는 스케줄 가능한 차량에 태스크를 할당할 수 있다. At 940 , processing device 112 (eg, task assignment module) (eg, processing circuits of processor 220 ) may assign a task to the schedulable vehicle.

태스크가 지정된 태스크라는 결정에 응답하여, 950에서, 프로세싱 디바이스(112)(예를 들어, 태스크 할당 모듈)(예를 들어, 프로세서(220)의 프로세싱 회로들)는 지정된 태스크에 대응하는 지정된 차량이 스케줄 가능한지 여부를 결정할 수 있다. In response to determining that the task is a designated task, at 950 , processing device 112 (eg, task assignment module) (eg, processing circuits of processor 220 ) determines that the designated vehicle corresponding to the designated task You can decide whether it is schedulable or not.

지정된 태스크에 대응하는 지정된 차량이 스케줄 가능하다는 결정에 응답하여, 960에서, 프로세싱 디바이스(112)(예를 들어, 태스크 할당 모듈)(예를 들어, 프로세서(220)의 프로세싱 회로들)는 지정된 태스크를 대응하는 지정된 차량에 할당할 수 있다. In response to determining that the designated vehicle corresponding to the designated task is schedulable, at 960 , the processing device 112 (eg, task assignment module) (eg, processing circuits of the processor 220 ) configures the designated task can be assigned to the corresponding designated vehicle.

지정된 태스크에 대응하는 지정된 차량이 스케줄 가능하지 않은 상태에 있다는 결정에 응답하여, 970에서, 프로세싱 디바이스(112)(예를 들어, 태스크 할당 모듈)(예를 들어, 프로세서(220)의 프로세싱 회로들)는 해당 차량이 스케줄 가능하게 될 때까지 지정된 태스크를 대응하는 지정된 차량에 할당한다. In response to determining that the designated vehicle corresponding to the designated task is in a non-schedulable state, at 970 , processing circuits of the processing device 112 (eg, task assignment module) (eg, processor 220 ) ) assigns the specified task to the corresponding specified vehicle until the vehicle becomes schedulable.

일부 실시예들에서, 지정된 태스크를 대응하는 지정된 차량에 할당하기 전에, 프로세싱 디바이스(112)는 지정된 차량에 의해 보고된 위치가 정확한지 여부를 결정할 수 있다. 대응하는 지정된 차량에 의해 보고된 위치가 정확하다는 결정에 응답하여, 프로세싱 디바이스(112)는 지정된 태스크를 대응하는 지정된 차량에 할당할 수 있다. 대응하는 지정된 차량에 의해 보고된 위치가 부정확하다는 결정에 응답하여, 프로세싱 디바이스(112)는 태스크 할당이 실패했다고 결정할 수 있다. 추가적으로 또는 대안적으로, 프로세싱 디바이스(112)는 포지셔닝 디바이스를 사용하여 지정된 차량의 정확한 위치를 획득하고 지정된 태스크를 지정된 차량에 할당할 수 있다. In some embodiments, prior to assigning the designated task to the corresponding designated vehicle, the processing device 112 may determine whether the location reported by the designated vehicle is correct. In response to determining that the location reported by the corresponding designated vehicle is correct, the processing device 112 may assign the designated task to the corresponding designated vehicle. In response to determining that the location reported by the corresponding designated vehicle is incorrect, the processing device 112 may determine that the task assignment has failed. Additionally or alternatively, the processing device 112 may use the positioning device to obtain the exact location of the designated vehicle and assign the designated task to the designated vehicle.

상기 설명은 단지 예시의 목적들을 위해 제공되며, 본 개시의 범위를 제한하도록 의도되지 않는다는 것이 주의되어야 한다. 당 기술분야에서의 통상의 기술자들의 경우, 다수의 변형들 및 수정들이 본 개시의 교시들 하에서 이루어질 수 있다. 그러나, 이들 변화들 및 수정들은 본 개시의 범위로부터 벗어나지 않는다. It should be noted that the above description is provided for purposes of illustration only, and is not intended to limit the scope of the present disclosure. Numerous variations and modifications may be made to those skilled in the art under the teachings of this disclosure. However, these changes and modifications do not depart from the scope of the present disclosure.

도 10은 본 개시의 일부 실시예들에 따른 노드의 전형적인 노드 정보를 도시하는 개략도이다. 도 10에 도시된 바와 같이, 노드 1을 예로 들면, 노드 1은 노드 4에서 노드 2로의 방향, 노드 2에서 노드 5로의 방향, 노드 5에서 노드 3으로의 방향, 및 노드 3에서 노드 5로의 방향을 따라 통과할 수 있다. 또한 노드 1의 인접 노드에는 노드 2, 노드 3, 노드 4, 및 노드 5가 포함됨을 알 수 있다. 직선 화살표들로 표시된 것처럼, 노드 1은 4개의 인접한 노드와 상호 연결되고, 즉, 4개의 인접한 노드들은 노드 1로부터 도달 가능하다. 또한 ,노드 1은 또한 원형 화살표로 표시된 것처럼 회전할 수 있다. 10 is a schematic diagram illustrating typical node information of a node according to some embodiments of the present disclosure. 10 , taking node 1 as an example, node 1 has a direction from node 4 to node 2, from node 2 to node 5, from node 5 to node 3, and from node 3 to node 5. can pass through Also, it can be seen that nodes adjacent to node 1 include node 2, node 3, node 4, and node 5. As indicated by the straight arrows, node 1 is interconnected with 4 adjacent nodes, ie, 4 adjacent nodes are reachable from node 1. Also, node 1 can also rotate as indicated by the circular arrow.

도 11은 본 개시의 일부 실시예들에 따른 정지된 차량과 연관된 전형적인 노드들 및 이동하는 정지된 차량과 연관된 전형적인 노드들을 도시하는 개략도이다. 11 is a schematic diagram illustrating exemplary nodes associated with a stationary vehicle and exemplary nodes associated with a moving stationary vehicle in accordance with some embodiments of the present disclosure.

도 11에 도시된 바와 같이, 지역(1110)은 출발 위치 및 목적지를 포함하는 타겟 지역을 지칭하고, 1120은 타겟 지역에서 정지된 차량(차량 B로 표시)을 나타내고, 1140은 타겟 지역에서 이동하는 차량(차량 C로 표시)을 지칭한다. 도 8과 관련하여 설명된 바와 같이, 정지된 차량(1120)에 대해, 프로세싱 디바이스(112)는 정지된 차량(1120)을 중심으로 하는 사전 설정된 지역(1130)을 결정할 수 있다. 미리 설정된 지역(1130)은 노드 14, 노드 15, 및 노드 16을 포함함을 알 수 있다. 또한, 3개의 노드들 각각에 대해, 프로세싱 디바이스(112)는 본 개시의 다른 곳에서 설명된 바와 같이 노드의 노드 정보를 수정할 수 있다. 이동하는 차량(1140)의 경우, 프로세싱 디바이스(112)는 미리 결정된 미래 기간에 통과될 이동하는 차량에 대응하는 미리 결정된 경로(화살표로 표시됨)의 일부를 획득할 수 있다. 미리 결정된 경로의 일부가 점선 박스에서 노드 12, 노드 18, 노드 24, 및 노드 30을 포함함을 알 수 있다. 또한, 4개의 노드들 각각에 대해, 프로세싱 디바이스(112)는 본 개시의 다른 곳에서 설명된 바와 같이 노드의 노드 정보를 수정할 수 있다. 11 , an area 1110 refers to a target area including a departure location and a destination, 1120 refers to a vehicle stopped in the target area (indicated by vehicle B), and 1140 refers to a moving vehicle in the target area. Refers to a vehicle (denoted as vehicle C). 8 , for a stationary vehicle 1120 , the processing device 112 may determine a preset area 1130 centered on the stationary vehicle 1120 . It can be seen that the preset region 1130 includes a node 14 , a node 15 , and a node 16 . Also, for each of the three nodes, the processing device 112 may modify the node's node information as described elsewhere in this disclosure. For a moving vehicle 1140 , the processing device 112 may obtain a portion of a predetermined route (indicated by an arrow) corresponding to the moving vehicle to be passed in a predetermined future time period. It can be seen that some of the predetermined paths include node 12, node 18, node 24, and node 30 in the dotted line box. Also, for each of the four nodes, the processing device 112 may modify the node's node information as described elsewhere in this disclosure.

일부 실시예들에서, 본 개시는 또한 컴퓨터 프로그램을 저장하는 저장 매체를 제공할 수 있다. 프로세서에 의해 실행될 때, 컴퓨터 프로그램은 본 개시의 다른 곳에서 설명된 프로세스(예를 들어, 프로세스 400, 프로세스 500, 프로세스 700, 프로세스 800, 프로세스 900)를 수행하도록 프로세서에 지시할 수 있다. In some embodiments, the present disclosure may also provide a storage medium storing a computer program. When executed by a processor, the computer program may instruct the processor to perform a process (eg, process 400 , process 500 , process 700 , process 800 , process 900 ) described elsewhere in this disclosure.

일부 실시예들에서, 본 개시는 또한 프로세서 및 저장소를 포함하는 전자 디바이스를 제공할 수 있으며, 상기 저장소는 컴퓨터 프로그램을 저장한다. 프로세서에 의해 실행될 때, 컴퓨터 프로그램은 본 개시의 다른 곳에서 설명된 프로세스(예를 들어, 프로세스 400, 프로세스 500, 프로세스 700, 프로세스 800, 프로세스 900)를 수행하도록 프로세서에 지시할 수 있다. In some embodiments, the present disclosure may also provide an electronic device comprising a processor and a storage, the storage storing a computer program. When executed by a processor, the computer program may instruct the processor to perform a process (eg, process 400 , process 500 , process 700 , process 800 , process 900 ) described elsewhere in this disclosure.

기본 개념들을 그에 따라 설명하였지만, 이러한 상세한 개시를 판독한 후, 앞서 말한 상세한 개시는 단지 예로서 제공되도록 의도되며 제한적이지 않다는 것이 이 기술분야의 숙련자들에게 꽤 명백할 수 있다. 여기에서 명확하게 서술되지 않을지라도, 다양한 변화들, 개선들, 및 수정들이 발생할 수 있으며 이 기술분야의 숙련자들에게 의도된다. 이들 변경들, 개선들, 및 수정들은 본 개시에 의해 제안되도록 의도되며, 본 개시의 전형적인 실시예들의 사상 및 범위 내에 있다. Having described basic concepts accordingly, after reading this detailed disclosure, it may be fairly apparent to those skilled in the art that the foregoing detailed disclosure is intended to be provided by way of example only and not limitation. Various changes, improvements, and modifications may occur and are intended to those skilled in the art, although not explicitly described herein. These changes, improvements, and modifications are intended to be suggested by the present disclosure and are within the spirit and scope of exemplary embodiments of the present disclosure.

게다가, 특정한 용어는 본 개시의 실시예들을 설명하기 위해 사용되었다. 예를 들어, 용어들("일 실시 예", "실시 예", 및/또는 "몇몇 실시 예들")은 실시예와 관련되어 설명된 특정한 특징, 구조 또는 특성이 본 개시의 적어도 하나의 실시예 내에 있다는 것을 의미한다. 그러므로, 본 명세서의 다양한 부분들에서 "실시예" 또는 "일 실시예" 또는 "대안적인 실시예"에 대한 두 개 이상의 참조들은 반드시 모두가 동일한 실예에를 참조하는 것은 아니라는 것이 강조되고 이해되어야 한다. 더욱이, 특정한 특징들, 구조들 또는 특성들은 본 개시의 하나 이상의 실시예들에서 적절하게 조합될 수 있다.Moreover, specific terminology has been used to describe embodiments of the present disclosure. For example, the terms (“one embodiment,” “an embodiment,” and/or “some embodiments”) indicate that a particular feature, structure, or characteristic described in connection with an embodiment relates to at least one embodiment of the present disclosure. means within. Therefore, it should be emphasized and understood that references to "an embodiment" or "one embodiment" or "alternative embodiment" in various places in the various parts of this specification are not necessarily all referring to the same embodiment. . Moreover, certain features, structures, or characteristics may be suitably combined in one or more embodiments of the present disclosure.

뿐만 아니라, 본 개시의 양상들은 임의의 새롭고 유용한 프로세스, 가계, 제조, 또는 물질의 구성, 또는 그것의 임의의 새롭고 유용한 개선을 포함한 다수의 특허 가능한 클래스들 또는 문맥 중 임의의 것에서 예시되고 설명될 수 있다는 것이 이 기술분야의 숙련자에 의해 이해될 것이다. 따라서, 본 개시의 양상들은 전적으로 하드웨어, 전적으로 소프트웨어(펌웨어, 상주 소프트웨어, 마이크로-코드 등을 포함한) 또는 모두 일반적으로 여기에서 "유닛", "모듈", 또는 "시스템"으로서 불리울 수 있는 소프트웨어 및 하드웨어 구현을 조합하여 구현될 수 있다. 더욱이, 본 개시의 양상들은 그것 상에 컴퓨터 판독 가능한 프로그램 코드를 구체화한 하나 이상의 컴퓨터 판독 가능한 미디어에 구체화된 컴퓨터 프로그램 제품의 형태를 취할 수 있다. In addition, aspects of the present disclosure may be illustrated and described in any of a number of patentable classes or contexts, including any new and useful process, line, line, manufacture, or composition of matter, or any new and useful improvement thereof. It will be appreciated by those skilled in the art. Accordingly, aspects of the present disclosure may be entirely hardware, entirely software (including firmware, resident software, micro-code, etc.) or all software and It may be implemented by combining hardware implementations. Moreover, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.

컴퓨터 판독 가능한 신호 매체는 그 안에, 예를 들어, 기저대역에 또는 캐리어 파의 일부로서 구체화된 컴퓨터 판독 가능한 프로그램 코드를 갖고 전파된 데이터 신호를 포함할 수 있다. 이러한 전파된 신호는 전자기, 광학 등, 또는 그것의 임의의 적절한 조합을 포함한, 다양한 형태들 중 임의의 것을 취할 수 있다. 컴퓨터 판독 가능한 신호 매체는 컴퓨터 판독 가능한 저장 매체가 아니며 지시 실행 시스템, 장치, 또는 디바이스에 의해 또는 그것과 관련되어 사용을 위한 프로그램을 전달하고, 전파하거나, 또는 수송할 수 있는 임의의 컴퓨터 판독 가능한 매체일 수 있다. 컴퓨터 판독 가능한 신호 매체상에 구체화된 프로그램 코드는 무선, 와이어라인, 광섬유 케이블, RF 등, 또는 앞서 말한 것의 임의의 적절한 조합을 포함하여, 임의의 적절한 매체를 사용하여 송신될 수 있다. A computer readable signal medium may include a propagated data signal having computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including electromagnetic, optical, etc., or any suitable combination thereof. A computer-readable signal medium is not a computer-readable storage medium and is any computer-readable medium that can convey, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. can be The program code embodied on a computer readable signal medium may be transmitted using any suitable medium, including wireless, wireline, fiber optic cable, RF, etc., or any suitable combination of the foregoing.

본 개시의 양상들을 위한 동작들을 실행하기 위한 컴퓨터 프로그램 코드는 Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python 등과 같은 객체 지향 프로그래밍 언어, "C" 프로그래밍 언어, 비주얼 베이직, 포트란 2003, Perl, COBOL 2002, PHP, ABAP와 같은 기존의 절차형 프로그래밍 언어들, Phythod, Ruby 및 Groovy와 같은 동적 프로그래밍 언어들, 또는 다른 프로그래밍 언어들을 포함하여, 하나 이상의 프로그래밍 언어들의 임의의 조합으로 기록될 수 있다. 프로그램 코드는 전적으로 사용자 컴퓨터상에서, 부분적으로 사용자 컴퓨터상에서, 독립형 소프트웨어 패키지로서, 부분적으로 사용자의 컴퓨터상에서 및 부분적으로 원격 컴퓨터상에서 또는 전적으로 원격 컴퓨터 또는 서버상에서 실행할 수 있다. 후자의 시나리오에서, 원격 컴퓨터는 근거리 네트워크(LAN) 또는 광역 네트워크(WAN)를 포함하여, 임의의 유형의 네트워크를 통해 사용자의 컴퓨터에 연결될 수 있거나, 또는 연결은 외부 컴퓨터에 대해(예를 들어, 인터넷 서비스 제공자를 사용하여 인터넷을 통해) 또는 클라우드 컴퓨팅 환경에서 이루어지거나 또는 서비스로서 소프트웨어(SaaS)와 같은 서비스로서 제공될 수 있다. The computer program code for executing the operations for aspects of the present disclosure may be an object-oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET, Python, etc., a "C" programming language, a visual Any of one or more programming languages, including BASIC, Fortran 2003, Perl, COBOL 2002, existing procedural programming languages such as PHP, ABAP, dynamic programming languages such as Phythod, Ruby and Groovy, or other programming languages combinations can be recorded. The program code may run entirely on the user's computer, partly on the user's computer, as a standalone software package, partly on the user's computer and partly on the remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be to an external computer (eg, over the Internet using an Internet service provider) or in a cloud computing environment, or provided as a service, such as software-as-a-service (SaaS).

더욱이, 프로세싱 요소들 또는 시퀀스들의 나열된 순서, 또는 숫자들, 글자들, 또는 다른 지정들의 사용은, 그러므로 청구항들에서 특정될 수 있는 경우를 제외하고 청구된 프로세스들 및 방법들을 임의의 순서에 제한하도록 의도되지 않는다. 상기 개시는 다양한 예들을 통해 현재 본 개시의 다양한 유용한 실시예들인 것으로 고려되는 것을 논의하지만, 이러한 세부사항은 단지 그 목적을 위한 것이고 첨부된 청구항들은 개시된 실시예들에 제한되지 않으며, 그와는 대조적으로 개시된 실시예들의 사상 및 범위 내에 있는 수정들 및 동등한 배열들을 커버하도록 의도된다는 것이 이해될 것이다. 예를 들어, 상기 설명된 다양한 구성요소들의 구현은 하드웨어 디바이스에서 구체화될 수 있지만, 그것은 또한 소프트웨어 전용 솔루션, 예컨대, 기존의 서버 또는 이동 디바이스 상에서의 설치로서 구현될 수 있다. Moreover, the listed order of processing elements or sequences, or the use of numbers, letters, or other designations, is therefore intended to limit the claimed processes and methods to any order except as may be specified in the claims. not intended While the above disclosure discusses, by way of various examples, what are presently considered to be various useful embodiments of the present disclosure, these details are for that purpose only and the appended claims are not limited to the disclosed embodiments, in contrast thereto. It will be understood that it is intended to cover modifications and equivalent arrangements falling within the spirit and scope of the disclosed embodiments. For example, implementation of the various components described above may be embodied in a hardware device, but it may also be implemented as a software-only solution, such as installation on an existing server or mobile device.

유사하게, 본 개시의 실시예들의 앞서 말한 설명에서, 다양한 특징들은 때때로 다양한 실시예들 중 하나 이상의 이해를 도울 때 본 개시를 간소화하기 위한 목적으로 단일 실시예, 도면, 또는 그것의 설명에서 함께 그룹핑된다는 것이 이해되어야 한다. 본 개시의 이러한 방법은, 그러나, 청구된 주제가 각각의 청구항에서 명확하게 나열된 것보다 많은 특징들을 요구한다는 의도를 반영한 것으로 해석되지 않을 것이다. 오히려, 청구된 청구 대상은 앞서 개시된 단일 실시예의 모든 특징들보다 적게 될 수 있다.Similarly, in the foregoing description of embodiments of the present disclosure, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure when assisting in understanding one or more of the various embodiments. It should be understood that This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed subject matter requires more features than are expressly recited in each claim. Rather, claimed subject matter may lie in less than all features of a single previously disclosed embodiment.

Claims (48)

토폴로지 맵에 기초한 자동 안내 차량(AGV: Automatic Guided Vehicle)에 대한 경로 계획(route planning)을 위한 방법에 있어서:
스케줄링 시스템에 대응하는 토폴로지 맵을 획득하는 단계;
상기 토폴로지 맵을 전처리하여 상기 스케줄링 시스템에서 복수의 AGV들과 연관된 움직임 상태 정보 및 상기 토폴로지 맵에서 상기 복수의 AGV들에 의해 점유되는 복수의 노드들에 기초하여 상기 토폴로지 맵의 노드 정보를 수정함으로써 수정된 토폴로지 맵을 획득하는 단계;
상기 수정된 토폴로지 맵에서 현재 AGV의 출발 노드와 목적지 노드를 결정하는 단계;
상기 수정된 토폴로지 맵의 노드 정보에 기초하여, 상기 출발 노드와 상기 목적지 노드 사이의 복수의 노드들과 연관된 복수의 총 비용들을 결정하는 단계; 및
상기 복수의 총 비용들에 기초하여 상기 현재 AGV에 대한 경로 계획을 수행하는 단계를 포함하는, 토폴로지 맵에 기초한 자동 안내 차량에 대한 경로 계획 방법.
A method for route planning for an Automatic Guided Vehicle (AGV) based on a topology map, comprising:
obtaining a topology map corresponding to the scheduling system;
Modification by preprocessing the topology map to modify node information of the topology map based on motion state information associated with a plurality of AGVs in the scheduling system and a plurality of nodes occupied by the plurality of AGVs in the topology map obtaining a topology map;
determining a departure node and a destination node of the current AGV from the modified topology map;
determining a plurality of total costs associated with a plurality of nodes between the departure node and the destination node based on node information of the modified topology map; and
and performing route planning for the current AGV based on the plurality of total costs.
제1항에 있어서, 상기 움직임 상태 정보는 이동하는 상태 및 정지된 상태를 포함하고, 상기 토폴로지 맵을 전처리하는 것은:
상기 토폴로지 맵에서 제1 전처리를 수행하는 단계로서:
상기 토폴로지 맵에서 현재 AGV와는 다른 정지된 AGV들 각각에 대해, 상기 정지된 AGV를 중심으로 하는 사전 설정된 지역 내의 하나 이상의 노드들의 노드 정보가 수정하는 것; 및
제1 수정된 토폴로지 맵을 생성하는 것에 의해, 상기 제1 전처리를 수행하는 단계; 및/또는
상기 토폴로지 맵에서 제2 전처리를 수행하는 단계로서:
상기 토폴로지 맵에서 현재 AGV와는 다른 정지된 AGV들 각각에 대해, 상기 정지된 AGV를 중심으로 하는 사전 설정된 지역 내의 하나 이상의 노드들의 노드 정보를 수정하는 것;
상기 토폴로지 맵에서 이동하는 AGV들 각각에 대해, 상기 이동하는 AGV가 통과하지 않은 계획된 경로의 하나 이상의 노드들의 노드 정보를 수정하는 것; 및
제2 수정된 토폴로지 맵을 생성하는 것에 의해, 상기 제2 전처리를 수행하는 단계를 포함하는, 토폴로지 맵에 기초한 자동 안내 차량에 대한 경로 계획 방법.
The method of claim 1, wherein the motion state information includes a moving state and a stationary state, and preprocessing the topology map comprises:
performing a first preprocessing on the topology map, comprising:
for each of the stationary AGVs different from the current AGV in the topology map, the node information of one or more nodes within a preset area centered on the stationary AGV is modified; and
performing the first preprocessing by generating a first modified topology map; and/or
performing a second preprocessing on the topology map, comprising:
for each of the stationary AGVs different from the current AGV in the topology map, modifying node information of one or more nodes within a preset area centered on the stationary AGV;
modifying, for each of the moving AGVs in the topology map, node information of one or more nodes of a planned path not traversed by the moving AGV; and
and performing the second pre-processing by generating a second modified topology map.
제2항에 있어서, 상기 수정된 토폴로지 맵에서 현재 AGV의 출발 노드와 목적지 노드를 결정하는 단계, 상기 수정된 토폴로지 맵의 노드 정보에 기초하여 상기 출발 노드와 상기 목적지 노드 사이의 복수의 노드들과 연관된 복수의 총 비용들을 결정하는 단계, 및 상기 복수의 총 비용들에 기초하여 상기 현재 AGV에 대한 경로 계획을 수행하는 단계는:
상기 제1 수정된 토폴로지 맵에서 현재 AGV의 제1 출발 노드와 제1 목적지 노드를 결정하는 단계;
상기 제1 수정된 토폴로지 맵의 노드 정보에 기초하여 상기 제1 출발 노드와 상기 제1 목적지 노드 사이의 복수의 제1 노드들과 연관된 복수의 제1 총 비용들을 결정하는 단계;
상기 복수의 제1 총 비용들에 기초하여 상기 현재 AGV에 대한 제1 경로 계획을 수행하는 단계;
현재 AGV가 상기 제1 경로 계획의 제1 경로를 따라 이동하는 경우 상기 현재 AGV가 하나 이상의 이동하는 AGV들 중 적어도 하나와 충돌하는 것으로 검출하는 데 응답하여, 제2 수정된 토폴로지 맵에서 상기 현재 AGV의 제2 출발 노드 및 제2 목적지 노드를 결정하는 단계;
상기 제2 수정된 토폴로지 맵의 노드 정보에 기초하여 상기 제2 출발 노드와 상기 제2 목적지 노드 사이의 복수의 제2 노드들과 연관된 복수의 제2 총 비용들을 결정하는 단계; 및
상기 복수의 제2 총 비용들에 기초하여 상기 현재 AGV에 대한 제2 경로 계획을 수행하는 단계를 포함하는, 토폴로지 맵에 기초한 자동 안내 차량에 대한 경로 계획 방법.
The method of claim 2, further comprising: determining a departure node and a destination node of the current AGV in the modified topology map; determining a plurality of associated total costs, and performing route planning for the current AGV based on the plurality of total costs:
determining a first departure node and a first destination node of a current AGV in the first modified topology map;
determining a plurality of first total costs associated with a plurality of first nodes between the first departure node and the first destination node based on node information of the first modified topology map;
performing a first route planning for the current AGV based on the plurality of first total costs;
In response to detecting that the current AGV collides with at least one of one or more moving AGVs when the current AGV moves along the first path of the first path plan, the current AGV in a second modified topology map determining a second departure node and a second destination node of
determining a plurality of second total costs associated with a plurality of second nodes between the second departure node and the second destination node based on node information of the second modified topology map; and
and performing a second route planning for the current AGV based on the plurality of second total costs.
제2항에 있어서, 상기 토폴로지 맵에서 상기 현재 AGV와는 다른 정지된 AGV들 각각에 대해, 상기 정지된 AGV를 중심으로 하는 사전 설정된 지역 내의 하나 이상의 노드들의 노드 정보를 수정하는 것은;
상기 토폴로지 맵에서 상기 현재 AGV와는 다른 정지된 AGV들 각각에 대해,
상기 정지된 AGV를 중심으로 하는 미리 설정된 지역 내의 하나 이상의 노드들의 하나 이상의 가중치 값들을 하나 이상의 높은 가중치 값들로 수정하는 단계로서, 상기 하나 이상의 높은 가중치 값들 각각은 미리 설정된 임계값보다 큰, 상기 수정 단계, 및
상기 하나 이상의 노드들을 턴(turn)을 할 수 없는 노드들로 설정하는 단계를 포함하는, 토폴로지 맵에 기초한 자동 안내 차량에 대한 경로 계획 방법.
The method of claim 2, wherein, for each of the stationary AGVs different from the current AGV in the topology map, modifying node information of one or more nodes within a preset area centered on the stationary AGV;
For each of the stationary AGVs different from the current AGV in the topology map,
modifying one or more weight values of one or more nodes in a preset area centered on the stationary AGV to one or more high weight values, each of the one or more high weight values being greater than a preset threshold value, the modifying step , and
and configuring the one or more nodes as non-turnable nodes.
제2항에 있어서,
상기 토폴로지 맵에서 상기 현재 AGV와는 다른 정지된 AGV들 각각에 대해, 상기 정지된 AGV를 중심으로 하는 사전 설정된 지역 내의 하나 이상의 노드들의 노드 정보를 수정하는 것; 및
상기 토폴로지 맵에서 이동하는 AGV들 각각에 대해, 상기 이동하는 AGV가 통과하지 않은 계획된 경로의 하나 이상의 노드들의 노드 정보를 수정하는 것은:
상기 토폴로지 맵에서 상기 현재 AGV와는 다른 정지된 AGV들 각각에 대해,
상기 정지된 AGV를 중심으로 하는 사전 설정된 지역 내의 하나 이상의 노드들을 통과할 수 없는 노드들로 설정하는 단계, 및
상기 하나 이상의 노드들을 하나 이상의 장벽들로 지정하는 단계; 및
상기 토폴로지 맵에서 상기 현재 AGV와는 다른 이동하는 AGV들 각각에 대해, 상기 이동하는 AGV가 통과하지 않은 계획된 경로의 하나 이상의 노드들의 하나 이상의 가중치 값들을 하나 이상의 높은 가중치 값들로 설정하는 단계로서, 상기 하나 이상의 높은 가중치 값들 각각은 미리 설정된 임계값보다 큰, 상기 설정 단계를 포함하는, 토폴로지 맵에 기초한 자동 안내 차량에 대한 경로 계획 방법.
3. The method of claim 2,
for each of the stationary AGVs different from the current AGV in the topology map, modifying node information of one or more nodes within a preset area centered on the stationary AGV; and
For each of the moving AGVs in the topology map, modifying node information of one or more nodes of a planned path not traversed by the moving AGV includes:
For each of the stationary AGVs different from the current AGV in the topology map,
setting one or more nodes within a preset area centered on the stationary AGV as impassable nodes; and
designating the one or more nodes as one or more barriers; and
For each of the moving AGVs different from the current AGV in the topology map, setting one or more weight values of one or more nodes of a planned path not traversed by the moving AGV to one or more high weight values, wherein the one or more high weight values and each of the above high weight values is greater than a preset threshold value.
제1항에 있어서, 상기 수정된 토폴로지 맵에서 현재 AGV의 출발 노드와 목적지 노드를 결정하는 단계 후에, 상기 방법은:
상기 출발 노드 또는 상기 목적지 노드가 상기 수정된 토폴로지 맵의 노드 정보에 기초하여 장벽(barrier)인 것으로 결정되는 경우 경로 계획의 실패를 결정하는 단계를 더 포함하는, 토폴로지 맵에 기초한 자동 안내 차량에 대한 경로 계획 방법.
The method according to claim 1, wherein after determining a departure node and a destination node of the current AGV in the modified topology map:
Further comprising the step of determining the failure of the route planning when the departure node or the destination node is determined to be a barrier based on the node information of the modified topology map. How to plan a route.
제1항에 있어서, 상기 수정된 토폴로지 맵의 노드 정보에 기초하여 상기 출발 노드와 상기 목적지 노드 사이의 복수의 노드들과 연관된 복수의 총 비용들을 결정하는 단계, 및 상기 복수의 총 비용들에 기초하여 상기 현재 AGV에 대한 경로 계획을 수행하는 단계는:
상기 출발 노드를 경로의 제1 현재 노드로 지정하는 단계;
각각의 사이클마다, 업데이트된 현재 노드를 결정하고 상기 업데이트된 현재 노드가 목적지 노드가 아닌 것으로 결정할 경우:
상기 경로의 노드들과는 다른 하나 이상의 노드들에 대응하는 하나 이상의 총 비용들을 결정하는 것;
최소 총 비용을 갖는 노드를 상기 경로 상의 노드로 그리고 상기 업데이트된 현재 노드의 다음 노드로 결정하는 것; 및
상기 다음 노드를 다음 사이클에서 업데이트된 현재 노드로 결정하는 것에 의해, 상기 업데이트된 현재 노드의 다음 노드를 결정하는 단계를 포함하는, 토폴로지 맵에 기초한 자동 안내 차량에 대한 경로 계획 방법.
The method of claim 1 , further comprising: determining a plurality of total costs associated with a plurality of nodes between the departure node and the destination node based on node information of the modified topology map; and based on the plurality of total costs. The steps of performing route planning for the current AGV by:
designating the departure node as a first current node of the route;
For each cycle, determining an updated current node and determining that the updated current node is not a destination node:
determining one or more total costs corresponding to one or more nodes other than nodes in the path;
determining the node with the minimum total cost as the node on the path and next to the updated current node; and
and determining a next node of the updated current node by determining the next node as the updated current node in a next cycle.
제7항에 있어서, 상기 경로의 노드들과는 다른 하나 이상의 노드들에 대응하는 하나 이상의 총 비용들을 결정하는 것은:
상기 하나 이상의 노드들 각각에 대해, 상기 현재 노드로부터 해당 노드까지의 비용 및 해당 노드로부터 목적지 노드까지의 비용의 합을 결정함으로써 해당 노드에 대응하는 총 비용을 결정하는 것을 포함하는, 토폴로지 맵에 기초한 자동 안내 차량에 대한 경로 계획 방법.
8. The method of claim 7, wherein determining one or more total costs corresponding to one or more nodes other than nodes in the path comprises:
determining, for each of the one or more nodes, a total cost corresponding to that node by determining the sum of the cost from the current node to the corresponding node and the cost from the node to the destination node. How to plan routes for self-guided vehicles.
제8항에 있어서, 상기 현재 노드로부터 해당 노드까지의 비용은 상기 현재 노드에 대응하는 총 비용, 해당 노드의 가중치 값, 상기 현재 노드로부터 해당 노드까지의 거리에 기초하여 결정된 거리 비용, 및 상기 현재 노드로부터 해당 노드로의 턴 비용에 기초하여 결정되는, 토폴로지 맵에 기초한 자동 안내 차량에 대한 경로 계획 방법.The method of claim 8, wherein the cost from the current node to the corresponding node is a total cost corresponding to the current node, a weight value of the corresponding node, a distance cost determined based on the distance from the current node to the corresponding node, and the current A route planning method for an autonomously guided vehicle based on a topology map, which is determined based on a turn cost from a node to that node. 제7항에 있어서, 상기 최소 총 비용을 갖는 노드를 결정하는 것은:
이진 힙 구조(binary heap structure)에 기초하여 최소 총 비용을 갖는 노드를 결정하는 것을 포함하는, 토폴로지 맵에 기초한 자동 안내 차량에 대한 경로 계획 방법.
8. The method of claim 7, wherein determining the node with the minimum total cost comprises:
A route planning method for an autonomously guided vehicle based on a topology map, comprising determining a node with a minimum total cost based on a binary heap structure.
제1항에 있어서, 상기 수정된 토폴로지 맵에서 현재 AGV의 출발 노드와 목적지 노드를 결정하기 전에, 상기 방법은 또한:
상기 스케줄링 시스템에 의해 할당된 태스크(task)를 획득하는 단계로서, 상기 태스크는 지정된 태스크 및 지정되지 않은 태스크를 포함하는, 상기 할당된 태스크를 획득하는 단계를 포함하고;
상기 수정된 토폴로지 맵에 기초하여 상기 현재 AGV의 목적지 노드를 결정하는 것은:
상기 현재 AGV의 지정된 태스크 및 지정되지 않은 태스크에 기초하여 상기 목적지 노드를 결정하는 것을 포함하는, 토폴로지 맵에 기초한 자동 안내 차량에 대한 경로 계획 방법.
The method of claim 1 , wherein before determining a departure node and a destination node of the current AGV in the modified topology map, the method further comprises:
obtaining an assigned task by the scheduling system, the task including a designated task and an unassigned task;
Determining the destination node of the current AGV based on the modified topology map comprises:
and determining the destination node based on a designated task and an unassigned task of the current AGV.
제1항에 있어서, 상기 수정된 토폴로지 맵에 기초하여 상기 현재 AGV의 출발 노드를 결정하는 것은:
상기 현재 AGV에 가장 가까운 노드를 결정하는 것; 및
상기 현재 AGV와는 다른 AGV들에 의해 점유되지 않을 때 상기 노드를 상기 출발 노드로 지정하는 것을 포함하는, 토폴로지 맵에 기초한 자동 안내 차량에 대한 경로 계획 방법.
The method of claim 1 , wherein determining the starting node of the current AGV based on the modified topology map comprises:
determining a node closest to the current AGV; and
and designating the node as the departure node when not occupied by AGVs other than the current AGV.
토폴로지 맵에 기초한 자동 안내 차량(AGV)에 대한 경로 계획을 위한 디바이스에 있어서:
적어도 하나의 프로세서; 및
프로그램 코드들을 포함하는 적어도 하나의 저장소를 포함하며,
상기 프로그램 코드들이 적어도 하나의 프로세서에 의해 실행될 때 상기 프로그램 코드들은 제1항 내지 제12항 중 어느 한 항의 방법을 실행하도록 상기 적어도 하나의 프로세서에 지시하는, 디바이스.
A device for route planning for an autonomously guided vehicle (AGV) based on a topology map, comprising:
at least one processor; and
at least one repository containing program codes;
13. A device, wherein the program codes instruct the at least one processor to execute the method of any one of claims 1 to 12 when the program codes are executed by the at least one processor.
컴퓨터 프로그램들을 포함하는 컴퓨터 판독 가능한 저장 매체로서, 상기 컴퓨터 프로그램들은 제1항 내지 제12항 중 어느 한 항의 방법이 실행되도록 하는, 컴퓨터 판독 가능한 저장 매체.A computer readable storage medium comprising computer programs, the computer programs causing the method of any one of claims 1 to 12 to be executed. 경로 계획을 위한 시스템으로서:
명령들의 세트를 포함하는 적어도 하나의 저장 디바이스; 및
상기 적어도 하나의 저장 디바이스와 통신하는 적어도 하나의 프로세서를 포함하며,
상기 적어도 하나의 프로세서는 상기 명령들의 세트를 실행할 때, 상기 시스템으로 하여금:
타겟 차량의 출발 위치 및 목적지를 획득하고;
상기 출발 위치 및 상기 목적지를 포함하는 타겟 지역의 맵을 획득하고 - 상기 맵은 복수의 노드들 각각의 노드 정보를 포함함 -;
상기 타겟 지역에서 상기 타겟 차량과는 다른 하나 이상의 차량들과 연관된 움직임 상태 정보를 획득하고;
상기 출발 위치, 상기 목적지, 상기 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 상기 맵에 적어도 부분적으로 기초하여 상기 타겟 차량의 타겟 경로를 결정하게 하도록 구성되는, 경로 계획을 위한 시스템.
As a system for route planning:
at least one storage device comprising a set of instructions; and
at least one processor in communication with the at least one storage device;
The at least one processor, when executing the set of instructions, causes the system to:
obtain the starting position and destination of the target vehicle;
obtain a map of a target area including the departure location and the destination, the map including node information of each of a plurality of nodes;
obtain motion state information associated with one or more vehicles different from the target vehicle in the target area;
and determine a target route of the target vehicle based at least in part on the starting location, the destination, motion state information associated with the one or more vehicles, and the map.
제15항에 있어서, 상기 복수의 노드들 각각의 노드 정보는 상기 노드의 위치, 상기 노드의 바코드, 상기 노드의 좌표, 상기 노드의 통행 가능성, 상기 노드의 턴 능력(turn capability), 인접 노드들의 개수, 또는 상기 노드의 상기 인접 노드들에 대한 연결성 중 적어도 하나를 포함하는, 경로 계획을 위한 시스템.The method according to claim 15, wherein the node information of each of the plurality of nodes includes the location of the node, the barcode of the node, the coordinates of the node, the passability of the node, turn capability of the node, and the number of adjacent nodes. number, or the node's connectivity to the adjacent nodes. 제15항 또는 제16항에 있어서, 상기 출발 위치, 상기 목적지, 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 상기 맵에 적어도 부분적으로 기초하여 상기 타겟 차량의 타겟 경로를 결정하기 위해, 상기 적어도 하나의 프로세서는 상기 시스템으로 하여금:
상기 복수의 노드들 중 적어도 하나에 대해, 상기 하나 이상의 차량들과 연관된 움직임 상태 정보에 기초하여, 상기 복수의 노드들 중 적어도 하나의 각각의 노드 정보의 적어도 일부를 수정함으로써 타겟 노드 정보를 결정하고;
상기 맵 및 상기 복수의 노드들 중 적어도 하나의 타겟 노드 정보에 기초하여 타겟 맵을 생성하고;
상기 타겟 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 타겟 경로를 결정하게 하도록 구성되는, 경로 계획을 위한 시스템.
17. The method of claim 15 or 16, wherein the at least one of the at least one The processor of the system causes:
For at least one of the plurality of nodes, based on motion state information associated with the one or more vehicles, determine target node information by modifying at least a portion of each node information of at least one of the plurality of nodes, and ;
generate a target map based on the map and target node information of at least one of the plurality of nodes;
and determine a target route of the target vehicle based on the target map, the departure location, and the destination.
제17항에 있어서, 상기 타겟 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 타겟 경로를 결정하기 위해, 상기 적어도 하나의 프로세서는 또한 상기 시스템으로 하여금:
상기 타겟 맵에서의 출발 위치에 기초하여 상기 복수의 노드들로부터 출발 노드를 결정하고;
상기 타겟 맵에서의 목적지에 기초하여 상기 복수의 노드들로부터 목적지 노드를 결정하고;
상기 출발 노드와 상기 목적지 노드 사이의 복수의 타겟 노드들과 연관된 복수의 비용들에 기초하여 상기 타겟 차량의 타겟 경로를 결정하게 하도록 구성되고, 상기 노드의 비용은 상기 출발 노드로부터 상기 노드까지의 제1 비용 및 상기 노드로부터 상기 목적지 노드까지의 제2 비용에 기초하여 결정되는, 경로 계획을 위한 시스템.
18. The system of claim 17, wherein to determine a target route of the target vehicle based on the target map, the departure location, and the destination, the at least one processor further causes the system to:
determine a departure node from the plurality of nodes based on a departure location in the target map;
determine a destination node from the plurality of nodes based on a destination in the target map;
determine a target route of the target vehicle based on a plurality of costs associated with a plurality of target nodes between the departure node and the destination node, wherein the cost of the node is a second cost from the departure node to the node. and a second cost from the node to the destination node.
제18항에 있어서, 상기 출발 노드로부터 상기 노드까지의 제1 비용은 상기 노드의 가중치 값, 상기 노드의 부모 노드의 비용, 상기 노드의 부모 노드로부터 상기 노드까지의 비용, 및 상기 타겟 맵에서 상기 노드의 부모 노드로부터 상기 노드로의 턴 비용(turn cost)에 기초하여 결정되는, 경로 계획을 위한 시스템.19. The method of claim 18, wherein the first cost from the starting node to the node is the weight value of the node, the cost of the node's parent node, the cost of the node's parent node to the node, and the cost of the node in the target map. A system for path planning, determined based on a turn cost from a node's parent node to the node. 제15항 내지 제19항 중 어느 한 항에 있어서, 상기 출발 위치, 상기 목적지, 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 상기 맵에 적어도 부분적으로 기초하여 상기 타겟 차량의 타겟 경로를 결정하기 위해, 상기 적어도 하나의 프로세서는 상기 시스템으로 하여금:
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 정지된 차량들을 식별하고;
상기 하나 이상의 정지된 차량들 각각에 대해, 상기 정지된 차량과 연관된 하나 이상의 노드들을 포함하는 미리 설정된 지역을 결정하고;
상기 정지된 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하고;
상기 맵 및 상기 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 후보 맵을 결정하고;
상기 후보 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 후보 경로를 결정하게 하도록 구성되는, 경로 계획을 위한 시스템.
20. The method of any one of claims 15 to 19 for determining a target route of the target vehicle based at least in part on the starting location, the destination, motion state information associated with one or more vehicles, and the map. , the at least one processor causes the system to:
identify one or more stationary vehicles from the one or more vehicles based on the motion state information;
determine, for each of the one or more stationary vehicles, a preset area comprising one or more nodes associated with the stationary vehicle;
for each of the one or more nodes associated with the stationary vehicle, modify node information of the node;
determine a candidate map based on the map and modified node information of one or more nodes associated with each of the one or more stationary vehicles;
and determine a candidate route of the target vehicle based on the candidate map, the departure location, and the destination.
제20항에 있어서, 상기 정지된 차량과 연관된 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하기 위해 상기 적어도 하나의 프로세서는:
미리 결정된 임계값보다 큰 가중치 값을 상기 노드에 할당하고;
상기 노드를 턴을 할 수 없는 노드로 지정하도록 지시되는, 경로 계획을 위한 시스템.
21. The method of claim 20, wherein, for each of the one or more nodes associated with the stationary vehicle, to modify node information of the node, the at least one processor comprises:
assign a weight value greater than a predetermined threshold to the node;
A system for path planning, directed to designate the node as a non-turnable node.
제20항 또는 제21항에 있어서, 상기 적어도 하나의 프로세서는 또한 상기 시스템으로 하여금:
상기 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 적어도 일부와 적어도 부분적으로 중첩하는지 여부를 결정하고 - 상기 적어도 하나의 미리 결정된 경로는 상기 하나 이상의 차량들 중 적어도 하나의 이동하는 차량에 대응함 -;
상기 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로와 중첩되지 않는다는 결정에 응답하여, 상기 후보 경로를 상기 타겟 차량의 타겟 경로로 지정하게 하도록 구성되는, 경로 계획을 위한 시스템.
22. The method of claim 20 or 21, wherein the at least one processor further causes the system to:
determine whether the candidate path at least partially overlaps with at least a portion of at least one predetermined path not traversed, wherein the at least one predetermined path corresponds to a moving vehicle of at least one of the one or more vehicles; ;
and in response to determining that the candidate path does not overlap with at least one untraveled predetermined path, direct the candidate path to a target path of the target vehicle.
제22항에 있어서, 상기 적어도 하나의 프로세서는 또한 상기 시스템으로 하여금:
상기 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 적어도 일부와 적어도 부분적으로 중첩된다는 결정에 응답하여, 상기 정지된 차량과 연관된 하나 이상의 노드들 각각에 대해 상기 노드의 노드 정보를 수정하고;
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 이동하는 차량들을 식별하고;
상기 하나 이상의 이동하는 차량들 각각에 대해, 상기 이동하는 차량에 대응하는 미리 결정된 경로와 연관된 하나 이상의 노드들을 결정하고;
상기 이동하는 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하고;
상기 맵, 상기 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보, 및 상기 하나 이상의 이동하는 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 제2 후보 맵을 결정하고;
상기 제2 후보 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 제2 후보 경로를 결정하게 하도록 구성되는, 경로 계획을 위한 시스템.
23. The system of claim 22, wherein the at least one processor further causes the system to:
in response to determining that the candidate path at least partially overlaps with at least a portion of at least one predetermined path not traversed, modify node information of the node for each of the one or more nodes associated with the stationary vehicle;
identify one or more moving vehicles from the one or more vehicles based on the movement state information;
determine, for each of the one or more moving vehicles, one or more nodes associated with a predetermined path corresponding to the moving vehicle;
for each of the one or more nodes associated with the moving vehicle, modify node information of the node;
determine a second candidate map based on the map, modified node information of one or more nodes associated with each of the one or more stationary vehicles, and modified node information of one or more nodes associated with each of the one or more moving vehicles do;
and determine a second candidate route of the target vehicle based on the second candidate map, the departure location, and the destination.
제 23 항에 있어서,
상기 정지된 차량과 연관된 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하기 위해 상기 적어도 하나의 프로세서는 상기 시스템으로 하여금:
상기 노드를 장벽으로 지정하게 하도록 구성되고;
상기 이동하는 차량과 연관된 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하기 위해 상기 적어도 하나의 프로세서는 상기 시스템으로 하여금:
미리 결정된 임계값보다 큰 가중치 값을 상기 노드에 할당하게 하도록 구성되는, 경로 계획을 위한 시스템.
24. The method of claim 23,
For each of the one or more nodes associated with the stationary vehicle, to modify node information of the node, the at least one processor causes the system to:
configured to designate the node as a barrier;
For each of the one or more nodes associated with the moving vehicle, to modify node information of the node, the at least one processor causes the system to:
and assign a weight value greater than a predetermined threshold to the node.
제15항 내지 제24항 중 어느 한 항에 있어서, 상기 출발 위치, 상기 목적지, 상기 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 상기 맵에 적어도 부분적으로 기초하여 상기 타겟 차량의 타겟 경로를 결정하기 위해, 상기 적어도 하나의 프로세서는 또한 상기 시스템으로 하여금:
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 정지된 차량들을 식별하고;
상기 하나 이상의 정지된 차량들 각각에 대해, 상기 정지된 차량과 연관된 하나 이상의 노드들을 포함하는 미리 설정된 지역을 결정하고;
상기 정지된 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드를 장벽으로 지정함으로써 상기 노드의 노드 정보를 수정하고;
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 이동하는 차량들을 식별하고;
상기 하나 이상의 이동하는 차량들 각각에 대해, 상기 이동하는 차량에 대응하는 미리 결정된 경로와 연관된 하나 이상의 노드들을 결정하고;
상기 이동하는 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 미리 결정된 임계값보다 큰 가중치 값을 상기 노드에 할당함으로써 상기 노드의 노드 정보를 수정하고;
상기 맵, 상기 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보, 및 상기 하나 이상의 이동하는 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 타겟 맵을 결정하고;
상기 타겟 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 타겟 경로를 결정하게 하도록 구성되는, 경로 계획을 위한 시스템.
25. The method of any one of claims 15 to 24, further configured to determine a target route of the target vehicle based at least in part on the departure location, the destination, motion state information associated with the one or more vehicles, and the map. In order to do so, the at least one processor also causes the system to:
identify one or more stationary vehicles from the one or more vehicles based on the motion state information;
determine, for each of the one or more stationary vehicles, a preset area comprising one or more nodes associated with the stationary vehicle;
for each of the one or more nodes associated with the stationary vehicle, modify node information of the node by designating the node as a barrier;
identify one or more moving vehicles from the one or more vehicles based on the movement state information;
determine, for each of the one or more moving vehicles, one or more nodes associated with a predetermined path corresponding to the moving vehicle;
modify node information of the node by assigning, for each of the one or more nodes associated with the moving vehicle, a weight value greater than a predetermined threshold to the node;
determine a target map based on the map, modified node information of one or more nodes associated with each of the one or more stationary vehicles, and modified node information of one or more nodes associated with each of the one or more moving vehicles;
and determine a target route of the target vehicle based on the target map, the departure location, and the destination.
적어도 하나의 프로세서, 적어도 하나의 저장 매체, 및 네트워크에 연결된 통신 플랫폼을 포함하는 컴퓨팅 디바이스에서 구현되는 방법으로서:
타겟 차량의 출발 위치 및 목적지를 획득하는 단계;
상기 출발 위치 및 상기 목적지를 포함하는 타겟 지역의 맵을 획득하는 단계로서, 상기 맵은 복수의 노드들 각각의 노드 정보를 포함하는, 상기 타겟 지역의 맵을 획득하는 단계;
상기 타겟 지역에서 상기 타겟 차량과는 다른 하나 이상의 차량들과 연관된 움직임 상태 정보를 획득하는 단계; 및
상기 출발 위치, 상기 목적지, 상기 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 상기 맵에 적어도 부분적으로 기초하여 상기 타겟 차량의 타겟 경로를 결정하는 단계를 포함하는, 컴퓨팅 디바이스에서 구현되는 방법.
A method implemented in a computing device comprising at least one processor, at least one storage medium, and a communication platform coupled to a network, the method comprising:
obtaining a starting position and a destination of the target vehicle;
obtaining a map of a target area including the starting location and the destination, wherein the map includes node information of each of a plurality of nodes; obtaining a map of the target area;
acquiring motion state information associated with one or more vehicles different from the target vehicle in the target area; and
determining a target route of the target vehicle based at least in part on the starting location, the destination, motion state information associated with the one or more vehicles, and the map.
제26항에 있어서, 상기 복수의 노드들 각각의 노드 정보는 상기 노드의 위치, 상기 노드의 바코드, 상기 노드의 좌표, 상기 노드의 통행 가능성, 상기 노드의 턴 능력, 인접 노드들의 개수, 또는 상기 노드의 상기 인접 노드들에 대한 연결성 중 적어도 하나를 포함하는, 컴퓨팅 디바이스에서 구현되는 방법.The method of claim 26, wherein the node information of each of the plurality of nodes includes the location of the node, the barcode of the node, the coordinates of the node, the traversability of the node, the turning ability of the node, the number of adjacent nodes, or the A method implemented on a computing device, comprising at least one of a node's connectivity to the adjacent nodes. 제26항 또는 제27항에 있어서, 상기 출발 위치, 상기 목적지, 상기 하나 이상의 차량들과 연관된 움직임 상태 정보에 적어도 부분적으로 기초하여 상기 타겟 차량의 타겟 경로를 결정하는 단계는:
상기 복수의 노드들 중 적어도 하나에 대해, 상기 하나 이상의 차량들과 연관된 움직임 상태 정보에 기초하여 상기 복수의 노드들 중 적어도 하나의 각각의 노드 정보의 적어도 일부를 수정함으로써 타겟 노드 정보를 결정하는 단계;
상기 맵 및 상기 복수의 노드들 중 적어도 하나의 타겟 노드 정보에 기초하여 타겟 맵을 생성하는 단계; 및
상기 타겟 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 타겟 경로를 결정하는 단계를 포함하는, 컴퓨팅 디바이스에서 구현되는 방법.
28. The method of claim 26 or 27, wherein determining a target path of the target vehicle based at least in part on the departure location, the destination, and motion state information associated with the one or more vehicles comprises:
determining, for at least one of the plurality of nodes, target node information by modifying at least a portion of each node information of at least one of the plurality of nodes based on motion state information associated with the one or more vehicles; ;
generating a target map based on the map and target node information of at least one of the plurality of nodes; and
and determining a target route of the target vehicle based on the target map, the departure location, and the destination.
제28항에 있어서, 상기 타겟 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 타겟 경로를 결정하는 단계는:
상기 타겟 맵에서의 출발 위치에 기초하여 상기 복수의 노드들로부터 출발 노드를 결정하는 단계;
상기 타겟 맵에서의 목적지에 기초하여 상기 복수의 노드들로부터 목적지 노드를 결정하는 단계; 및
상기 출발 노드와 상기 목적지 노드 사이의 복수의 타겟 노드들과 연관된 복수의 비용들에 기초하여 상기 타겟 차량의 타겟 경로를 결정하는 단계로서, 상기 노드의 비용은 상기 출발 노드로부터 상기 노드까지의 제1 비용 및 상기 노드로부터 상기 목적지 노드까지의 제2 비용에 기초하여 결정되는, 타겟 차량의 타겟 경로를 결정하는 단계를 포함하는, 컴퓨팅 디바이스에서 구현되는 방법.
The method of claim 28, wherein determining a target route of the target vehicle based on the target map, the departure location, and the destination comprises:
determining a departure node from the plurality of nodes based on a departure location in the target map;
determining a destination node from the plurality of nodes based on the destination in the target map; and
determining a target route of the target vehicle based on a plurality of costs associated with a plurality of target nodes between the departure node and the destination node, wherein the cost of the node is a first cost from the departure node to the node. and determining a target route of a target vehicle that is determined based on a cost and a second cost from the node to the destination node.
제29항에 있어서, 상기 출발 노드로부터 상기 노드까지의 제1 비용은 상기 노드의 가중치 값, 상기 노드의 부모 노드의 비용, 상기 노드의 부모 노드로부터 상기 노드까지의 비용, 상기 타겟 맵에서 상기 노드의 부모 노드로부터 상기 노드로의 턴 비용에 기초하여 결정되는, 컴퓨팅 디바이스에서 구현되는 방법.30. The method of claim 29, wherein the first cost from the starting node to the node is the weight value of the node, the cost of the parent node of the node, the cost of the node from the parent node of the node to the node, and the node in the target map. is determined based on a cost of a turn from a parent node of 제26항 내지 제30항 중 어느 한 항에 있어서, 상기 출발 위치, 상기 목적지, 상기 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 상기 맵에 적어도 부분적으로 기초하여 상기 타겟 차량의 타겟 경로를 결정하는 단계는:
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 정지된 차량들을 식별하는 단계;
상기 하나 이상의 정지된 차량들 각각에 대해, 상기 정지된 차량과 연관된 하나 이상의 노드들을 포함하는 미리 설정된 지역을 결정하는 단계;
상기 정지된 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하는 단계;
상기 맵 및 상기 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 후보 맵을 결정하는 단계; 및
상기 후보 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 후보 경로를 결정하는 단계를 포함하는, 컴퓨팅 디바이스에서 구현되는 방법.
31. The method of any one of claims 26 to 30, further comprising: determining a target route of the target vehicle based at least in part on the departure location, the destination, motion state information associated with the one or more vehicles, and the map. The steps are:
identifying one or more stationary vehicles from the one or more vehicles based on the motion state information;
determining, for each of the one or more stationary vehicles, a preset area comprising one or more nodes associated with the stationary vehicle;
for each of the one or more nodes associated with the stopped vehicle, modifying node information of the node;
determining a candidate map based on the map and modified node information of one or more nodes associated with each of the one or more stationary vehicles; and
and determining a candidate route of the target vehicle based on the candidate map, the departure location, and the destination.
제31항에 있어서, 상기 정지된 차량과 연관된 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하는 단계는:
미리 결정된 임계값보다 큰 가중치 값을 상기 노드에 할당하는 단계; 및
상기 노드를 턴을 할 수 없는 노드로 지정하는 단계를 포함하는, 컴퓨팅 디바이스에서 구현되는 방법.
32. The method of claim 31, wherein, for each of the one or more nodes associated with the stationary vehicle, modifying the node's node information comprises:
assigning a weight value greater than a predetermined threshold to the node; and
and designating the node as a non-turnable node.
제31항 또는 제32항에 있어서,
상기 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 적어도 일부와 적어도 부분적으로 중첩하는지 여부를 결정하는 단계로서, 상기 적어도 하나의 미리 결정된 경로는 상기 하나 이상의 차량들 중 적어도 하나의 이동하는 차량에 대응하는, 상기 중첩하는지 여부를 결정하는 단계; 및
상기 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로와 중첩되지 않는다는 결정에 응답하여, 상기 후보 경로를 상기 타겟 차량의 타겟 경로로 지정하는 단계를 더 포함하는, 컴퓨팅 디바이스에서 구현되는 방법.
33. The method of claim 31 or 32,
determining whether the candidate path at least partially overlaps with at least a portion of at least one predetermined path not traversed, wherein the at least one predetermined path is directed to at least one moving vehicle of the one or more vehicles. corresponding, determining whether the overlapping; and
in response to determining that the candidate route does not overlap with at least one untraveled predetermined route, designating the candidate route as the target route of the target vehicle.
제33항에 있어서,
상기 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 적어도 일부와 적어도 부분적으로 중첩된다는 결정에 응답하여, 상기 정지된 차량과 연관된 하나 이상의 노드들 각각에 대해 상기 노드의 노드 정보를 수정하는 단계;
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 이동하는 차량들을 식별하는 단계;
상기 하나 이상의 이동하는 차량들 각각에 대해, 상기 이동하는 차량에 대응하는 미리 결정된 경로와 연관된 하나 이상의 노드들을 결정하는 단계;
상기 이동하는 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하는 단계;
상기 맵, 상기 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보, 및 상기 하나 이상의 이동하는 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 제2 후보 맵을 결정하는 단계; 및
상기 제2 후보 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 제2 후보 경로를 결정하는 단계를 더 포함하는, 컴퓨팅 디바이스에서 구현되는 방법.
34. The method of claim 33,
in response to determining that the candidate path at least partially overlaps with at least a portion of at least one predetermined path not traversed, modifying node information of the node for each of the one or more nodes associated with the stationary vehicle;
identifying one or more moving vehicles from the one or more vehicles based on the movement state information;
determining, for each of the one or more moving vehicles, one or more nodes associated with a predetermined path corresponding to the moving vehicle;
for each of the one or more nodes associated with the moving vehicle, modifying node information of the node;
determine a second candidate map based on the map, modified node information of one or more nodes associated with each of the one or more stationary vehicles, and modified node information of one or more nodes associated with each of the one or more moving vehicles to do; and
and determining a second candidate route of the target vehicle based on the second candidate map, the departure location, and the destination.
제 34 항에 있어서,
상기 정지된 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하는 단계는:
상기 노드를 장벽으로 지정하는 단계를 포함하고,
상기 이동하는 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하는 단계는:
미리 결정된 임계값보다 큰 가중치 값을 상기 노드에 할당하는 단계를 포함하는, 컴퓨팅 디바이스에서 구현되는 방법.
35. The method of claim 34,
For each of the one or more nodes associated with the stationary vehicle, modifying node information of the node comprises:
designating the node as a barrier;
For each of the one or more nodes associated with the moving vehicle, modifying node information of the node comprises:
and assigning to the node a weight value greater than a predetermined threshold.
제26항 내지 제35항 중 어느 한 항에 있어서, 상기 출발 위치, 상기 목적지, 상기 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 상기 맵에 적어도 부분적으로 기초하여 상기 타겟 차량의 타겟 경로를 결정하는 단계는:
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 정지된 차량들을 식별하는 단계;
상기 하나 이상의 정지된 차량들 각각에 대해, 상기 정지된 차량과 연관된 하나 이상의 노드들을 포함하는 미리 설정된 지역을 결정하는 단계;
상기 정지된 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드를 장벽으로 지정함으로써 상기 노드의 노드 정보를 수정하는 단계;
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 이동하는 차량들을 식별하는 단계;
상기 하나 이상의 이동하는 차량들 각각에 대해, 상기 이동하는 차량에 대응하는 미리 결정된 경로와 연관된 하나 이상의 노드들을 결정하는 단계;
상기 이동하는 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 미리 결정된 임계값보다 큰 가중치 값을 상기 노드에 할당함으로써 상기 노드의 노드 정보를 수정하는 단계; 상기 맵, 상기 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보, 및 상기 하나 이상의 이동하는 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 상기 타겟 맵을 결정하는 단계; 및
상기 타겟 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 타겟 경로를 결정하는 단계를 포함하는, 컴퓨팅 디바이스에서 구현되는 방법.
36. The method of any one of claims 26 to 35, further comprising determining a target route of the target vehicle based at least in part on the departure location, the destination, motion state information associated with the one or more vehicles, and the map. The steps are:
identifying one or more stationary vehicles from the one or more vehicles based on the motion state information;
determining, for each of the one or more stationary vehicles, a preset area comprising one or more nodes associated with the stationary vehicle;
for each of the one or more nodes associated with the stationary vehicle, modifying node information of the node by designating the node as a barrier;
identifying one or more moving vehicles from the one or more vehicles based on the movement state information;
determining, for each of the one or more moving vehicles, one or more nodes associated with a predetermined path corresponding to the moving vehicle;
modifying, for each of the one or more nodes associated with the moving vehicle, the node information of the node by assigning to the node a weight value greater than a predetermined threshold; determining the target map based on the map, modified node information of one or more nodes associated with each of the one or more stationary vehicles, and modified node information of one or more nodes associated with each of the one or more moving vehicles step; and
and determining a target route of the target vehicle based on the target map, the departure location, and the destination.
경로 계획을 위한 시스템으로서:
타겟 차량의 출발 위치 및 목적지를 획득하도록 구성된 위치 획득 모듈;
상기 출발 위치 및 상기 목적지를 포함하는 타겟 지역의 맵을 획득하도록 구성된 맵 획득 모듈로서, 상기 맵은 복수의 노드들 각각의 노드 정보를 포함하는, 상기 맵 획득 모듈;
상기 타겟 지역에서 상기 타겟 차량과는 다른 하나 이상의 차량들과 연관된 움직임 상태 정보를 획득하도록 구성된 움직임 상태 획득 모듈; 및
상기 출발 위치, 상기 목적지, 상기 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 상기 맵에 적어도 부분적으로 기초하여 상기 타겟 차량의 타겟 경로를 결정하도록 구성된 경로 결정 모듈을 포함하는, 경로 계획을 위한 시스템.
As a system for route planning:
a location obtaining module configured to obtain a starting location and a destination of the target vehicle;
a map acquiring module configured to acquire a map of a target area including the departure location and the destination, wherein the map includes node information of each of a plurality of nodes;
a motion status obtaining module configured to obtain motion status information associated with one or more vehicles different from the target vehicle in the target area; and
and a route determination module configured to determine a target route of the target vehicle based at least in part on the starting location, the destination, motion state information associated with the one or more vehicles, and the map.
제37항에 있어서, 상기 복수의 노드들 각각의 노드 정보는 상기 노드의 위치, 상기 노드의 바코드, 상기 노드의 좌표, 상기 노드의 통행 가능성, 상기 노드의 턴 능력, 인접 노드들의 개수, 또는 상기 노드의 상기 인접 노드들에 대한 연결성 중 적어도 하나를 포함하는, 경로 계획을 위한 시스템.38. The method of claim 37, wherein the node information of each of the plurality of nodes includes the location of the node, the barcode of the node, the coordinates of the node, the traversability of the node, the turning ability of the node, the number of adjacent nodes, or the A system for path planning, comprising at least one of a node's connectivity to the adjacent nodes. 제37항 또는 제38항에 있어서, 상기 출발 위치, 상기 목적지, 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 상기 맵에 적어도 부분적으로 기초하여 상기 타겟 차량의 타겟 경로를 결정하기 위해, 상기 경로 결정 모듈은 또한:
상기 복수의 노드들 중 적어도 하나에 대해, 상기 하나 이상의 차량들과 연관된 움직임 상태 정보에 기초하여 상기 복수의 노드들 중 적어도 하나의 각각의 노드 정보의 적어도 일부를 수정함으로써 타겟 노드 정보를 결정하고;
상기 맵 및 상기 복수의 노드들 중 적어도 하나의 타겟 노드 정보에 기초하여 타겟 맵을 생성하고;
상기 타겟 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 타겟 경로를 결정하도록 구성되는, 경로 계획을 위한 시스템.
39. The route determination of claim 37 or 38, to determine a target route of the target vehicle based at least in part on the starting location, the destination, motion state information associated with one or more vehicles, and the map. The module is also:
determine, for at least one of the plurality of nodes, target node information by modifying at least a portion of each node information of at least one of the plurality of nodes based on motion state information associated with the one or more vehicles;
generate a target map based on the map and target node information of at least one of the plurality of nodes;
and determine a target route of the target vehicle based on the target map, the departure location, and the destination.
제39항에 있어서, 상기 타겟 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 타겟 경로를 결정하기 위해, 상기 경로 결정 모듈은 또한:
상기 타겟 맵에서의 출발 위치에 기초하여 상기 복수의 노드들로부터 출발 노드를 결정하고;
상기 타겟 맵에서의 목적지에 기초하여 상기 복수의 노드들로부터 목적지 노드를 결정하고;
상기 출발 노드와 상기 목적지 노드 사이의 복수의 타겟 노드들과 연관된 복수의 비용들에 기초하여 상기 타겟 차량의 타겟 경로를 결정하도록 - 상기 노드의 비용은 상기 출발 노드로부터 상기 노드까지의 제1 비용 및 상기 노드로부터 상기 목적지 노드까지의 제2 비용에 기초하여 결정됨 -, 구성되는, 경로 계획을 위한 시스템.
40. The method of claim 39, wherein to determine a target route of the target vehicle based on the target map, the departure location, and the destination, the route determination module further comprises:
determine a departure node from the plurality of nodes based on a departure location in the target map;
determine a destination node from the plurality of nodes based on a destination in the target map;
determine a target route of the target vehicle based on a plurality of costs associated with a plurality of target nodes between the departure node and the destination node, the cost of the node being a first cost from the departure node to the node and determined based on a second cost from the node to the destination node, configured.
제40항에 있어서, 상기 출발 노드로부터 상기 노드까지의 제1 비용은 상기 노드의 가중치 값, 상기 노드의 부모 노드의 비용, 상기 노드의 부모 노드로부터 상기 노드까지의 비용, 상기 타겟 맵에서 상기 노드의 부모 노드로부터 상기 노드로의 턴 비용에 기초하여 결정되는, 경로 계획을 위한 시스템.41. The method of claim 40, wherein the first cost from the starting node to the node is the weight value of the node, the cost of the parent node of the node, the cost of the node from the parent node of the node to the node, and the node in the target map. A system for path planning, determined based on a turn cost from a parent node of 제37항 내지 제41항 중 어느 한 항에 있어서, 상기 출발 위치, 상기 목적지, 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 상기 맵에 적어도 부분적으로 기초하여 상기 타겟 차량의 타겟 경로를 결정하기 위해, 상기 경로 결정 모듈은 또한:
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 정지된 차량들을 식별하고;
상기 하나 이상의 정지된 차량들 각각에 대해, 상기 정지된 차량과 연관된 하나 이상의 노드들을 포함하는 미리 설정된 지역을 결정하고;
상기 정지된 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하고;
상기 맵 및 상기 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 후보 맵을 결정하고;
상기 후보 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 후보 경로를 결정하도록 구성되는, 경로 계획을 위한 시스템.
42. The method of any one of claims 37 to 41 for determining a target route of the target vehicle based at least in part on the starting location, the destination, motion state information associated with one or more vehicles, and the map. , the path determination module also includes:
identify one or more stationary vehicles from the one or more vehicles based on the motion state information;
determine, for each of the one or more stationary vehicles, a preset area comprising one or more nodes associated with the stationary vehicle;
for each of the one or more nodes associated with the stationary vehicle, modify node information of the node;
determine a candidate map based on the map and modified node information of one or more nodes associated with each of the one or more stationary vehicles;
and determine a candidate route of the target vehicle based on the candidate map, the departure location, and the destination.
제42항에 있어서, 상기 정지된 차량과 연관된 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하기 위해 상기 경로 결정 모듈은 또한:
미리 결정된 임계값보다 큰 가중치 값을 상기 노드에 할당하고;
상기 노드를 턴을 할 수 없는 노드로 지정하도록 구성되는, 경로 계획을 위한 시스템.
43. The method of claim 42, wherein, for each of the one or more nodes associated with the stopped vehicle, to modify the node's node information, the route determination module further comprises:
assign a weight value greater than a predetermined threshold to the node;
and designate the node as a non-turnable node.
제42항 또는 제43항에 있어서, 상기 경로 결정 모듈은 또한:
상기 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 적어도 일부와 적어도 부분적으로 중첩하는지 여부를 결정하고 - 상기 적어도 하나의 미리 결정된 경로는 상기 하나 이상의 차량들 중 적어도 하나의 이동하는 차량에 대응함 -;
상기 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로와 중첩되지 않는다는 결정에 응답하여, 상기 후보 경로를 상기 타겟 차량의 타겟 경로로 지정하도록 구성되는, 경로 계획을 위한 시스템.
44. The method of claim 42 or 43, wherein the route determination module further comprises:
determine whether the candidate path at least partially overlaps with at least a portion of at least one predetermined path not traversed, wherein the at least one predetermined path corresponds to a moving vehicle of at least one of the one or more vehicles; ;
and in response to determining that the candidate route does not overlap with the at least one untraveled predetermined route, designate the candidate route as the target route of the target vehicle.
제44항에 있어서, 상기 경로 결정 모듈은 또한:
상기 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 적어도 일부와 적어도 부분적으로 중첩된다는 결정에 응답하여, 상기 정지된 차량과 연관된 하나 이상의 노드들 각각에 대해 상기 노드의 노드 정보를 수정하고;
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 이동하는 차량들을 식별하고;
상기 하나 이상의 이동하는 차량들 각각에 대해, 상기 이동하는 차량에 대응하는 미리 결정된 경로와 연관된 하나 이상의 노드들을 결정하고;
상기 이동하는 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하고;
상기 맵, 상기 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보, 및 상기 하나 이상의 이동하는 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 제2 후보 맵을 결정하고;
상기 제2 후보 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 제2 후보 경로를 결정하도록 구성되는, 경로 계획을 위한 시스템.
45. The method of claim 44, wherein the path determination module further comprises:
in response to determining that the candidate path at least partially overlaps with at least a portion of at least one predetermined path not traversed, modify node information of the node for each of the one or more nodes associated with the stationary vehicle;
identify one or more moving vehicles from the one or more vehicles based on the movement state information;
determine, for each of the one or more moving vehicles, one or more nodes associated with a predetermined path corresponding to the moving vehicle;
for each of the one or more nodes associated with the moving vehicle, modify node information of the node;
determine a second candidate map based on the map, modified node information of one or more nodes associated with each of the one or more stationary vehicles, and modified node information of one or more nodes associated with each of the one or more moving vehicles do;
and determine a second candidate route of the target vehicle based on the second candidate map, the departure location, and the destination.
제45항에 있어서,
상기 정지된 차량과 연관된 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하기 위해 상기 경로 결정 모듈은 또한:
상기 노드를 장벽으로 지정하도록 구성되고;
상기 이동하는 차량과 연관된 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하기 위해 상기 적어도 하나의 프로세서는 상기 시스템으로 하여금:
미리 결정된 임계값보다 큰 가중치 값을 상기 노드에 할당하게 하도록 구성되는, 경로 계획을 위한 시스템.
46. The method of claim 45,
For each of the one or more nodes associated with the stationary vehicle, to modify the node's node information, the route determination module further comprises:
configured to designate the node as a barrier;
For each of the one or more nodes associated with the moving vehicle, to modify node information of the node, the at least one processor causes the system to:
and assign a weight value greater than a predetermined threshold to the node.
제37항 내지 제46항 중 어느 한 항에 있어서, 상기 출발 위치, 상기 목적지, 상기 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 상기 맵에 적어도 부분적으로 기초하여 상기 타겟 차량의 타겟 경로를 결정하기 위해, 상기 경로 결정 모듈은 또한:
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 정지된 차량들을 식별하고;
상기 하나 이상의 정지된 차량들 각각에 대해, 상기 정지된 차량과 연관된 하나 이상의 노드들을 포함하는 미리 설정된 지역을 결정하고;
상기 정지된 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드를 장벽으로 지정함으로써 상기 노드의 노드 정보를 수정하고;
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 이동하는 차량들을 식별하고;
상기 하나 이상의 이동하는 차량들 각각에 대해, 상기 이동하는 차량에 대응하는 미리 결정된 경로와 연관된 하나 이상의 노드들을 결정하고;
상기 이동하는 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 미리 결정된 임계값보다 큰 가중치 값을 상기 노드에 할당함으로써 상기 노드의 노드 정보를 수정하고; 상기 맵, 상기 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보, 및 상기 하나 이상의 이동하는 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 타겟 맵을 결정하고;
상기 타겟 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 타겟 경로를 결정하도록 구성되는, 경로 계획을 위한 시스템.
47. The method of any of claims 37-46, further configured to determine a target route of the target vehicle based at least in part on the departure location, the destination, motion state information associated with the one or more vehicles, and the map. In order to do so, the path determination module may also:
identify one or more stationary vehicles from the one or more vehicles based on the motion state information;
determine, for each of the one or more stationary vehicles, a preset area comprising one or more nodes associated with the stationary vehicle;
for each of the one or more nodes associated with the stationary vehicle, modify node information of the node by designating the node as a barrier;
identify one or more moving vehicles from the one or more vehicles based on the movement state information;
determine, for each of the one or more moving vehicles, one or more nodes associated with a predetermined path corresponding to the moving vehicle;
modify, for each of the one or more nodes associated with the moving vehicle, the node information of the node by assigning to the node a weight value greater than a predetermined threshold; determine a target map based on the map, modified node information of one or more nodes associated with each of the one or more stationary vehicles, and modified node information of one or more nodes associated with each of the one or more moving vehicles;
and determine a target route of the target vehicle based on the target map, the departure location, and the destination.
실행 가능한 명령들을 포함하는 비 일시적 컴퓨터 판독 가능한 매체로서, 상기 실행 가능한 명령들은 적어도 하나의 프로세서에 의해 실행될 때 상기 적어도 하나의 프로세서에 방법을 수행하도록 지시하며, 상기 방법은:
타겟 차량의 출발 위치 및 목적지를 획득하는 단계;
상기 출발 위치 및 상기 목적지를 포함하는 타겟 지역의 맵을 획득하는 단계로서, 상기 맵은 복수의 노드들 각각의 노드 정보를 포함하는, 상기 타겟 지역의 맵을 획득하는 단계;
상기 타겟 지역에서 상기 타겟 차량과는 다른 하나 이상의 차량들과 연관된 움직임 상태 정보를 획득하는 단계; 및
상기 출발 위치, 상기 목적지, 상기 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 상기 맵에 적어도 부분적으로 기초하여 상기 타겟 차량의 타겟 경로를 결정하는 단계를 포함하는, 비 일시적 컴퓨터 판독 가능한 매체.
A non-transitory computer-readable medium comprising executable instructions, the executable instructions, when executed by at least one processor, instructing the at least one processor to perform a method, the method comprising:
obtaining a starting position and a destination of the target vehicle;
obtaining a map of a target area including the starting location and the destination, wherein the map includes node information of each of a plurality of nodes; obtaining a map of the target area;
acquiring motion state information associated with one or more vehicles different from the target vehicle in the target area; and
determining a target route of the target vehicle based at least in part on the starting location, the destination, motion state information associated with the one or more vehicles, and the map.
KR1020217024785A 2019-01-14 2020-01-08 Systems and methods for route planning KR102643759B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910032301.5 2019-01-14
CN201910032301.5A CN109724612B (en) 2019-01-14 2019-01-14 AGV path planning method and device based on topological map
PCT/CN2020/070820 WO2020147621A1 (en) 2019-01-14 2020-01-08 Systems and methods for route planning

Publications (2)

Publication Number Publication Date
KR20210108479A true KR20210108479A (en) 2021-09-02
KR102643759B1 KR102643759B1 (en) 2024-03-07

Family

ID=66298338

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217024785A KR102643759B1 (en) 2019-01-14 2020-01-08 Systems and methods for route planning

Country Status (6)

Country Link
US (1) US20210341309A1 (en)
EP (1) EP3894790A4 (en)
JP (1) JP7350075B2 (en)
KR (1) KR102643759B1 (en)
CN (1) CN109724612B (en)
WO (1) WO2020147621A1 (en)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109724612B (en) * 2019-01-14 2021-06-15 浙江华睿科技有限公司 AGV path planning method and device based on topological map
CN110275525A (en) * 2019-05-16 2019-09-24 智久(厦门)机器人科技有限公司上海分公司 A kind of robot traffic control system and method, path planning system and method
CN110455305A (en) * 2019-08-20 2019-11-15 云南梦工厂机器人有限公司 AGV trolley control method with autonomous path planning function
CN112683287A (en) * 2019-10-18 2021-04-20 上海商汤临港智能科技有限公司 Path generation method and device, electronic equipment and storage medium
CN110954123B (en) * 2019-12-10 2021-05-04 电子科技大学 Path planning method based on Ackerman constraint
CN112985429B (en) * 2019-12-13 2023-07-25 杭州海康机器人股份有限公司 Topological map processing method, device and equipment
CN111158370B (en) * 2019-12-30 2023-06-30 华东交通大学 Automatic guided vehicle AGV deployment method and system and automatic guided vehicle AGV
CN111240322B (en) * 2020-01-09 2020-12-29 珠海市一微半导体有限公司 Method for determining working starting point of robot movement limiting frame and motion control method
CN111338343B (en) * 2020-02-27 2023-08-29 歌尔股份有限公司 Automatic guided vehicle dispatching method and device, electronic equipment and storage medium
CN111405515B (en) * 2020-03-25 2022-04-19 广西八联通信工程有限公司 Internet of things based on 5G communication
CN111367295A (en) * 2020-03-26 2020-07-03 华南理工大学 Navigation and obstacle avoidance system and method of intelligent wheelchair bed
CN111582579A (en) * 2020-05-08 2020-08-25 中航华东光电(上海)有限公司 Predictive multi-AGV task allocation method based on topological map
CN111750862A (en) * 2020-06-11 2020-10-09 深圳优地科技有限公司 Multi-region-based robot path planning method, robot and terminal equipment
CN111814605B (en) * 2020-06-23 2024-01-19 浙江华睿科技股份有限公司 Main road identification method, main road identification device and storage device based on topological map
CN111679677B (en) * 2020-06-24 2023-10-03 浙江华睿科技股份有限公司 AGV pose adjustment method and device, storage medium and electronic device
CN111780762B (en) * 2020-06-30 2022-04-22 杭州海康机器人技术有限公司 Patrol path generation method and device and storage medium
CN112015174B (en) * 2020-07-10 2022-06-28 歌尔股份有限公司 Multi-AGV motion planning method, device and system
CN111854773A (en) * 2020-07-24 2020-10-30 上海振华重工(集团)股份有限公司 Logical map arrangement method and device, electronic equipment and storage medium
US20220163969A1 (en) * 2020-11-20 2022-05-26 Rapyuta Robotics Co., Ltd. Systems and methods for optimizing route plans in an operating environment
CN112918487B (en) * 2021-02-24 2022-04-12 京东鲲鹏(江苏)科技有限公司 Unmanned vehicle starting method and device, electronic equipment and computer readable medium
CN113298294B (en) * 2021-04-30 2022-04-08 成都飞机工业(集团)有限责任公司 Logistics path planning method based on intelligent production line
CN113253687B (en) * 2021-06-10 2021-10-15 浙江华睿科技股份有限公司 Method and device for optimizing scheduling based on arc connectivity and electronic equipment
US20230063370A1 (en) * 2021-08-30 2023-03-02 Rapyuta Robotics Co., Ltd. Multi-robot route planning
CN114383615A (en) * 2021-12-02 2022-04-22 广东嘉腾机器人自动化有限公司 Path planning method, system, equipment and medium of AGV (automatic guided vehicle) system
CN114323028B (en) * 2022-03-16 2022-06-07 中南大学 Path planning method, system, device and medium for self-adaptive map
CN116205474B (en) * 2023-05-06 2023-07-18 深圳市森歌数据技术有限公司 AGV task allocation method and device for parking lot, electronic equipment and storage medium
CN116700298B (en) * 2023-08-08 2023-11-21 浙江菜鸟供应链管理有限公司 Path planning method, system, equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016170580A (en) * 2015-03-12 2016-09-23 株式会社シンテックホズミ Conveyance vehicle system
JP2017122670A (en) * 2016-01-08 2017-07-13 株式会社Subaru Route search device, route search method, and route search program
US9953523B2 (en) * 2016-04-22 2018-04-24 Here Global B.V. Node-centric navigation optimization

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3686301T2 (en) * 1985-08-30 1993-01-21 Texas Instruments Inc INTRINSICALLY SAFE BRAKE FOR A MULTI-WHEELED VEHICLE WITH MOTOR-CONTROLLED STEERING.
EP0618523B1 (en) * 1993-04-02 1998-12-09 Shinko Electric Co. Ltd. Transport management control apparatus and method for unmanned vehicle system
JP2005274339A (en) 2004-03-24 2005-10-06 Denso Corp Route guidance system, route guidance apparatus, and obstruction guidance apparatus
US20080114542A1 (en) 2004-05-07 2008-05-15 Ippei Nambata Route Searching Device, Route Searching Method, and Route Searching Processing Program
JP2006047266A (en) 2004-06-29 2006-02-16 Denso Corp Navigation device for vehicle
JP4349996B2 (en) * 2004-08-06 2009-10-21 株式会社奥村組 Portable airtight performance measuring device
JP4482421B2 (en) 2004-10-25 2010-06-16 株式会社ケンウッド Guide route search apparatus and guide route search method
MX358042B (en) * 2014-08-28 2018-08-03 Nissan Motor Travel control device and travel control method.
DE102016009255B4 (en) * 2016-07-29 2023-01-26 Kuka Roboter Gmbh Coordination of paths of multiple moving machines
CN106251016B (en) * 2016-08-01 2019-05-07 江苏海事职业技术学院 A kind of parking system paths planning method based on dynamic time windows
US10054447B2 (en) 2016-08-17 2018-08-21 Sharp Laboratories Of America, Inc. Lazier graph-based path planning for autonomous navigation
CN106556406B (en) * 2016-11-14 2020-02-14 北京特种机械研究所 Multi-AGV scheduling method
JPWO2018180175A1 (en) * 2017-03-27 2020-02-06 日本電産株式会社 Moving object, signal processing device, and computer program
CN106931975B (en) * 2017-04-14 2019-10-22 北京航空航天大学 Tactful paths planning method more than a kind of mobile robot based on semantic map
CN107167154B (en) * 2017-04-21 2020-04-24 东南大学 Time window path planning conflict solution method based on time cost function
US20200160732A1 (en) 2017-06-30 2020-05-21 Nec Corporation Area evaluation system, method, and program
CN107179773B (en) * 2017-07-25 2018-07-31 哈尔滨工大特种机器人有限公司 A kind of the evacuation dispatch control method and system of AGV
CN107727099A (en) * 2017-09-29 2018-02-23 山东大学 The more AGV scheduling of material transportation and paths planning method in a kind of factory
US20190120640A1 (en) * 2017-10-19 2019-04-25 rideOS Autonomous vehicle routing
CN108170146B (en) * 2017-12-31 2021-07-30 芜湖哈特机器人产业技术研究院有限公司 Path planning method based on known environment
CN108287545B (en) * 2018-01-19 2021-08-06 广东美的智能机器人有限公司 Conflict management method and system for multiple mobile robots
CN108762268B (en) * 2018-05-29 2022-08-05 上海澳悦智能科技有限公司 Multi-AGV collision-free path planning algorithm
CN109032135A (en) * 2018-07-17 2018-12-18 河南森源电气股份有限公司 A kind of dispatching method and system of automatic guide vehicle
CN108919300B (en) * 2018-07-17 2022-07-08 重庆大学 Mixed map creating method for warehouse channel scene
CN109131318B (en) * 2018-10-19 2020-03-27 清华大学 Autonomous parking path coordination method based on topological map
CN109724612B (en) * 2019-01-14 2021-06-15 浙江华睿科技有限公司 AGV path planning method and device based on topological map

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016170580A (en) * 2015-03-12 2016-09-23 株式会社シンテックホズミ Conveyance vehicle system
JP2017122670A (en) * 2016-01-08 2017-07-13 株式会社Subaru Route search device, route search method, and route search program
US9953523B2 (en) * 2016-04-22 2018-04-24 Here Global B.V. Node-centric navigation optimization

Also Published As

Publication number Publication date
JP7350075B2 (en) 2023-09-25
CN109724612B (en) 2021-06-15
EP3894790A4 (en) 2022-03-02
EP3894790A1 (en) 2021-10-20
WO2020147621A1 (en) 2020-07-23
US20210341309A1 (en) 2021-11-04
KR102643759B1 (en) 2024-03-07
CN109724612A (en) 2019-05-07
JP2022518699A (en) 2022-03-16

Similar Documents

Publication Publication Date Title
KR102643759B1 (en) Systems and methods for route planning
US20210176593A1 (en) Systems and methods for performing location-based actions
US20200049522A1 (en) Methods and systems for route planning
US20210140774A1 (en) Systems and methods for recommending pick-up locations
WO2019219088A1 (en) Systems and methods for order allocation
JP6503474B2 (en) System and method for determining a path of a mobile device
CN109429520B (en) Method, system, device and readable medium for checking cheating service orders
EP3717871B1 (en) Systems and methods for path determination
US20200141741A1 (en) Systems and methods for determining recommended information of a service request
US20190219699A1 (en) Vehicle pose system
US11290547B2 (en) Systems and methods for determining an optimal transportation service type in an online to offline service
US20200320873A1 (en) Systems and methods for determining traffic information of a region
TW201920904A (en) Systems and methods for determining a new route in a map
CN110689719B (en) System and method for identifying closed road sections
US20220155082A1 (en) Route comparison for vehicle routing
CN113448340B (en) Unmanned aerial vehicle path planning method and device, unmanned aerial vehicle and storage medium
CN112346480A (en) Indoor unmanned aerial vehicle, control method thereof and computer-readable storage medium
CN112105956A (en) System and method for autonomous driving
CA3027555A1 (en) Systems and methods for stations loading and display
CN111954875A (en) System and method for displaying points of interest
CN110832811B (en) System and method for transmitting spatial data
CN115826571A (en) Path planning method and device, aircraft and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right