WO2024049023A1 - 무인 이동체 제어 장치, 무인 이동체들간의 충돌 회피 경로 생성 방법 및 프로그램 - Google Patents

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

Info

Publication number
WO2024049023A1
WO2024049023A1 PCT/KR2023/011020 KR2023011020W WO2024049023A1 WO 2024049023 A1 WO2024049023 A1 WO 2024049023A1 KR 2023011020 W KR2023011020 W KR 2023011020W WO 2024049023 A1 WO2024049023 A1 WO 2024049023A1
Authority
WO
WIPO (PCT)
Prior art keywords
destination
unmanned
unmanned mobile
avoidance
expected
Prior art date
Application number
PCT/KR2023/011020
Other languages
English (en)
French (fr)
Inventor
김동휘
유혜준
Original Assignee
주식회사 클로봇
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 클로봇 filed Critical 주식회사 클로봇
Publication of WO2024049023A1 publication Critical patent/WO2024049023A1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs

Definitions

  • This disclosure relates to unmanned vehicles. More specifically, the present disclosure relates to an unmanned mobile vehicle control device, a method and program for creating a collision avoidance path between unmanned mobile vehicles.
  • unmanned vehicles provide customized services in various spaces such as hospitals, airports, and malls.
  • the purpose of the embodiment disclosed in the present disclosure is to provide a vehicle that can travel at a high travel speed to a destination without collision.
  • the embodiment disclosed in the present disclosure aims to provide an increase in the calculation speed of an algorithm for generating a collision avoidance path.
  • An unmanned mobile vehicle control device for achieving the above-described technical problem includes a communication unit that receives location information and movement path information for each destination of unmanned mobile vehicles; and a processor that controls an operation of creating a collision avoidance path between the unmanned mobile objects, wherein the processor predicts the occurrence of a collision based on the respective location information and the movement path information for each destination received through the communication unit.
  • the expected number of collisions between unmanned mobile devices is determined, and when the determination of the expected number of collisions is completed, each of the unmanned mobile devices where collisions are expected to occur is determined based on the location information and the movement path information for each destination.
  • the method of generating a collision avoidance path between unmanned mobile objects performed by the unmanned mobile object control device includes receiving location information and movement path information for each destination of the unmanned mobile objects. step; determining the expected number of collisions of unmanned mobile objects expected to cause collisions, based on the received location information and movement path information for each destination; When the determination of the expected number of collisions is completed, determining the total arrival time to each destination of the unmanned mobile objects where collisions are expected to occur based on each location information and movement path information for each destination; When the determination of the total arrival time is completed, determining whether at least one of the expected number of collisions and the total arrival time satisfies a preset level; If at least one of the expected number of collisions and the total arrival time does not satisfy the preset level, at least one of the expected number of collisions and the total arrival time is reduced, among a plurality of preset avoidance route information for each destination. Selecting avoidance route information for each destination; And when
  • a computing device for providing a method for generating a collision avoidance path between unmanned moving objects includes a processor including one or more cores; and a memory that stores instructions executable by the processor, and when the instructions are executed by the processor, the processor receives location information and movement path information for each destination of the unmanned mobile objects, and , Based on the received location information and the movement path information for each destination, the expected number of collisions of unmanned mobile objects expected to occur is determined, and when the determination of the expected number of collisions is completed, the respective locations Based on the information and the movement path information for each destination, the total arrival time to each destination of the unmanned mobile objects where the collision is expected to occur is determined, and when the determination of the total arrival time is completed, the expected number of collision occurrences and the total arrival time are determined.
  • avoidance route information for each destination is selected from among a plurality of preset avoidance route information for each destination, and when the selection of the avoidance route information for each destination is completed, the collision corresponds to the avoidance route information for each destination. It is possible to create an avoidance route for unmanned vehicles that are expected to occur.
  • a computer program stored in a computer-readable recording medium for implementing the present disclosure may be further provided.
  • a computer-readable recording medium recording a computer program for implementing the present disclosure may be further provided.
  • the calculation speed of the algorithm for generating a collision avoidance path can be increased.
  • FIG. 1 is a diagram showing the configuration of an unmanned mobile device control device according to the present disclosure.
  • FIG. 2 is a diagram illustrating map information on a space stored in the memory of FIG. 1 as an example.
  • 3 to 5 are flowcharts showing a method of generating a collision avoidance path between artificial intelligence-based unmanned mobile objects according to the present disclosure.
  • FIG. 6 is a diagram illustrating an example of a process for determining whether a collision has occurred between unmanned moving objects using the processor of FIG. 1.
  • FIG. 7 is a diagram showing an example of a process in which the processor of FIG. 1 outputs avoidance route data for each destination that has been learned and recommended based on an artificial intelligence model.
  • FIGS. 8 to 11B are diagrams showing an example of a process for reinforcing learning of the artificial intelligence model of FIG. 7.
  • FIG. 12 is a diagram illustrating an example of the process of determining and creating avoidance paths for each unmanned mobile object selected as a priority group through the processor of FIG. 1.
  • FIGS. 13A and 13B are diagrams illustrating an example of a process of determining an unmanned vehicle that can yield through the processor of FIG. 1 and generating avoidance paths for other unmanned vehicles.
  • FIGS. 14 to 16 are diagrams illustrating an example of a process of determining the moving speed of the unmanned mobile objects and generating each avoidance path through the processor of FIG. 1.
  • FIGS. 17 to 19 are diagrams illustrating an example of a process of searching for and generating optimized avoidance paths for each of the unmanned vehicles through the processor of FIG. 1 .
  • unit, module, member, block used in the specification may be implemented as software or hardware, and depending on the embodiment, a plurality of ‘units, modules, members, and blocks’ may be implemented as a single component. , it is also possible for one 'part, module, member, or block' to include multiple components.
  • first and second are used to distinguish one component from another component, and the components are not limited by the above-mentioned terms.
  • the identification code for each step is used for convenience of explanation.
  • the identification code does not explain the order of each step, and each step may be performed differently from the specified order unless a specific order is clearly stated in the context. there is.
  • the unmanned mobile vehicle control device includes various devices that can perform calculation processing and provide results to the user.
  • the unmanned mobile vehicle control device may include both a computer and a server, or may be in any one form.
  • the computer may include, for example, a laptop equipped with a web browser, a desktop, a laptop, a tablet PC, a slate PC, a single board computer, etc.
  • a server device is a server that processes information by communicating with external devices and may include an application server, computing server, database server, file server, mail server, proxy server, and web server.
  • Portable terminals are, for example, wireless communication devices that ensure portability and mobility, such as PCS (Personal Communication System), GSM (Global System for Mobile communications), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), and PDA ( Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), WiBro (Wireless Broadband Internet) terminal, smart phone All types of handheld wireless communication devices, such as watches, rings, bracelets, anklets, necklaces, glasses, contact lenses, or head-mounted-device (HMD), etc. It can be included.
  • PCS Personal Communication System
  • GSM Global System for Mobile communications
  • PDC Personal Digital Cellular
  • PHS Personal Handyphone System
  • PDA Personal Digital Assistant
  • IMT International Mobile Telecommunication
  • CDMA Code Division Multiple Access
  • W-CDMA Wideband Code Division Multiple Access
  • WiBro Wireless Broadband Internet
  • the unmanned mobile vehicle control device provides the number of expected collision occurrences and In order to reduce at least one of the total arrival times, select the avoidance route information for each destination that has been learned and recommended through an artificial intelligence model among the avoidance route information for each preset plurality of destinations, and when the selection of the avoidance route information for each destination is completed, , it can be provided to generate avoidance paths for unmanned mobile objects that are expected to cause collisions in accordance with the avoidance path information for each destination.
  • This unmanned vehicle control device can increase the calculation speed of the algorithm for generating a collision avoidance path while traveling at a high speed to the destination without collision.
  • FIG. 1 is a diagram showing the configuration of an unmanned mobile vehicle control device and a plurality of unmanned mobile vehicles according to the present disclosure.
  • FIG. 2 is a diagram illustrating map information on a space stored in the memory of FIG. 1 as an example.
  • the unmanned mobile vehicle control device 1000 may include a first communication unit 1010 and a first control unit 1020.
  • the first communication unit 1010 may be electrically connected to the first control unit 1020 and may communicate with the unmanned mobile devices 100.
  • the first communication unit 1010 can receive location information and movement path information for each destination of the unmanned mobile objects 100.
  • the first communication unit 1010 includes, in addition to the Wi-Fi module and the WiBro (Wireless broadband) module, GSM (global system for mobile communication), CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), and UMTS. It may include a wireless communication module that supports various wireless communication methods such as (universal mobile telecommunications system), Time Division Multiple Access (TDMA), Long Term Evolution (LTE), 4G, 5G, and 6G.
  • TDMA Time Division Multiple Access
  • LTE Long Term Evolution
  • the first control unit 1020 includes a memory 1021 that stores data for an algorithm for controlling the operation of components in the device or a program that reproduces the algorithm, and performs the above-described operations using the data stored in the memory 1021. It may be implemented with at least one processor 1022 that performs. Here, the memory 1021 and the processor 1022 may each be implemented as separate chips. Additionally, the memory 1021 and the processor 1022 may be implemented as a single chip.
  • the memory 1021 can store data supporting various functions of the device and a program for the operation of the control unit, can store input/output data, and can store a plurality of application programs (application programs or applications) running on the device. (application)), data and commands for operation of the device can be stored. At least some of these applications may be downloaded from an external server via wireless communication.
  • the memory 1021 is a flash memory type, a hard disk type, a solid state disk type, an SDD type (Silicon Disk Drive type), and a multimedia card micro type. micro type), card type memory (e.g. SD or XD memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), EEPROM (electrically erasable) It may include at least one type of storage medium among programmable read-only memory (PROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, and optical disk. Additionally, the memory 1021 is separate from the device, but may be a database connected wired or wirelessly.
  • the memory 1021 can store each location information in space obtained through the camera 140 and sensor unit 150 of the unmanned mobile objects 100 through the second communication unit 110 and the first communication unit 1010. there is.
  • the memory 1021 may store movement path information for each destination of the preset unmanned mobile objects 100.
  • the unmanned mobile devices 100 may transmit preset movement route information for each destination to the memory 1021 through the second communication unit 110 and the first communication unit 1010 in response to the destination's request.
  • the movement path information for each destination may be movement path information for the unmanned mobile objects 100 to arrive at a specific destination in a space such as a hospital, airport, mall, etc.
  • the memory 1021 may store map information (A).
  • the map information (A) may be a grid map.
  • the map information (A) may include a topology map (a map composed of nodes and edges).
  • the grid map can be created in a form for 2D or 3D autonomous driving through sensing of unmanned vehicles 100 or by using various SLAM (Simutaneous Localization And Mapping) techniques in advance.
  • SLAM Simulaneous Localization And Mapping
  • a grid map can be created as a 2D map in the form of image files such as png or pgm, or as a 3D map through point cloud data containing 3-axis spatial information.
  • the unmanned mobile devices 100 may be located in specific areas within the map information (A).
  • the first unmanned mobile device 100a may be located at the first point P1 of the first area P in the map information A, and the second unmanned mobile device 100b ) may be located at the second point (P2), and the third unmanned mobile device 100c may be located at the third point (P3).
  • the processor 1022 may control the operation of creating a collision avoidance path between the unmanned mobile devices 100.
  • Unmanned vehicles (100: 100a, 100b, 100c, ...) may be vehicles that recognize the external environment, judge the situation, and perform missions on their own without human assistance.
  • the unmanned mobile objects 100: 100a, 100b, 100c, ... may be mobile robots.
  • the unmanned mobile devices 100: 100a, 100b, 100c, ... may include a second communication unit 110, a second control unit 120, a driving unit 130, a camera 140, and a sensor unit 150.
  • the second communication unit 110 may communicate with the first communication unit 1010 of the unmanned mobile vehicle control device 1000.
  • the second communication unit 110 can transmit location information and movement route information for each destination of the unmanned mobile objects (100: 100a, 100b, 100c, ...) to the first control unit 1020 through the first communication unit 1010. there is.
  • Unmanned mobile objects (100: 100a, 100b, 100c, ...) can obtain each location information in space through the camera 140 and the sensor unit 150, and map information preset in the second control unit 120.
  • (A) You can move to each destination based on the destination movement route information among the movement route information for each destination.
  • the second control unit 120 may include a memory in which map information (A) is stored, and a processor that determines the corresponding destination movement route information and controls the driving unit 130 to move to each destination.
  • the driving unit 130 drives the unmanned mobile objects 100 to travel to the corresponding destination while traveling on a collision avoidance path between the unmanned mobile objects 100 based on the corresponding destination movement path information output through the processor 122. can do.
  • the driving unit 130 includes a battery, an electronic component supplied with power from the battery, a wheel or a drive supplied with power from the battery to provide the power necessary for driving the unmanned mobile devices 100. It may include mechanical driving parts such as belts.
  • the camera 140 may be provided as a video camera using an image sensor.
  • the camera 140 can process image frames such as still images or videos acquired through an image sensor. Meanwhile, when there are a plurality of cameras 140, they may be arranged to form a matrix structure. A plurality of image information having various angles or focuses can be input through the video cameras forming this matrix structure. Additionally, video cameras may be arranged in a stereo structure to acquire left and right images to implement a three-dimensional stereoscopic image.
  • the camera 140 may be provided as an AI camera.
  • the AI camera can finely adjust images recognized through a wide-angle sensor that mimics the human retina using a brain neural network algorithm. AI cameras can adjust shutter speed, light exposure, saturation, color depth, dynamic range, contrast, etc. Additionally, AI cameras can output captured images as high-quality images.
  • the sensor unit 150 may include at least one of an ultrasonic sensor, a radar sensor, and a lidar sensor. The sensor unit 150 can acquire LiDAR data through a LiDAR sensor.
  • the processor 1022 can receive location information and movement path information for each destination of the unmanned mobile objects 100 (100a, 100b, 100c, ...) through the first communication unit 1010.
  • the processor 1022 determines the unmanned mobile objects (100: 100a, 100b, 100c, etc.) that are expected to cause a collision, based on the location information and movement path information for each destination. , ...), the expected number of collisions can be determined.
  • the processor 1022 completes the determination of the expected number of collisions of the unmanned mobile objects (100: 100a, 100b, 100c, ...) expected to occur, the unmanned mobile objects (100: 100a, 100b, Based on the location information and movement path information for each destination, the total arrival time to each destination of the unmanned vehicles (100: 100a, 100b, 100c, ...) where collisions are expected to occur can be determined. You can.
  • the processor 1022 completes the determination of the total arrival time of the unmanned mobile objects (100: 100a, 100b, 100c, ...) expected to cause a collision, the unmanned mobile objects (100: 100a, 100b, 100c) that are expected to cause a collision are , 7), it can be determined whether at least one of the expected number of collisions and the total arrival time satisfies a preset level.
  • the processor 1022 Avoidance route information for each destination that is learned and recommended through an artificial intelligence model among the avoidance route information for a plurality of preset destinations to reduce at least one of the expected number of collisions and the total arrival time (100a, 100b, 100c, 7) You can select .
  • the processor 1022 When the selection of avoidance path information for each destination is completed, the processor 1022 generates an avoidance path for the unmanned mobile objects (100: 100a, 100b, 100c, ...) that are expected to cause a collision in accordance with the avoidance path information for each destination. can do.
  • the avoidance route information for each destination is based on at least one of the transit points and movement points to the destination of the unmanned mobile objects (100: 100a, 100b, 100c, ...) where a collision is expected to occur. This may be information on each avoidance path of the unmanned mobile objects (100: 100a, 100b, 100c, ).
  • the processor 1022 determines at least one of the transit point, movement point, and direction of movement to the destination within the avoidance route information for each destination, and when at least one of the transit point, movement point, and direction of movement is determined, , Unmanned mobile objects moving in at least one of a transit point, a moving point, and a moving direction are selected as a priority group, and each avoidance path of the unmanned mobile objects selected as a priority group can be created.
  • the processor 1022 when the processor 1022 generates an avoidance path for each of the unmanned mobile objects selected as a priority group, Based on the location information, determine at least one unmanned mobile object that can yield at the current location, and when the determination of at least one unmanned mobile object that can yield at the current location is completed, generate an avoidance route for the remaining at least one unmanned mobile object. can do.
  • FIG. 3 to 5 are flowcharts showing a method of generating a collision avoidance path between artificial intelligence-based unmanned mobile objects according to the present disclosure.
  • FIG. 6 is a diagram illustrating an example of a process for determining whether a collision has occurred between unmanned moving objects using the processor of FIG. 1.
  • the method for generating a collision avoidance path between unmanned moving objects includes a reception step (S310), a first decision step (S320), a second decision step (S330), a third decision step (S340), It may include a selection step (S350) and an avoidance route creation step (S360).
  • each location information and destination-specific movement path information of the unmanned mobile objects 100 can be received through the processor 1022 (S310).
  • the second communication unit 110 selects each location information in space acquired through the camera 140 and the sensor unit 150 and movement route information for each destination based on map information (A) preset in the second control unit 120.
  • the destination movement route information may be transmitted to the processor 1022 through the first communication unit 1010.
  • the processor 1022 may include a first unmanned vehicle 100a located at a first point P1, a second unmanned vehicle 100b located at a second point P2, and a second unmanned vehicle 100b located at a third point P3.
  • each location may be a location on the same point, a location where movement paths for each destination overlap, or a location where movement paths for each time overlap.
  • the unmanned mobile objects ( Total arrival time to each destination of the unmanned vehicles (100a, 100b, 100c, ...) where collisions are expected, based on the location information and movement path information for each destination (100a, 100b, 100c, ...) can be determined (S330).
  • the total arrival time to the destination may include the arrival time for each point and the arrival time for each transit point.
  • the processor 1022 calculates the total arrival time to the destination of the two corresponding unmanned vehicles 100a and 100b or the total arrival time to the destination of the two corresponding unmanned vehicles 100a and 100c or the two corresponding unmanned vehicles The total arrival time to the destination of the moving objects 100b and 100b can be determined.
  • the processor 1022 For another example, if the expected number of collisions among the unmanned moving objects (100a, 100b, 100c, ...) expected to occur is three, the processor 1022 generates three unmanned moving objects (100a, 100b, and 100c). ) can determine the total arrival time to the destination.
  • the processor 1022 calculates the total arrival time to the destination of the two unmanned vehicles 100a and 100b that are expected to collide or the total arrival time of the two unmanned vehicles 100a and 100c that are expected to collide.
  • the total arrival time to the destination or the total arrival time to the destination of the two unmanned vehicles (100b and 100b) where a collision is expected to occur, or the total arrival time to the destination of the three unmanned vehicles (100a, 100b and 100c) It can be determined whether the time satisfies a preset level.
  • the selection step if at least one of the expected number of collisions and the total arrival time of the unmanned mobile objects (100a, 100b, 100c, ...) where collisions are expected to occur does not satisfy a preset level through the processor 1022 ( S340), an artificial intelligence model among avoidance route information for a plurality of preset destinations to reduce at least one of the expected number of collisions and the total arrival time of the unmanned vehicles (100a, 100b, 100c, ...) where collisions are expected to occur. You can select avoidance route information for each destination learned and recommended through (AIM) (S350).
  • AIM avoidance route information for each destination learned and recommended through
  • the preset level sets constraints based on the Conflict Tree model to speed up the movement speed while preventing collisions of the unmanned mobile objects (100a, 100b, 100c, ...) that are expected to collide at the destination.
  • This may be conditions such as the expected number of optimized collisions, the expected number of collisions, the optimized sum of arrival times for each point, the sum of arrival times for each optimized destination, and the sum of arrival times for each optimized stopover.
  • the processor 1022 calculates the optimized collision occurrence, the expected number of collision occurrences, and optimized points for each optimized point in order to prevent collisions between unmanned vehicles 1 to 3 and increase the movement speed.
  • the process of continuously finding the sum of arrival times can be performed according to constraints.
  • the processor 1022 can set the unmanned mobile object 3 at point B as a constraint condition, and set the unmanned mobile object 3 at point B as a constraint condition.
  • the processor 1022 sets at least one unmanned moving object at each point as a constraint condition, and sets each point when the expected number of collisions is 0 and the sum of arrival times for each point is the smallest value.
  • the shortest avoidance path for the unmanned vehicles (100a, 100b, 100c, 7) where collisions are expected to occur can be derived. there is.
  • constraints include constraints on whether there is a collision at a specific point (moving to the same point at the same time), constraints on whether there is a link collision (using the same link at the same time), and constraints on using high priority. , constraints on the point where the unmanned vehicle is finishing the final work and charging, constraints to give way, constraints that must be dealt with if it moves to the same point due to communication problems, and the speed of the unmanned vehicle are all different, so a specific unmanned vehicle When a moving object moves to a specific point, it may be a constraint that prevents other unmanned moving objects from moving to that specific point.
  • the processor 1022 may increase the group size of the unmanned mobile objects or replace the group configuration of the unmanned mobile objects when a path cannot be created with the above constraints.
  • the group size of unmanned vehicles increases, it takes a long time to determine the number of all cases through the Conflict Tree model, but since other unmanned vehicles are considered in the path, the probability of finding the optimized shortest avoidance path increases. .
  • the group size of unmanned vehicles decreases, unmanned vehicles in the high priority group fix their paths and only unmanned vehicles in the low priority group find an avoidance path, so the optimized shortest avoidance path cannot be found quickly. You can explore.
  • the present disclosure can be constructed to quickly search the group size of unmanned vehicles starting from a small size, and to gradually increase the group size of unmanned vehicles if an optimized shortest avoidance path cannot be found.
  • FIG. 7 is a diagram showing an example of a process in which the processor of FIG. 1 outputs avoidance route data for each destination that has been learned and recommended based on an artificial intelligence model.
  • FIGS. 8 to 11B are diagrams showing an example of a process for reinforcing learning of the artificial intelligence model of FIG. 7.
  • FIG. 12 is a diagram illustrating an example of the process of determining and creating avoidance paths for each unmanned mobile object selected as a priority group through the processor of FIG. 1.
  • FIGS. 13A and 13B are diagrams illustrating an example of a process of determining an unmanned vehicle that can yield through the processor of FIG. 1 and generating avoidance paths for other unmanned vehicles.
  • the processor 1022 inputs the metadata of the unmanned moving object's location data (ID1), obstacle data (ID2), and movement path data (ID3) for each destination into the artificial intelligence model (AIM).
  • the results of avoidance route data (OD1) for each destination recommended by learning based on an artificial intelligence model (AIM) can be output.
  • the avoidance path data (OD1) for each destination may include movement (up, down, left, right, stop) data of the unmanned mobile objects where a collision is expected to occur, and the route to the destination of the unmanned mobile objects where a collision is expected to occur.
  • the information may be information on each avoidance path of unmanned mobile objects that are expected to cause a collision, based on at least one of the transit point and the movement point of .
  • the location data (ID1) of the unmanned moving object and the movement path data (ID3) for each destination can be obtained based on the map information (A) stored in the memory 1021, and the obstacle data (ID2) can be obtained from the camera 140 and It may be obtained based on at least one of the sensor units 150.
  • An artificial intelligence model can be built to learn through correlation the location data (ID1), obstacle data (ID2), and movement path data for each destination (ID3) of the unmanned moving object included in the input data.
  • the artificial intelligence model (AIM) can be constructed and reinforced as a learning data set using the unmanned vehicle's location data, obstacle data, and movement path data for each destination using the CNN algorithm or RNN algorithm.
  • the processor 1022 recommends the destination determined based on the location of the unmanned moving object acquired through the map information (A), the movement path for each destination, and obstacles acquired through at least one of the camera 140 and the sensor unit 150.
  • the star avoidance path data (OD1) can be transmitted to the memory (1021).
  • the memory 1021 may store the received avoidance route data OD1 for each corresponding destination.
  • an artificial intelligence model can perform reinforcement learning on the problem of generating paths for unmanned vehicles in a grid map.
  • the input values of the artificial intelligence model (AIM) may be the starting location of the unmanned moving objects, the destination location of the unmanned moving objects, the surrounding environment information including obstacles, and the movement path from the starting position of the unmanned moving objects to the destination location.
  • the output value of the artificial intelligence model (AIM) may be an avoidance path for each destination, including the movement (up, down, left, right, stop) of unmanned vehicles where collisions are expected to occur.
  • the artificial intelligence model calculates the starting location of unmanned moving objects, the destination location of unmanned moving objects, surrounding environment information including obstacles, and the movement path from the starting position of unmanned moving objects to the destination location using a CNN algorithm. , it can be constructed and reinforced as a learning data set using GAT (Graph Attention Network), LSTM (Long Short-Term Memory), and MLP (Multi-Layer Perceptron).
  • the artificial intelligence model (AIM) is an output value for avoidance by destination, including the movements (Up, Down, Left, Right, Idle) of unmanned vehicles that are expected to cause collisions.
  • the path can be printed.
  • reinforcement learning compensation creates a guide path, which is the optimal path for a single unmanned vehicle, and then determines how close it is to the destination when it arrives on the path.
  • the reinforcement learning reward can provide a negative reward every hour in order to arrive at the destination in a short time, and can also provide a negative reward in the event of a collision to reduce collisions.
  • Figures 11a and 11b are the results of changing the variables of the neural network of the artificial intelligence model (AIM), and it was confirmed that the unmanned mobile vehicles 100a, 100b, and 100c all had similar results after approximately 10k episode experiences.
  • AIM artificial intelligence model
  • graphs A, B, and C shown in FIG. 11B may be obtained by changing information about which unmanned vehicles (100a, 100b, 100c) nearby in the GAT are considered through a variable called hop.
  • A may be a GAT 2-hop network
  • B may be a GAT 2-hop network + LSTM Layer
  • C may be a GAT 1-hop network.
  • the boundary for determining adjacent unmanned vehicles 100a, 100b, and 100c in the GAT is the unmanned vehicles 100a, 100b, and 100c within the dotted circle, the unmanned vehicle 100a and the unmanned vehicle 100a are 100b is adjacent, and unmanned vehicle 100b and unmanned vehicle 100c can be viewed as adjacent.
  • the features of an adjacent unmanned mobile device that is, unmanned mobile device 100a, can be extracted by only considering the adjacent unmanned mobile device 100b.
  • the unmanned mobile device 100b adjacent to the unmanned mobile device 100a not only the unmanned mobile device 100b adjacent to the unmanned mobile device 100a, but also the unmanned mobile device 100c adjacent to the unmanned mobile device 100b can be extracted by considering them as features of the unmanned mobile device 100a.
  • the avoidance route creation step when the selection of avoidance route information for each destination is completed through the processor 1022 (S350), the unmanned mobile objects (100a, 100b) that are expected to collide according to the avoidance route information for each destination are selected. , 100c, ...) can be created (S360).
  • the avoidance route information for each destination is based on at least one of the transit points and movement points to the destination of the unmanned mobile objects (100a, 100b, 100c, ...) where a collision is expected to occur. This may be information on each avoidance path of the unmanned mobile objects 100a, 100b, 100c, ....
  • the processor 1022 may determine at least one of a transit point to the destination, a movement point, and a direction of movement within the avoidance route information for each destination ( S361).
  • at least one of the transit point, movement point, and movement direction may be a point and direction that the corresponding unmanned mobile objects (100a, 100b, 100c, ...), where a collision is expected to occur, must visit to reach the destination.
  • the processor 1022 selects transit points (BP1 to BP3, BP4, and BP5) to the destinations of the unmanned mobile objects 100a, 100b, and 100c within the avoidance route information for each destination. , BP6 to BP8), movement points (FP1, FP2, FP3), and movement direction can be determined.
  • the avoidance path creation step when at least one of the transit point, the movement point, and the movement direction is determined through the processor 1022 (S361), the unmanned mobile objects moving to at least one of the transit point, the movement point, and the movement direction are completed (S361). (100a, 100b, 100c, ...) can be selected as the priority group (S362).
  • each avoidance path of the unmanned mobile objects 100a, 100b, 100c, ... selected as a priority group may be generated through the processor 1022 (S363). For example, as shown in FIG. 12, the processor 1022 may generate avoidance paths for each of the unmanned vehicles 100a, 100b, and 100c selected as the priority group G1.
  • the processor 1022 determines that the unmanned mobile device 100a and the unmanned mobile device 100b are in the priority 1 group, and the unmanned mobile device 100c is in the lower priority group 2, and the unmanned mobile device 100a and When the unmanned mobile device 100c is expected to collide, an avoidance path may be created so that the unmanned mobile device 100c always avoids, even if it is efficient for the unmanned mobile device 100a to avoid it.
  • the avoidance path creation step generates, through the processor 1022, each avoidance path of the unmanned mobile objects (100a, 100b, 100c, ...) selected as a priority group.
  • each avoidance path of the unmanned mobile objects (100a, 100b, 100c, ...) selected as a priority group.
  • at least one unmanned mobile object that can yield at the current location can be determined based on the location information of each of the unmanned mobile objects (S363a).
  • the avoidance path creation step when the processor 1022 completes the determination of at least one unmanned vehicle that can yield at the current location (S363a), an avoidance path for the remaining at least one unmanned vehicle may be generated (S363a). S363b).
  • the processor 1022 determines the remaining at least one unmanned mobile object 100a, 100b. Each avoidance route can be created.
  • the problem can be solved by adding a constraint so that at least one unmanned vehicle can give way and one unmanned vehicle moves.
  • the processor 1022 generates unmanned vehicle 1 as an avoidance route from point A to point F rather than as an avoidance route from point A to point B, and creates unmanned vehicle 2 as an avoidance route from point B to point C.
  • Unmanned vehicle 3 can be created as an avoidance route from point C to point D
  • unmanned vehicle 4 can be created as an avoidance route from point D to point A.
  • FIGS. 14 to 16 are diagrams illustrating an example of a process of determining the moving speed of the unmanned mobile objects and generating each avoidance path through the processor of FIG. 1.
  • the avoidance route creation step is to generate, through the processor 1022, the unmanned vehicle A (100a) and the unmanned vehicle B (100b), which are expected to cause a collision, within the avoidance route information for each destination. You can determine the movement speed and create each avoidance route.
  • the processor 1022 of the present disclosure predicts this from the beginning and sets a constraint that it cannot go to the first transit point (b2) of the unmanned vehicle A (100a) from the second transit point (c2) of the unmanned vehicle B (100b). You can also add
  • the processor 1022 determines that even if the unmanned mobile object B (100b) moves quickly, at the moment when it reaches the next passing point (b2) of the unmanned mobile object A (100a), the unmanned mobile object B (100b) You cannot proceed to the path "[c2, b2, b1]", and you can create an avoidance path to proceed to the new path "[c2, c1, b1]".
  • FIGS. 17 to 19 are diagrams illustrating an example of a process of searching for and generating optimized avoidance paths for each of the unmanned vehicles through the processor of FIG. 1 .
  • the avoidance path creation step is performed by searching for optimized avoidance paths for each of the unmanned mobile devices 100a and 100b within the avoidance path information for each destination through the processor 1022. can be created.
  • the processor 1022 sets the priority path of the unmanned vehicle A as “A1-C1-D1- It can be created with the path “C3-B1-G1”, and the priority path of unmanned vehicle B can be created with the path “A2-C1-D1-C3-B2-G2”.
  • the processor 1022 can identify collision expectations for “C1, D1, and C3” located in the same location at the same time and create an avoidance path. At this time, the processor 1022 can set each constraint condition and create various avoidance paths using the Conflict Tree model until the expected number of collisions becomes 0.
  • the processor 1022 sets constraints on the unmanned vehicle A or constraints on the unmanned vehicle B to create a path from A1 to E1 or from A1 to C1 where the expected number of collisions is 0. Navigate the route or route from A2 to C1 or route from A2 to E1 to find "A1-E1-E2-E3-E4-B1-G1" or "A1-C1-D1-C3-B1-G1" or " You can create a path of "A2-C1-D1-C3-B2-G2" or "A2-E1-E2-E3-E4-B2-G2". As such, the processor 1022 can increase the calculation speed of the algorithm for generating a collision avoidance path.
  • the present disclosure may be provided as a computer program stored in a computer-readable storage medium.
  • the computer program When executed on one or more processors, it may perform the following operations to perform an artificial intelligence-based method of creating a collision avoidance path between unmanned moving objects.
  • the operations include receiving location information and movement path information for each destination of the unmanned mobile objects;
  • An operation of determining the expected number of collisions of unmanned moving objects that are expected to cause collisions, based on each location information and movement path information for each destination; may include.
  • the above operations are performed when the determination of the expected number of collisions of unmanned vehicles expected to cause a collision is completed, based on the location information and movement path information for each destination of the unmanned vehicles expected to cause a collision.
  • An operation of selecting avoidance route information for each destination learned and recommended through an artificial intelligence model from among a plurality of preset avoidance route information for each destination to reduce the number of destinations to one; may include.
  • the operations include, when the selection of avoidance route information for each destination is completed, generating an avoidance route for unmanned mobile objects expected to cause a collision in accordance with the avoidance route information for each destination; may include.
  • the avoidance route information for each destination is information in which each avoidance route of the unmanned mobile devices where a collision is expected to occur is set based on at least one of the transit points and movement points to the destination of the unmanned mobile devices where a collision is expected to occur. You can.
  • the avoidance route creation operation determines at least one of the transit point, movement point, and direction of movement to the destination within the avoidance route information for each destination, and at least one of the transit point, movement point, and direction of movement is completed. If so, the unmanned mobile objects moving in at least one of the transit point, the moving point, and the moving direction are selected as a priority group, and each avoidance path of the unmanned mobile objects selected as the priority group can be created.
  • the avoidance route creation operation is performed when creating an avoidance route for each of the unmanned mobile units selected as a priority group, and each of the unmanned mobile units moves in at least one of a passing point, a moving point, and a moving direction. Based on the location information, it is possible to determine at least one unmanned mobile object that can be yielded at the current location, and when the determination of the at least one unmanned mobile object that can yield is completed, an avoidance route for the remaining at least one unmanned mobile object can be created. there is.
  • a computing device may include a processor including one or more cores; and a memory that stores instructions executable by the processor.
  • the processor When instructions are executed by the processor, the processor receives location information and movement path information for each destination between unmanned moving objects, and determines whether a collision will occur based on the location information for each unmanned moving object and movement path information for each destination. The expected number of collisions between unmanned vehicles can be determined.
  • the processor determines the The total arrival time to each destination can be determined.
  • the processor determines whether at least one of the expected number of collisions and the total arrival time of the unmanned mobile objects expected to cause a collision satisfies a preset level, and If at least one of the expected number of collisions and the total arrival time of the unmanned vehicles expected to occur does not meet the preset level, reduce at least one of the expected number of collisions and the total arrival time of the unmanned vehicles expected to occur. , You can select the avoidance route information for each destination that has been learned and recommended through an artificial intelligence model among the avoidance route information for each of the plurality of preset destinations.
  • the processor may generate avoidance paths for unmanned mobile objects that are expected to cause collisions in accordance with the avoidance path information for each destination.
  • the avoidance route information for each destination is information in which each avoidance route of the unmanned mobile devices where a collision is expected to occur is set based on at least one of the transit points and movement points to the destination of the unmanned mobile devices where a collision is expected to occur. You can.
  • the processor determines at least one of the transit point, movement point, and direction of movement to the destination within the avoidance route information for each destination, and when at least one of the transit point, movement point, and direction of movement is completed, the processor determines the transit point, movement point, and direction of movement.
  • Unmanned mobile objects moving in at least one of a point, a movement point, and a movement direction are selected as a priority group, and avoidance paths for each of the unmanned mobile objects selected as a priority group can be created.
  • the processor when generating avoidance routes for each of the unmanned mobile devices selected as a priority group, the processor provides location information for each of the unmanned mobile devices moving in at least one of a transit point, a moving point, and a moving direction. Based on this, at least one unmanned mobile object that can be yielded is determined, and when the determination of the at least one unmanned mobile object that can be yielded is completed, an avoidance path for the remaining at least one unmanned mobile object can be created.
  • At least one component may be added or deleted in response to the performance of the components shown in FIGS. 1 to 3 and FIG. 8 . Additionally, it will be easily understood by those skilled in the art that the mutual positions of the components may be changed in response to the performance or structure of the system.
  • FIGS. 9 to 14 depict a plurality of steps being sequentially executed, but this is merely an illustrative explanation of the technical idea of this embodiment, and those skilled in the art in the technical field to which this embodiment belongs will be familiar with this embodiment. As long as it does not deviate from the essential characteristics of the example, various modifications and variations can be applied by changing the order shown in FIGS. 9 to 14 or executing one or more of the plurality of steps in parallel. Therefore, FIGS. 9 to 14 is not limited to time series order.
  • the disclosed embodiments may be implemented in the form of a recording medium that stores instructions executable by a computer. Instructions may be stored in the form of program code, and when executed by a processor, may create program modules to perform operations of the disclosed embodiments.
  • the recording medium may be implemented as a computer-readable recording medium.
  • Computer-readable recording media include all types of recording media storing instructions that can be decoded by a computer. For example, there may be Read Only Memory (ROM), Random Access Memory (RAM), magnetic tape, magnetic disk, flash memory, optical data storage device, etc.
  • ROM Read Only Memory
  • RAM Random Access Memory
  • magnetic tape magnetic tape
  • magnetic disk magnetic disk
  • flash memory optical data storage device

