KR20210108479A - Systems and methods for route planning - Google Patents
Systems and methods for route planning Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 137
- 230000033001 locomotion Effects 0.000 claims abstract description 87
- 238000003860 storage Methods 0.000 claims description 65
- 230000004044 response Effects 0.000 claims description 35
- 238000007781 pre-processing Methods 0.000 claims description 34
- 230000004888 barrier function Effects 0.000 claims description 26
- 230000004048 modification Effects 0.000 claims description 18
- 238000012986 modification Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 description 159
- 230000008569 process Effects 0.000 description 57
- 238000004422 calculation algorithm Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 230000007613 environmental effect Effects 0.000 description 9
- 230000003190 augmentative effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000011521 glass Substances 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000002203 pretreatment Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 241001236644 Lavinia Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000010977 jade Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3885—Transmission of map data to client devices; Reception of map data by client devices
- G01C21/3889—Transmission of selected map data, e.g. depending on route
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
- G01C21/3461—Preferred or disfavoured areas, e.g. dangerous zones, toll or emission zones, intersections, manoeuvre types, segments such as motorways, toll roads, ferries
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
- G01C21/3492—Special 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/36—Input/output arrangements for on-board computers
- G01C21/3605—Destination input or retrieval
- G01C21/3614—Destination input or retrieval through interaction with a road map, e.g. selecting a POI icon on a road map
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3807—Creation or updating of map data characterised by the type of data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3863—Structures of map data
- G01C21/387—Organisation of map data, e.g. version management or database structures
- G01C21/3874—Structures specially adapted for data searching and retrieval
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
-
- G06Q50/30—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems involving transmission of navigation instructions to the vehicle
- G08G1/096805—Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route
- G08G1/096811—Systems 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/096816—Systems 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
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems involving transmission of navigation instructions to the vehicle
- G08G1/096833—Systems involving transmission of navigation instructions to the vehicle where different aspects are considered when computing the route
- G08G1/09685—Systems 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
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems involving transmission of navigation instructions to the vehicle
- G08G1/096855—Systems involving transmission of navigation instructions to the vehicle where the output is provided in a suitable form to the driver
- G08G1/096866—Systems 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
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0968—Systems involving transmission of navigation instructions to the vehicle
- G08G1/096877—Systems involving transmission of navigation instructions to the vehicle where the input to the navigation device is provided by a suitable I/O arrangement
- G08G1/096883—Systems 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
관련 출원의 상호 참조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
서버(110)는 단일 서버 또는 서버 그룹일 수 있다. 서버 그룹은 중앙 집중화되거나 분산될 수 있다(예를 들어, 서버(110)는 분산 시스템일 수 있음). 일부 실시예들에서, 서버(110)는 로컬 또는 원격일 수 있다. 예를 들어, 서버(110)는 네트워크(120)를 통해 차량(들)(130), 단말 디바이스(들)(140) 및/또는 저장 디바이스(150)에 저장된 정보 및/또는 데이터에 액세스할 수 있다. 다른 예로서, 서버(110)는 차량(들)(130), 단말 디바이스(들)(140) 및/또는 저장 디바이스(150)에 직접 연결되어 저장된 정보 및/또는 데이터에 액세스할 수 있다. 일부 실시예들에서, 서버(110)는 클라우드 플랫폼 또는 온보드 컴퓨터 상에서 구현될 수 있다. 단지 예로서, 클라우드 플랫폼은 사설 클라우드, 공공 클라우드, 하이브리드 클라우드, 커뮤니티 클라우드, 분산형 클라우드, 클라우드-간, 다중-클라우드 등, 또는 이들의 임의의 조합을 포함할 수 있다. 일부 실시예들에서, 서버(110)는 본 개시의 도 2에 예시된 하나 이상의 구성요소들을 포함하는 컴퓨팅 디바이스(200) 상에서 구현될 수 있다.
일부 실시예들에서, 서버(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,
일부 실시예들에서, 서버(110)는 경로 계획 시스템(100)의 하나 이상의 구성요소들(예를 들어, 차량(들)(130), 단말 디바이스(들)(140), 저장 디바이스(150))과 통신하기 위해 네트워크(120)에 연결될 수 있다. 일부 실시예들에서, 서버(110)는 경로 계획 시스템(100)의 하나 이상의 구성요소들(예를 들어, 차량(들)(130), 단말 디바이스(들)(140), 저장 디바이스(150))에 직접 연결되거나 또는 이들과 통신할 수 있다.
In some embodiments,
네트워크(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)에 연결되어 데이터 및/또는 정보를 교환할 수 있다.
차량(들)(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
단말 디바이스(140)는 네트워크(120)를 통해 서버(110), 차량(들)(130), 및/또는 저장 디바이스(150)로부터 정보 및/또는 데이터를 수신하도록 구성될 수 있다. 예를 들어, 단말 디바이스(140)는 네트워크(120)를 통해 태스크를 수행하려 하거나 수행하고 있는 서버(110) 및/또는 차량으로부터 태스크(예를 들어, 상품 배송)와 연관된 정보(예를 들어, 경로, 출발 위치, 목적지)를 수신할 수 있다. 일부 실시예들에서, 단말 디바이스(140)는 사용자 인터페이스를 제공할 수 있으며, 이를 통해 사용자는 경로 계획 시스템(100)에 대한 정보 및/또는 입력 데이터 및/또는 명령들을 볼 수 있다. 예를 들어, 사용자는 사용자 인터페이스를 통해 태스크와 연관된 정보(예를 들어, 경로, 출발 위치, 목적지)를 볼 수 있다. 다른 예로서, 단말 디바이스(140)는 사용자 인터페이스를 통해 명령을 입력하고 네트워크(120)를 통해 차량(들)(130) 및/또는 서버(110)로 명령을 전송할 수 있다. 명령은 태스크를 실행하기 위한 명령, 태스크 실행을 중지하기 위한 명령, 태스크와 연관된 파라미터를 설정하거나 수정하기 위한 명령, 차량(들)(130) 중 하나를 충전하기 위한 명령, 차량(들)(130) 중 하나를 유지하기 위한 명령, 차량(들)(130) 중 하나에 태스크를 할당하기 위한 명령 등을 포함할 수 있다.
일부 실시예들에서, 단말 디바이스(들)(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
일부 실시예들에서, 단말 디바이스(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,
저장 디바이스(150)는 데이터 및/또는 명령들을 저장할 수 있다. 일부 실시예들에서, 저장 디바이스(150)는 서버(110), 차량(들)(130), 단말 디바이스(들)(140), 외부 저장 디바이스 등으로부터 획득된 데이터를 저장할 수 있다. 예를 들어, 저장 디바이스(150)는 타겟 지역의 맵를 저장할 수 있다. 다른 예로서, 저장 디바이스(150)는 타겟 차량의 타겟 경로를 저장할 수 있다. 일부 실시예들에서, 저장 디바이스(150)는 서버(110)가 본 개시에서 설명된 전형적인 방법들을 수행하기 위해 실행하거나 또는 사용할 수 있는 데이터 및/또는 명령들을 저장할 수 있다. 예를 들어, 저장 디바이스(150)는 경로 계획 시스템(100)이 타겟 지역에서 타겟 차량과는 다른 하나 이상의 차량들과 연관된 움직임 상태 정보를 획득하기 위해 실행하거나 사용할 수 있는 명령들을 저장할 수 있다. 다른 예로서, 저장 디바이스(150)는 경로 계획 시스템(100)이 타겟 차량의 출발 위치, 타겟 차량의 목적지, 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 맵에 적어도 부분적으로 기초하여 타겟 차량의 타겟 경로를 결정하기 위해 실행하거나 사용할 수 있는 명령들을 저장할 수 있다.
일부 실시예들에서, 저장 디바이스(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,
일부 실시예들에서, 저장 디바이스(150)는 경로 계획 시스템(100)의 하나 이상의 구성요소들(예를 들어, 서버(110), 차량(들)(130), 단말 디바이스(들)(140))과 통신하기 위해 네트워크(120)에 연결될 수 있다. 경로 계획 시스템(100)의 하나 이상의 구성요소들은 네트워크(120)를 통해 저장 디바이스(150)에 저장된 데이터 또는 명령들에 액세스할 수 있다. 일부 실시예들에서, 저장 디바이스(150)는 경로 계획 시스템(100)의 하나 이상의 구성요소들(서버(110), 차량(들)(130), 단말 디바이스(들)(140))에 직접 연결되거나 통신할 수 있다. 일부 실시예들에서, 저장 디바이스(150)는 서버(110)의 일부일 수 있다. 예를 들어, 저장 디바이스(150)는 서버(110)에 통합될 수 있다.
In some embodiments,
경로 계획 시스템(100)은 단지 예시의 목적으로 제공되고, 본 개시의 범위를 제한하도록 의도되지 않음에 유의해야 한다. 당 기술분야에서의 통상의 기술자들의 경우, 다수의 변형들 및 수정들이 본 개시의 교시들 하에서 이루어질 수 있다. 그러나, 이들 변형들 및 수정들은 본 개시의 범위로부터 벗어나지 않는다.
It should be noted that the
도 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,
컴퓨팅 디바이스(200)는 여기에 설명된 경로 계획 시스템(100)의 임의의 구성요소들을 구현하는 데 사용될 수 있다. 예를 들어, 프로세싱 디바이스(112)는 하드웨어, 소프트웨어 프로그램, 펌웨어, 또는 이들의 조합을 통해 컴퓨팅 디바이스(200) 상에서 구현될 수 있다. 편의를 위해 단지 하나의 이러한 컴퓨터가 도시되어 있지만, 여기에 설명된 경로 계획 및/또는 스케줄링과 연관된 컴퓨터 기능들은 프로세싱 부하를 분산하기 위해 다수의 유사한 플랫폼들 상에서 분산 방식으로 구현될 수 있다.
예를 들어, 컴퓨팅 디바이스(200)는 데이터 통신을 용이하게 하기 위해 그에 연결된 네트워크에 연결되고 네트워크로부터 연결된 COM 포트들(250)을 포함할 수 있다. 컴퓨팅 디바이스(200)는 또한 프로그램 명령들을 실행하기 위한 하나 이상의 프로세서들(예를 들어, 논리 회로들) 형태로 프로세서(예를 들어, 프로세서(220))를 포함할 수 있다. 예를 들어, 프로세서(220)는 내부에 인터페이스 회로들 및 프로세싱 회로들을 포함할 수 있다. 인터페이스 회로들은 버스(210)로부터 전자 신호들을 수신하도록 구성될 수 있으며, 여기서 전자 신호들은 프로세싱 회로들이 처리하도록 구조화된 데이터 및/또는 명령들을 인코딩한다. 프로세싱 회로들은 논리 계산을 수행한 다음 결론, 결과, 및/또는 전자 신호들로 인코딩된 명령을 결정할 수 있다. 그런 다음 인터페이스 회로들은 버스(210)를 통해 프로세싱 회로로부터 전자 신호들을 보낼 수 있다.
For example,
컴퓨팅 디바이스(200)는 또한, 컴퓨팅 디바이스(200)에 의해 처리 및/또는 전송될 다양한 데이터 파일들(예를 들어, 프로그램 명령들)을 저장하도록 구성된 하나 이상의 저장소들을 포함할 수 있다. 일부 실시예들에서, 하나 이상의 저장소들은 고속 랜덤 액세스 메모리(도시되지 않음), 비휘발성 메모리(예를 들어, 자기 저장 디바이스, 플래시 메모리, 또는 다른 비휘발성 고체 상태 메모리)(도시되지 않음), 디스크(270), 판독 전용 메모리(ROM)(230), 또는 랜덤 액세스 메모리(RAM)(240) 등, 또는 이들의 임의의 조합을 포함할 수 있다. 일부 실시예들에서, 하나 이상의 저장소들은 프로세서(220)에 대응하는 원격 저장소를 더 포함할 수 있다. 원격 저장소는 네트워크(120)를 통해 컴퓨팅 디바이스(200)에 연결될 수 있다. 컴퓨팅 디바이스(200)는 또한 프로세서(220)에 의해 실행될 하나 이상의 저장소들(예를 들어, ROM(230), RAM(240), 및/또는 다른 유형의 비 일시적 저장 매체)에 저장된 프로그램 명령들을 포함할 수 있다. 본 개시의 방법들 및/또는 프로세스들은 프로그램 명령들로 구현될 수 있다. 컴퓨팅 디바이스(200)는 또한 컴퓨팅 디바이스(200)와 다른 구성요소들 사이의 입력/출력을 지원하는 I/O 구성요소(260)를 포함할 수 있다. 컴퓨팅 디바이스(200)는 또한 네트워크 통신을 통해 프로그래밍 및 데이터를 수신할 수 있다.
단지 설명을 위해, 도 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 .
상기 설명은 단지 예시의 목적들을 위해 제공되며, 본 개시의 범위를 제한하도록 의도되지 않는다는 것이 주의되어야 한다. 이 기술분야에서의 통상의 기술자들에 대해, 다수의 변형들 및 수정들이 본 개시의 교시들 하에서 이루어질 수 있다. 그러나, 이들 변형들 및 수정들은 본 개시의 범위로부터 벗어나지 않는다. 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
도 3에 예시된 바와 같이, 모바일 디바이스(300)는 통신 플랫폼(310), 디스플레이(320), 그래픽스 프로세싱 유닛(GPU)(330), 중앙 처리 유닛(CPU)(340), I/O(350), 메모리(360), 모바일 운영 시스템(OS)(370), 및 저장소(390)를 포함할 수 있다. 일부 실시예들에서, 이에 제한되지 않지만 시스템 버스 또는 컨트롤러(도시되지 않음)를 포함한, 임의의 다른 적절한 구성요소들이 또한 모바일 디바이스(300) 내에 있을 수 있다.
As illustrated in FIG. 3 , the
일부 실시예들에서, 모바일 운영 시스템(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
도 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,
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
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
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.
일부 실시예들에서, 토폴로지 맵은 스케줄링 시스템에 저장된 글로벌 환경 토폴로지 맵 또는 로컬 환경 토폴로지 맵을 포함할 수 있다. 예를 들어, 글로벌 환경 토폴로지 맵은 전체 실내 환경이 반영될 수 있는 맵으로서, 전체 실내 환경을 나타내는 노드 정보를 포함할 수 있는 맵일 수 있으며; 로컬 환경 토폴로지 맵은 출발 노드에서 목적지 노드까지의 특정 지역을 포함하는 맵일 수 있다. 일부 실시예들에서, 토폴로지 맵은 또한 토폴로지 맵들을 저장하는 다른 저장 디바이스로부터 스케줄링 시스템에 의해 획득될 수 있다. 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
일부 실시예들에서, 제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:
(1) (One)
여기서 은 해당 노드의 일련 번호를 나타내고, 은 해당 노드에 대응하는 총 비용을 나타내고, 은 현재 노드로부터 해당 노드까지의 비용을 나타내고, 은 해당 노드로부터 목적지 노드까지의 비용을 나타낸다.here represents the serial number of the node, represents the total cost corresponding to the node, represents the cost from the current node to the corresponding node, 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:
(2) (2)
여기서 및 는 목적지 노드의 X 좌표 및 Y 좌표를 각각 나타내고, 및 은 해당 노드의 X 좌표 및 Y 좌표를 각각 나타낸다.here and represents the X coordinate and Y coordinate of the destination node, respectively, and 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:
(3) (3)
여기서 은 해당 노드의 가중치 값을 나타내고, 는 현재 노드에 대응하는 총 비용을 나타내고, 은 현재 노드로부터 해당 노드까지의 거리에 따라 결정된 거리 비용을 나타내고, 은 현재 노드로부터 해당 노드로의 턴 비용을 나타낸다.here represents the weight value of the node, represents the total cost corresponding to the current node, represents the distance cost determined according to the distance from the current node to the corresponding node, 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:
(4) (4)
여기서 및 는 현재 노드의 X 좌표 및 Y 좌표를 각각 나타내고, 및 은 해당 노드의 X 좌표 및 Y 좌표를 각각 나타낸다.here and represents the X and Y coordinates of the current node, respectively, and 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:
(5) (5)
여기서 는 현재 노드의 타겟 각도(target angle)를 나타내고, 은 해당 노드의 타겟 각도를 나타내고, 는 턴 비용의 가중 인자를 나타낸다.here represents the target angle of the current node, represents the target angle of the node, 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,
501에서, 토폴로지 맵이 스케줄링 시스템으로부터 획득될 수 있다. 동작 501은 동작 401과 유사할 수 있으며, 여기서는 상세한 설명을 생략한다.
At 501 , a topology map may be obtained from a scheduling system.
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.
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,
505에서, 경로 계획이 실패했다고 결정될 수 있다. At 505 , it may be determined that the route planning has failed.
506에서, 개방 세트 가 결정될 수 있고 (수정된) 토폴로지 맵에서 경로 계획을 위해 검색될 노드들을 저장하는 데 사용될 수 있으며; 폐쇄 세트 가 경로 계획을 위해 이미 검색된 노드들을 저장하기 위해 결정되고 사용될 수 있다. At 506, open set can be determined and used to store nodes to be searched for path planning in the (modified) topology map; closed set 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,
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
현재 노드의 다음 노드는 (수정된) 토폴로지 맵에서 노드들의 노드 정보(예를 들어, 통행 가능성)에 기초하여 현재 노드의 네 방향들(예를 들어, 위쪽 방향, 아래쪽 방향, 왼쪽 방향, 오른쪽 방향)에서 인접 노드들에 연관된 총 비용들을 결정함으로써 결정될 수 있다. 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
위치 획득 모듈(610)은 타겟 차량(예를 들어, 차량(130))의 출발 위치 및 목적지를 획득하도록 구성될 수 있다. 일부 실시예들에서, 출발 위치 및/또는 목적지는 타겟 차량에 할당된 태스크과 연관될 수 있다. 일부 실시예들에서, 출발 위치는 타겟 차량의 현재 위치일 수 있고, 목적지는 대상(object)이 위치하는 위치일 수 있다. 일부 실시예들에서, 출발 위치는 대상이 위치하는 위치일 수 있고, 목적지는 대상의 배송 위치일 수 있다. 일부 실시예들에서, 출발 위치는 타겟 차량의 현재 위치일 수 있고, 목적지는 대상의 배송 위치일 수 있다.
The
맵 획득 모듈(620)은 출발 위치 및 목적지를 포함하는 타겟 지역의 맵를 획득하도록 구성될 수 있다. 일부 실시예들에서, 맵은 토폴로지 맵, 그리드 맵, 기하학적 맵, 포인트 클라우드 맵 등을 포함할 수 있다. 일부 실시예들에서, 맵은 복수의 노드들 및 맵에 있는 복수의 노드들 각각의 노드 정보(통행 가능성)를 포함할 수 있다. 일부 실시예들에서, 맵 획득 모듈(620)은 경로 계획 시스템(100)의 저장 디바이스(예를 들어, 저장 디바이스(150)), 외부 디바이스 등으로부터 맵를 획득할 수 있다. 일부 실시예들에서, 맵 획득 모듈(620)은 타겟 지역에 대응하는 예비 맵(타겟 지역보다 큰 지역에 대응할 수 있음)의 일부를 추출함으로써 맵를 획득할 수 있다. 추가적으로 또는 대안적으로, 맵 획득 모듈(620)은 전체 예비 맵를 획득할 수 있다.
The
움직임 상태 획득 모듈(630)은 타겟 지역에서 타겟 차량과는 다른 하나 이상의 차량들과 연관된 움직임 상태 정보를 획득하도록 구성될 수 있다. 일부 실시예들에서, 하나 이상의 차량들 각각과 연관된 움직임 상태는 정지된 상태 및 이동하는 상태를 포함할 수 있다. 일부 실시예들에서, 움직임 상태 획득 모듈(630)은 하나 이상의 차량들의 위치 정보에 기초하여 움직임 상태 정보를 획득할 수 있다. 특정 차량을 예로 들면, 특정 차량의 위치가 일정 기간의 시간(예를 들어, 5초, 20초, 30초, 1분, 2분, 5분) 내에서 동일하게 유지되는 경우, 움직임 상태 획득 모듈(630)은 특정 차량이 정지된 상태에 있는 것으로 결정할 수 있으며; 반면에, 특정 차량의 위치가 시간에 따라 변하는 경우, 움직임 상태 획득 모듈(630)은 특정 차량이 이동하는 상태에 있다고 결정할 수 있다. 일부 실시예들에서, 하나 이상의 차량들은 네트워크(120)를 통해 움직임 상태 정보를 움직임 상태 획득 모듈(630)로 전송할 수 있다.
The motion
경로 결정 모듈(640)은 출발 위치, 목적지, 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 맵에 적어도 부분적으로 기초하여 타겟 차량의 타겟 경로를 결정하도록 구성될 수 있다. 일부 실시예들에서, 경로 결정 모듈(640)은 경로 계획 알고리즘을 사용하여 타겟 경로를 결정할 수 있다. 경로 계획 알고리즘은 A-star 알고리즘, 수정된 A-star 알고리즘, Dijkstra 알고리즘, Floyd-Warshall 알고리즘, Bellman-Ford 알고리즘, RRT(Rapid-Exploring Random Tree) 알고리즘 등, 또는 이들의 임의의 조합을 포함할 수 있다.
The
일부 실시예들에서, 복수의 노드 중 적어도 하나에 대해, 경로 결정 모듈(640)은 하나 이상의 차량들과 연관된 움직임 상태 정보에 기초하여 복수의 노드들 중 적어도 하나의 각각의 노드 정보의 적어도 일부를 수정함으로써 타겟 노드 정보를 결정할 수 있다. 그 다음, 경로 결정 모듈(640)은 맵 및 복수의 노드들 중 적어도 하나의 타겟 노드 정보에 기초하여 타겟 맵을 생성할 수 있다. 또한, 경로 결정 모듈(640)은 타겟 맵, 출발 위치, 및 목적지에 기초하여 타겟 차량의 타겟 경로를 결정할 수 있다.
In some embodiments, for at least one of the plurality of nodes, the
일부 실시예들에서, 경로 결정 모듈(640)은 타겟 맵에서의 출발 위치에 기초하여 복수의 노드들로부터 출발 노드를 결정할 수 있고 타겟 맵에서의 목적지에 기초하여 복수의 노드들로부터 목적지 노드를 결정할 수 있다. 본 명세서에서 사용되는 바와 같이, 출발 노드는 출발 위치(예를 들어, 타겟 차량의 위치)에 가장 가까운 이용 가능한 노드(예를 들어, 타겟 차량과는 다른 하나 이상의 차량들에 의해 점유되지 않고 장벽이 아닌 노드)일 수 있으며, 목적지 노드는 목적지에 가장 가까운 이용 가능한 노드일 수 있다. 또한, 경로 결정 모듈(640)은 출발 노드와 목적지 노드 사이의 복수의 타겟 노드들과 연관된 복수의 비용들에 기초하여 타겟 차량의 타겟 경로를 결정할 수 있다. 본 명세서에 사용된 바와 같이, 노드의 비용은 경로가 노드를 포함하는 경우 출발 노드로부터 목적지 노드까지의 경로의 비용을 나타낼 수 있다.
In some embodiments, the
프로세싱 디바이스(112)의 모듈들은 유선 연결 또는 무선 연결을 통해 서로 연결되거나 통신될 수 있다. 유선 연결은 금속 케이블, 광 케이블, 하이브리드 케이블 등, 또는 이들의 임의의 조합을 포함할 수 있다. 무선 연결은 근거리 네트워크(LAN), 광역 네트워크(WAN), 블루투스, 지그비, 근거리장 통신(NFC) 등, 또는 이들의 임의의 조합을 포함할 수 있다. 둘 이상의 모듈들은 단일 모듈로 결합될 수 있고, 상기 모듈들 중 어느 것도 둘 이상의 유닛들로 분할될 수 있다. 예를 들어, 위치 획득 모듈(610) 및 맵 획득 모듈(620)은 단일 모듈로 결합될 수 있으며, 이는 타겟 차량의 출발 위치와 목적지, 그리고 출발 위치와 목적지를 포함하는 타겟 지역의 맵를 모두 획득할 수 있다. 다른 예로서, 프로세싱 디바이스(112)는 태스크(예를 들어, 상품 배송)를 타겟 차량에 을 할당할 수 있는 태스크 할당 모듈(도시되지 않음)을 포함할 수 있다. 추가의 예로서, 프로세싱 디바이스(112)는 전술한 모듈들에 의해 생성된 데이터를 저장하는 데 사용될 수 있는 저장 모듈(도시되지 않음)을 포함할 수 있다.
The modules of the
도 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,
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
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
일부 실시예들에서, 프로세싱 디바이스(112)는 경로 계획 시스템(100)의 저장 디바이스(예를 들어, 저장 디바이스(150)), 외부 디바이스 등으로부터 맵를 획득할 수 있다. 일부 실시예들에서, 프로세싱 디바이스(112)는 타겟 지역에 대응하는 예비 맵(타겟 지역보다 큰 지역에 대응할 수 있음)의 일부를 추출함으로써 맵를 획득할 수 있다. 추가적으로 또는 대안적으로, 프로세싱 디바이스(112)는 전체 예비 맵를 획득할 수 있다.
In some embodiments,
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,
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,
일부 실시예들에서, 복수의 노드 중 적어도 하나에 대해, 프로세싱 디바이스(112)는 하나 이상의 차량들과 연관된 움직임 상태 정보에 기초하여 복수의 노드들 중 적어도 하나의 각각의 노드 정보의 적어도 일부를 수정함으로써 타겟 노드 정보를 결정할 수 있다. 노드 정보를 수정하는 것과 관련한 더 많은 설명들은 본 개시의 다른 곳에서 찾을 수 있다(예를 들어, 도 8 및 그에 대한 설명). 그 다음, 프로세싱 디바이스(112)는 맵 및 복수의 노드들 중 적어도 하나의 타겟 노드 정보에 기초하여 타겟 맵을 생성할 수 있다. 또한, 프로세싱 디바이스(112)는 타겟 맵, 출발 위치, 및 목적지에 기초하여 타겟 차량의 타겟 경로를 결정할 수 있다.
In some embodiments, for at least one of the plurality of nodes, the
일부 실시예들에서, 프로세싱 디바이스(112)는 타겟 맵에서의 출발 위치에 기초하여 복수의 노드들로부터 출발 노드를 결정할 수 있고 타겟 맵에서의 목적지에 기초하여 복수의 노드들로부터 목적지 노드를 결정할 수 있다. 본 명세서에서 사용되는 바와 같이, 출발 노드는 출발 위치(예를 들어, 타겟 차량의 위치)에 가장 가까운 이용 가능한 노드(예를 들어, 타겟 차량과는 다른 하나 이상의 차량들에 의해 점유되지 않고 장벽이 아닌 노드)일 수 있으며, 목적지 노드는 목적지에 가장 가까운 이용 가능한 노드일 수 있다. 또한, 프로세싱 디바이스(112)는 출발 노드와 목적지 노드 사이의 복수의 타겟 노드들과 연관된 복수의 비용들에 기초하여 타겟 차량의 타겟 경로를 결정할 수 있다. 본 명세서에 사용된 바와 같이, 노드의 비용은 경로가 노드를 포함하는 경우 출발 노드로부터 목적지 노드까지의 경로의 비용을 나타낼 수 있다.
In some embodiments,
단지 예로서, 도 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
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
일부 실시예들에서, 프로세싱 디바이스(112)는 노드의 비용을 결정하는 데 있어 출발 노드로부터 해당 노드까지의 제1 비용 및 해당 노드로부터 목적지 노드까지의 제2 비용에 기초하여 해당 노드의 비용을 결정할 수 있다. 예를 들어, 프로세싱 디바이스(112)는 아래의 수식 (6)에 따라 노드의 비용을 결정할 수 있다:
In some embodiments, the
(6) (6)
여기서 은 해당 노드의 일련 번호를 나타내고, 은 해당 노드의 비용를 나타내고, 은 출발 노드로부터 해당 노드까지의 제1 비용을 나타내고, 은 해당 노드로부터 목적지 노드까지의 제2 비용을 나타낸다.here represents the serial number of the node, represents the cost of the node, represents the first cost from the starting node to the corresponding node, denotes the second cost from the corresponding node to the destination node.
일부 실시예들에서, 프로세싱 디바이스(112)는 아래의 수식 (7)에 따라 제1 비용을 결정할 수 있다:
In some embodiments, the
(7) (7)
여기서 은 노드의 가중치 값을 나타내고, 는 해당 노드의 부모 노드의 비용을 나타내고, 은 해당 노드의 부모 노드로부터 해당 노드까지의 비용을 나타내고, 은 해당 노드의 부모 노드로부터 해당 노드로의 턴 비용을 나타낸다.here represents the weight value of the node, represents the cost of that node's parent node, represents the cost from the parent node of the node to the node, represents the turn cost from the parent node of the node to the node.
일부 실시예들에서, 프로세싱 디바이스(112)는 아래의 수식 (8)에 따라 해당 노드의 부모 노드로부터 해당 노드까지의 비용을 결정할 수 있다:
In some embodiments, the
(8) (8)
여기서 및 는 해당 노드의 부모 노드의 X 좌표 및 Y 좌표를 각각 나타내고, 및 은 해당 노드의 X 좌표 및 Y 좌표를 각각 나타낸다.here and represents the X and Y coordinates of the parent node of that node, respectively, and represents the X coordinate and Y coordinate of the corresponding node, respectively.
일부 실시예들에서, 프로세싱 디바이스(112)는 아래의 수식 (9)에 따라 해당 노드의 부모 노드로부터 해당 노드로의 턴 비용을 결정할 수 있다:
In some embodiments, the
(9) (9)
여기서 는 해당 노드의 부모 노드의 타겟 각도를 나타내고, 은 해당 노드의 타겟 각도를 나타내고, 는 턴 비용의 가중 인자를 나타낸다.here represents the target angle of the parent node of the corresponding node, represents the target angle of the node, denotes the weighting factor of the turn cost.
일부 실시예들에서, 프로세싱 디바이스(112)는 아래의 수식 (10)에 따라 해당 노드로부터 목적지 노드까지의 제2 비용을 결정할 수 있다:
In some embodiments, the
(10) (10)
여기서 및 는 목적지 노드의 X 좌표 및 Y 좌표를 각각 나타낸다. 해당 노드로부터 목적지 노드까지의 제2 비용은 맨해튼 거리에 기초하여 결정될 수 있음을 알 수 있다. 맨해튼 거리는 설명의 목적으로 제공되었으며, 제2 비용은 또한 다른 거리들, 예를 들어, 유클리드 거리 들에 기초하여 결정될 수 있다.here and 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
도 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,
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
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,
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
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
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
일부 실시예들에서, 프로세싱 디바이스(112)는 출발 위치에 가장 가까운 노드 또는 목적지에 가장 가까운 노드가 장벽인지 또는 타겟 차량과는 다른 차량들에 의해 점유되고 있는지 여부를 결정할 수 있다. 출발 위치에 가장 가까운 노드와 목적지에 가장 가까운 노드가 모두 장벽이 아니며 다른 차량들에 의해 점유되지 않는다는 결정에 응답하여, 프로세싱 디바이스(112)는 출발 위치에 가장 가까운 노드 및 목적지에 가장 가까운 노드를 후보 출발 노드 및 후보 목적지 노드로 각각 지정할 수 있다. 출발 위치에 가장 가까운 노드가 장벽이거나 타겟 차량과는 다른 차량에 의해 점유되고 있다는 결정에 응답하여, 프로세싱 디바이스(112)는 출발 위치에 대해 다음으로 가장 가까운 노드를 결정할 수 있고, 이용 가능한 노드가 식별될 때까지 다음으로 가장 가까운 노드가 장벽이거나 타겟 차량과는 다른 차량에 의해 점유되지는 여부를 결정할 수 있으며, 또는 프로세싱 디바이스(112)는 가장 가까운 노드가 해제될 때까지 대기할 수 있다. 목적지에 가장 가까운 노드가 장벽이거나 타겟 차량과는 다른 차량에 의해 점유되고 있다는 결정에 응답하여, 프로세싱 디바이스(112)는 경로 계획이 실패했다고 결정할 수 있거나, 또는 프로세싱 디바이스(112)는 가장 가까운 노드가 해제될 때까지 대기할 수 있다. 추가적으로 또는 대안적으로, 프로세싱 디바이스(112)는 목적지로부터 미리 결정된 거리(예를 들어, 20m, 50m, 70m, 100m) 내의 이용 가능한 노드를 후보 목적지 노드로 결정할 수 있다.
In some embodiments, the
일부 실시예들에서, 동작 740과 관련하여 설명된 바와 같이, 프로세싱 디바이스(112)는 후보 출발 노드와 후보 목적지 노드 사이의 복수의 타겟 노드들과 연관된 복수의 비용들에 기초하여 후보 경로를 결정할 수 있다.
In some embodiments, as described with respect to
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,
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
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
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
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
일부 실시예들에서, 프로세싱 디바이스(112)는 제2 후보 경로를 타겟 경로로 직접 지정할 수 있다. 일부 실시예들에서, 프로세싱 디바이스(112)는 또한 제2 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 적어도 일부와 적어도 부분적으로 중첩되는지 여부를 결정할 수 있다. 제2 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 일부와 중첩되지 않는다는 결정에 응답하여, 프로세싱 디바이스(112)는 제2 후보 경로를 타겟 경로로 지정할 수 있다. 제2 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 적어도 일부와 적어도 부분적으로 중첩된다는 결정에 응답하여, 프로세싱 디바이스(112)는 또한 제2 후보 맵에서 노드 정보의 적어도 일부를 수정함으로써 제2 후보 맵을 업데이트할 수 있으며, 또한 업데이트된 맵에 기초하여 경로 계획을 수행할 수 있다.In some embodiments, the
상기 설명은 단지 예시의 목적들을 위해 제공되며, 본 개시의 범위를 제한하도록 의도되지 않는다는 것이 주의되어야 한다. 당 기술분야에서의 통상의 기술자들의 경우, 다수의 변형들 및 수정들이 본 개시의 교시들 하에서 이루어질 수 있다. 그러나, 이들 변화들 및 수정들은 본 개시의 범위로부터 벗어나지 않는다. 예를 들어, 동작들 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
도 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
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
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
상기 설명은 단지 예시의 목적들을 위해 제공되며, 본 개시의 범위를 제한하도록 의도되지 않는다는 것이 주의되어야 한다. 당 기술분야에서의 통상의 기술자들의 경우, 다수의 변형들 및 수정들이 본 개시의 교시들 하에서 이루어질 수 있다. 그러나, 이들 변화들 및 수정들은 본 개시의 범위로부터 벗어나지 않는다. 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
도 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
일부 실시예들에서, 본 개시는 또한 컴퓨터 프로그램을 저장하는 저장 매체를 제공할 수 있다. 프로세서에 의해 실행될 때, 컴퓨터 프로그램은 본 개시의 다른 곳에서 설명된 프로세스(예를 들어, 프로세스 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,
일부 실시예들에서, 본 개시는 또한 프로세서 및 저장소를 포함하는 전자 디바이스를 제공할 수 있으며, 상기 저장소는 컴퓨터 프로그램을 저장한다. 프로세서에 의해 실행될 때, 컴퓨터 프로그램은 본 개시의 다른 곳에서 설명된 프로세스(예를 들어, 프로세스 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,
기본 개념들을 그에 따라 설명하였지만, 이러한 상세한 개시를 판독한 후, 앞서 말한 상세한 개시는 단지 예로서 제공되도록 의도되며 제한적이지 않다는 것이 이 기술분야의 숙련자들에게 꽤 명백할 수 있다. 여기에서 명확하게 서술되지 않을지라도, 다양한 변화들, 개선들, 및 수정들이 발생할 수 있으며 이 기술분야의 숙련자들에게 의도된다. 이들 변경들, 개선들, 및 수정들은 본 개시에 의해 제안되도록 의도되며, 본 개시의 전형적인 실시예들의 사상 및 범위 내에 있다. 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들과 연관된 움직임 상태 정보 및 상기 토폴로지 맵에서 상기 복수의 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 전처리를 수행하는 단계로서:
상기 토폴로지 맵에서 현재 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.
상기 제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.
상기 토폴로지 맵에서 상기 현재 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.
상기 토폴로지 맵에서 상기 현재 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.
상기 출발 노드 또는 상기 목적지 노드가 상기 수정된 토폴로지 맵의 노드 정보에 기초하여 장벽(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 현재 노드로 지정하는 단계;
각각의 사이클마다, 업데이트된 현재 노드를 결정하고 상기 업데이트된 현재 노드가 목적지 노드가 아닌 것으로 결정할 경우:
상기 경로의 노드들과는 다른 하나 이상의 노드들에 대응하는 하나 이상의 총 비용들을 결정하는 것;
최소 총 비용을 갖는 노드를 상기 경로 상의 노드로 그리고 상기 업데이트된 현재 노드의 다음 노드로 결정하는 것; 및
상기 다음 노드를 다음 사이클에서 업데이트된 현재 노드로 결정하는 것에 의해, 상기 업데이트된 현재 노드의 다음 노드를 결정하는 단계를 포함하는, 토폴로지 맵에 기초한 자동 안내 차량에 대한 경로 계획 방법.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.
상기 하나 이상의 노드들 각각에 대해, 상기 현재 노드로부터 해당 노드까지의 비용 및 해당 노드로부터 목적지 노드까지의 비용의 합을 결정함으로써 해당 노드에 대응하는 총 비용을 결정하는 것을 포함하는, 토폴로지 맵에 기초한 자동 안내 차량에 대한 경로 계획 방법.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.
이진 힙 구조(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.
상기 스케줄링 시스템에 의해 할당된 태스크(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.
상기 현재 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.
적어도 하나의 프로세서; 및
프로그램 코드들을 포함하는 적어도 하나의 저장소를 포함하며,
상기 프로그램 코드들이 적어도 하나의 프로세서에 의해 실행될 때 상기 프로그램 코드들은 제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.
명령들의 세트를 포함하는 적어도 하나의 저장 디바이스; 및
상기 적어도 하나의 저장 디바이스와 통신하는 적어도 하나의 프로세서를 포함하며,
상기 적어도 하나의 프로세서는 상기 명령들의 세트를 실행할 때, 상기 시스템으로 하여금:
타겟 차량의 출발 위치 및 목적지를 획득하고;
상기 출발 위치 및 상기 목적지를 포함하는 타겟 지역의 맵을 획득하고 - 상기 맵은 복수의 노드들 각각의 노드 정보를 포함함 -;
상기 타겟 지역에서 상기 타겟 차량과는 다른 하나 이상의 차량들과 연관된 움직임 상태 정보를 획득하고;
상기 출발 위치, 상기 목적지, 상기 하나 이상의 차량들과 연관된 움직임 상태 정보, 및 상기 맵에 적어도 부분적으로 기초하여 상기 타겟 차량의 타겟 경로를 결정하게 하도록 구성되는, 경로 계획을 위한 시스템.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.
상기 복수의 노드들 중 적어도 하나에 대해, 상기 하나 이상의 차량들과 연관된 움직임 상태 정보에 기초하여, 상기 복수의 노드들 중 적어도 하나의 각각의 노드 정보의 적어도 일부를 수정함으로써 타겟 노드 정보를 결정하고;
상기 맵 및 상기 복수의 노드들 중 적어도 하나의 타겟 노드 정보에 기초하여 타겟 맵을 생성하고;
상기 타겟 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 타겟 경로를 결정하게 하도록 구성되는, 경로 계획을 위한 시스템.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.
상기 타겟 맵에서의 출발 위치에 기초하여 상기 복수의 노드들로부터 출발 노드를 결정하고;
상기 타겟 맵에서의 목적지에 기초하여 상기 복수의 노드들로부터 목적지 노드를 결정하고;
상기 출발 노드와 상기 목적지 노드 사이의 복수의 타겟 노드들과 연관된 복수의 비용들에 기초하여 상기 타겟 차량의 타겟 경로를 결정하게 하도록 구성되고, 상기 노드의 비용은 상기 출발 노드로부터 상기 노드까지의 제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.
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 정지된 차량들을 식별하고;
상기 하나 이상의 정지된 차량들 각각에 대해, 상기 정지된 차량과 연관된 하나 이상의 노드들을 포함하는 미리 설정된 지역을 결정하고;
상기 정지된 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하고;
상기 맵 및 상기 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 후보 맵을 결정하고;
상기 후보 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 후보 경로를 결정하게 하도록 구성되는, 경로 계획을 위한 시스템.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.
미리 결정된 임계값보다 큰 가중치 값을 상기 노드에 할당하고;
상기 노드를 턴을 할 수 없는 노드로 지정하도록 지시되는, 경로 계획을 위한 시스템.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.
상기 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 적어도 일부와 적어도 부분적으로 중첩하는지 여부를 결정하고 - 상기 적어도 하나의 미리 결정된 경로는 상기 하나 이상의 차량들 중 적어도 하나의 이동하는 차량에 대응함 -;
상기 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로와 중첩되지 않는다는 결정에 응답하여, 상기 후보 경로를 상기 타겟 차량의 타겟 경로로 지정하게 하도록 구성되는, 경로 계획을 위한 시스템.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.
상기 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 적어도 일부와 적어도 부분적으로 중첩된다는 결정에 응답하여, 상기 정지된 차량과 연관된 하나 이상의 노드들 각각에 대해 상기 노드의 노드 정보를 수정하고;
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 이동하는 차량들을 식별하고;
상기 하나 이상의 이동하는 차량들 각각에 대해, 상기 이동하는 차량에 대응하는 미리 결정된 경로와 연관된 하나 이상의 노드들을 결정하고;
상기 이동하는 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하고;
상기 맵, 상기 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보, 및 상기 하나 이상의 이동하는 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 제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.
상기 정지된 차량과 연관된 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하기 위해 상기 적어도 하나의 프로세서는 상기 시스템으로 하여금:
상기 노드를 장벽으로 지정하게 하도록 구성되고;
상기 이동하는 차량과 연관된 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하기 위해 상기 적어도 하나의 프로세서는 상기 시스템으로 하여금:
미리 결정된 임계값보다 큰 가중치 값을 상기 노드에 할당하게 하도록 구성되는, 경로 계획을 위한 시스템.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.
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 정지된 차량들을 식별하고;
상기 하나 이상의 정지된 차량들 각각에 대해, 상기 정지된 차량과 연관된 하나 이상의 노드들을 포함하는 미리 설정된 지역을 결정하고;
상기 정지된 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드를 장벽으로 지정함으로써 상기 노드의 노드 정보를 수정하고;
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 이동하는 차량들을 식별하고;
상기 하나 이상의 이동하는 차량들 각각에 대해, 상기 이동하는 차량에 대응하는 미리 결정된 경로와 연관된 하나 이상의 노드들을 결정하고;
상기 이동하는 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 미리 결정된 임계값보다 큰 가중치 값을 상기 노드에 할당함으로써 상기 노드의 노드 정보를 수정하고;
상기 맵, 상기 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보, 및 상기 하나 이상의 이동하는 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 타겟 맵을 결정하고;
상기 타겟 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 타겟 경로를 결정하게 하도록 구성되는, 경로 계획을 위한 시스템.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.
상기 복수의 노드들 중 적어도 하나에 대해, 상기 하나 이상의 차량들과 연관된 움직임 상태 정보에 기초하여 상기 복수의 노드들 중 적어도 하나의 각각의 노드 정보의 적어도 일부를 수정함으로써 타겟 노드 정보를 결정하는 단계;
상기 맵 및 상기 복수의 노드들 중 적어도 하나의 타겟 노드 정보에 기초하여 타겟 맵을 생성하는 단계; 및
상기 타겟 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 타겟 경로를 결정하는 단계를 포함하는, 컴퓨팅 디바이스에서 구현되는 방법.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.
상기 타겟 맵에서의 출발 위치에 기초하여 상기 복수의 노드들로부터 출발 노드를 결정하는 단계;
상기 타겟 맵에서의 목적지에 기초하여 상기 복수의 노드들로부터 목적지 노드를 결정하는 단계; 및
상기 출발 노드와 상기 목적지 노드 사이의 복수의 타겟 노드들과 연관된 복수의 비용들에 기초하여 상기 타겟 차량의 타겟 경로를 결정하는 단계로서, 상기 노드의 비용은 상기 출발 노드로부터 상기 노드까지의 제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.
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 정지된 차량들을 식별하는 단계;
상기 하나 이상의 정지된 차량들 각각에 대해, 상기 정지된 차량과 연관된 하나 이상의 노드들을 포함하는 미리 설정된 지역을 결정하는 단계;
상기 정지된 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하는 단계;
상기 맵 및 상기 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 후보 맵을 결정하는 단계; 및
상기 후보 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 후보 경로를 결정하는 단계를 포함하는, 컴퓨팅 디바이스에서 구현되는 방법.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.
미리 결정된 임계값보다 큰 가중치 값을 상기 노드에 할당하는 단계; 및
상기 노드를 턴을 할 수 없는 노드로 지정하는 단계를 포함하는, 컴퓨팅 디바이스에서 구현되는 방법.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.
상기 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 적어도 일부와 적어도 부분적으로 중첩하는지 여부를 결정하는 단계로서, 상기 적어도 하나의 미리 결정된 경로는 상기 하나 이상의 차량들 중 적어도 하나의 이동하는 차량에 대응하는, 상기 중첩하는지 여부를 결정하는 단계; 및
상기 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로와 중첩되지 않는다는 결정에 응답하여, 상기 후보 경로를 상기 타겟 차량의 타겟 경로로 지정하는 단계를 더 포함하는, 컴퓨팅 디바이스에서 구현되는 방법.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.
상기 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 적어도 일부와 적어도 부분적으로 중첩된다는 결정에 응답하여, 상기 정지된 차량과 연관된 하나 이상의 노드들 각각에 대해 상기 노드의 노드 정보를 수정하는 단계;
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 이동하는 차량들을 식별하는 단계;
상기 하나 이상의 이동하는 차량들 각각에 대해, 상기 이동하는 차량에 대응하는 미리 결정된 경로와 연관된 하나 이상의 노드들을 결정하는 단계;
상기 이동하는 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하는 단계;
상기 맵, 상기 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보, 및 상기 하나 이상의 이동하는 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 제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.
상기 정지된 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하는 단계는:
상기 노드를 장벽으로 지정하는 단계를 포함하고,
상기 이동하는 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하는 단계는:
미리 결정된 임계값보다 큰 가중치 값을 상기 노드에 할당하는 단계를 포함하는, 컴퓨팅 디바이스에서 구현되는 방법.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.
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 정지된 차량들을 식별하는 단계;
상기 하나 이상의 정지된 차량들 각각에 대해, 상기 정지된 차량과 연관된 하나 이상의 노드들을 포함하는 미리 설정된 지역을 결정하는 단계;
상기 정지된 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드를 장벽으로 지정함으로써 상기 노드의 노드 정보를 수정하는 단계;
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 이동하는 차량들을 식별하는 단계;
상기 하나 이상의 이동하는 차량들 각각에 대해, 상기 이동하는 차량에 대응하는 미리 결정된 경로와 연관된 하나 이상의 노드들을 결정하는 단계;
상기 이동하는 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 미리 결정된 임계값보다 큰 가중치 값을 상기 노드에 할당함으로써 상기 노드의 노드 정보를 수정하는 단계; 상기 맵, 상기 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보, 및 상기 하나 이상의 이동하는 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 상기 타겟 맵을 결정하는 단계; 및
상기 타겟 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 타겟 경로를 결정하는 단계를 포함하는, 컴퓨팅 디바이스에서 구현되는 방법.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.
상기 복수의 노드들 중 적어도 하나에 대해, 상기 하나 이상의 차량들과 연관된 움직임 상태 정보에 기초하여 상기 복수의 노드들 중 적어도 하나의 각각의 노드 정보의 적어도 일부를 수정함으로써 타겟 노드 정보를 결정하고;
상기 맵 및 상기 복수의 노드들 중 적어도 하나의 타겟 노드 정보에 기초하여 타겟 맵을 생성하고;
상기 타겟 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 타겟 경로를 결정하도록 구성되는, 경로 계획을 위한 시스템.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.
상기 타겟 맵에서의 출발 위치에 기초하여 상기 복수의 노드들로부터 출발 노드를 결정하고;
상기 타겟 맵에서의 목적지에 기초하여 상기 복수의 노드들로부터 목적지 노드를 결정하고;
상기 출발 노드와 상기 목적지 노드 사이의 복수의 타겟 노드들과 연관된 복수의 비용들에 기초하여 상기 타겟 차량의 타겟 경로를 결정하도록 - 상기 노드의 비용은 상기 출발 노드로부터 상기 노드까지의 제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.
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 정지된 차량들을 식별하고;
상기 하나 이상의 정지된 차량들 각각에 대해, 상기 정지된 차량과 연관된 하나 이상의 노드들을 포함하는 미리 설정된 지역을 결정하고;
상기 정지된 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하고;
상기 맵 및 상기 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 후보 맵을 결정하고;
상기 후보 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 후보 경로를 결정하도록 구성되는, 경로 계획을 위한 시스템.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.
미리 결정된 임계값보다 큰 가중치 값을 상기 노드에 할당하고;
상기 노드를 턴을 할 수 없는 노드로 지정하도록 구성되는, 경로 계획을 위한 시스템.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.
상기 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 적어도 일부와 적어도 부분적으로 중첩하는지 여부를 결정하고 - 상기 적어도 하나의 미리 결정된 경로는 상기 하나 이상의 차량들 중 적어도 하나의 이동하는 차량에 대응함 -;
상기 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로와 중첩되지 않는다는 결정에 응답하여, 상기 후보 경로를 상기 타겟 차량의 타겟 경로로 지정하도록 구성되는, 경로 계획을 위한 시스템.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.
상기 후보 경로가 통과되지 않은 적어도 하나의 미리 결정된 경로의 적어도 일부와 적어도 부분적으로 중첩된다는 결정에 응답하여, 상기 정지된 차량과 연관된 하나 이상의 노드들 각각에 대해 상기 노드의 노드 정보를 수정하고;
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 이동하는 차량들을 식별하고;
상기 하나 이상의 이동하는 차량들 각각에 대해, 상기 이동하는 차량에 대응하는 미리 결정된 경로와 연관된 하나 이상의 노드들을 결정하고;
상기 이동하는 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하고;
상기 맵, 상기 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보, 및 상기 하나 이상의 이동하는 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 제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.
상기 정지된 차량과 연관된 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하기 위해 상기 경로 결정 모듈은 또한:
상기 노드를 장벽으로 지정하도록 구성되고;
상기 이동하는 차량과 연관된 하나 이상의 노드들 각각에 대해, 상기 노드의 노드 정보를 수정하기 위해 상기 적어도 하나의 프로세서는 상기 시스템으로 하여금:
미리 결정된 임계값보다 큰 가중치 값을 상기 노드에 할당하게 하도록 구성되는, 경로 계획을 위한 시스템.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.
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 정지된 차량들을 식별하고;
상기 하나 이상의 정지된 차량들 각각에 대해, 상기 정지된 차량과 연관된 하나 이상의 노드들을 포함하는 미리 설정된 지역을 결정하고;
상기 정지된 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 상기 노드를 장벽으로 지정함으로써 상기 노드의 노드 정보를 수정하고;
상기 움직임 상태 정보에 기초하여 상기 하나 이상의 차량들로부터 하나 이상의 이동하는 차량들을 식별하고;
상기 하나 이상의 이동하는 차량들 각각에 대해, 상기 이동하는 차량에 대응하는 미리 결정된 경로와 연관된 하나 이상의 노드들을 결정하고;
상기 이동하는 차량과 연관된 상기 하나 이상의 노드들 각각에 대해, 미리 결정된 임계값보다 큰 가중치 값을 상기 노드에 할당함으로써 상기 노드의 노드 정보를 수정하고; 상기 맵, 상기 하나 이상의 정지된 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보, 및 상기 하나 이상의 이동하는 차량들 각각과 연관된 하나 이상의 노드들의 수정된 노드 정보에 기초하여 타겟 맵을 결정하고;
상기 타겟 맵, 상기 출발 위치, 및 상기 목적지에 기초하여 상기 타겟 차량의 타겟 경로를 결정하도록 구성되는, 경로 계획을 위한 시스템.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.
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)
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)
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)
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 |
-
2019
- 2019-01-14 CN CN201910032301.5A patent/CN109724612B/en active Active
-
2020
- 2020-01-08 KR KR1020217024785A patent/KR102643759B1/en active IP Right Grant
- 2020-01-08 JP JP2021541089A patent/JP7350075B2/en active Active
- 2020-01-08 EP EP20741311.3A patent/EP3894790A4/en active Pending
- 2020-01-08 WO PCT/CN2020/070820 patent/WO2020147621A1/en unknown
-
2021
- 2021-07-14 US US17/305,722 patent/US20210341309A1/en active Pending
Patent Citations (3)
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 |