Landscapes

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

Abstract

본 개시는 무인 이동체 제어 장치, 유휴 무인 이동체의 작업 스케줄링을 수행시키기 위한 방법 및 컴퓨팅 장치에 관한 것이다. 본 개시에 따르면, 목적지까지 충돌 없이 빠른 이동 속도로 주행할 수 있고, 충돌 회피 경로를 생성하기 위한 알고리즘의 계산 속도를 증가시킬 수 있는 것을 제공한다.

Description

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

Claims (10)

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

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2024049023A1 true WO2024049023A1 (ko) 2024-03-07

Family

ID=89384836

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/011020 WO2024049023A1 (ko) 2022-08-30 2023-07-28 무인 이동체 제어 장치, 무인 이동체들간의 충돌 회피 경로 생성 방법 및 프로그램

Country Status (2)

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

Citations (5)

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

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2814577B2 (ja) 1989-06-20 1998-10-22 神鋼電機株式会社 移動ロボットの走行制御方法
KR102206557B1 (ko) * 2019-06-10 2021-01-22 아주대학교산학협력단 무인항공기의 충돌 회피 방법 및 이를 이용하는 장치

Patent Citations (5)

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

Also Published As

Publication number Publication date
KR102618100B1 (ko) 2023-12-28
KR20240031208A (ko) 2024-03-07

Similar Documents

Publication Publication Date Title
CN108304914B (zh) 用于高阶长短期记忆网络的系统和方法
WO2018070768A1 (ko) 모니터링 시스템 제어 방법 및 이를 지원하는 전자 장치
WO2019098449A1 (ko) 메트릭 학습 기반의 데이터 분류와 관련된 장치 및 그 방법
Luan et al. The paradigm of digital twin communications
WO2018110985A1 (en) Method and apparatus for automated decision making
WO2021006368A1 (ko) 인공지능 기반의 에너지 사용량 예측 장치 및 예측 방법
WO2019132410A1 (en) Electronic device and control method thereof
Xu et al. A brief review of the intelligent algorithm for traveling salesman problem in UAV route planning
Bighashdel et al. A survey on path prediction techniques for vulnerable road users: From traditional to deep-learning approaches
Cai et al. New results on supervisor localization, with case studies
Zhou et al. Lightweight unmanned aerial vehicle video object detection based on spatial‐temporal correlation
Hentati et al. Cooperative UAVs framework for mobile target search and tracking
WO2024049023A1 (ko) 무인 이동체 제어 장치, 무인 이동체들간의 충돌 회피 경로 생성 방법 및 프로그램
WO2023282569A1 (en) Method and electronic device for generating optimal neural network (nn) model
Habibi et al. Human trajectory prediction using similarity-based multi-model fusion
Peng et al. Dynamic visual SLAM and MEC technologies for B5G: a comprehensive review
Hamami et al. A systematic review on particle swarm optimization towards target search in the swarm robotics domain
JP2020024667A (ja) 自体運動推定方法及び装置
WO2021085785A1 (en) Electronic apparatus and method for controlling thereof
WO2023177108A1 (en) Method and system for learning to share weights across transformer backbones in vision and language tasks
Gudur et al. A vision-based deep on-device intelligent bus stop recognition system
Do et al. Formation control for multiple unmanned aerial vehicles (UAVs): Recent developments and research challenges
Streit et al. Vision-based path construction and maintenance for indoor guidance of autonomous ground vehicles based on collaborative smart cameras
WO2023191374A1 (ko) 구조식 이미지를 인식하는 인공 지능 장치 및 그 방법
Dai et al. Cooperative Path Planning of Multi-Agent Based on Graph Neural Network