Mobile robot server, mobile robot system based on atypical working environment driving having same, and mobile robot system control method
The mobile robot system addresses navigation challenges in complex environments by differentiating cost functions for path planning based on neighboring nodes, resulting in more accurate and efficient path calculations and reduced collisions.
Patent Information
- Application Number
- PCT/KR2024/016889
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-11
- Filing Date
- 2024-10-31
- Publication Date
- 2025-05-08
AI Technical Summary
Conventional mobile robot systems face challenges in efficiently navigating complex paths and avoiding collisions, especially in non-formal work environments, due to limitations in path planning and collision avoidance methods.
A mobile robot system and control method that calculates the driving path by differentiating cost functions based on the presence of neighboring nodes and their types, using a mobile robot server to explore and optimize driving paths in unstructured grid environments.
The system enables more accurate and efficient driving path calculations, reducing computational load and minimizing collisions, while adapting to various working environments and reflecting real-time information and performance changes of mobile robot units.
Smart Images

Figure KR2024016889_08052025_PF_FP_ABST
Abstract
Description
A mobile robot server, a mobile robot system based on an atypical work environment driving system equipped with the same, and a method for controlling the mobile robot system.
[0001] The present invention relates to a mobile robot server, a mobile robot system, and a control method thereof, and more particularly, to a mobile robot system, mobile robot, and control method that calculate and integrate a driving path that enables efficient driving of a plurality of mobile robot units.
[0002]
[0003] Robots are increasingly being used in diverse industries and in everyday life. Research, production, and deployment are underway for a wide range of robots, from household vacuum cleaners to manufacturing robots used in welding and press processes at automobile factories, to logistics systems like AGVs and AMRs.
[0004] In particular, guided or autonomous transport logistics robots, such as AGVs (Automatic Guided Vehicles) and AMRs (Autonomous Mobile Robots), are experiencing a dramatic expansion in their scope of use and application. In other words, advancements in drive technology have led to their expansion beyond clean facilities like semiconductor factories, encompassing not only the transportation service industry for services like shopping malls and freight transport, but also various logistics and delivery industries operating fulfillment systems, and even heavy industries requiring the transport of large loads, such as heavy industry.
[0005] Conventional AGVs or AMRs, especially AGVs, follow a floor line as a guide line within the driving environment or provide passive or active markers such as optical identification codes such as QR codes or additional external sensors to drive. However, when complex path formation is required in the driving environment or multiple robots are operated, complex challenges such as crossing or avoiding paths are encountered.
[0006] Furthermore, when multiple conventional unmanned vehicles intersect, a simple method of assigning priorities to each robot has been adopted to resolve deadlocks. However, this prioritization method frequently causes waiting to avoid overlapping routes in certain areas. Furthermore, depending on the priority, the cost of excessive waiting time for specific unmanned vehicles is maximized. Furthermore, overall integrated control is difficult.
[0007] In addition, in the case of conventional unmanned vehicles, even if the vehicles have the same specifications, the degree of fatigue accumulation varies with repeated use, making it difficult to accurately predict the path using only simple physical size information. In other words, in the case of conventional unmanned vehicles, even for vehicles with the same specifications, differences in driving speed and responsiveness occur depending on the degree of fatigue accumulation and aging, resulting in errors. These errors accumulate as the driving time increases, making it difficult to accurately predict the location. This entails the disadvantage of maximizing the occurrence of disturbances due to unexpected deadlocks at multiple points when multiple unmanned vehicles are driving.
[0008] In addition, in the case of conventional unmanned vehicles, when integrated control of multiple vehicles is performed through the occupancy status of nodes, it is appropriate for simple one-way environments, but there is a problem that efficiency decreases sharply in complex driving environments such as irregular environments where it is difficult to form nodes in the form of a standardized grid map in the actual working environment. To solve this problem, real-time location information of vehicles is provided, and the possibility of collision is eliminated through location identification through communication between unmanned vehicles and route selection through evasive maneuvers. However, in environments such as those requiring heavy and long-distance transportation, there are limitations in rapid evasive maneuvers, or in environments where a significant number of vehicles are driving, the frequency of safety accidents due to individualized driving increases, or driving efficiency decreases sharply in the overall integrated environment.
[0009] In addition, when a large number of unmanned vehicles are in operation and the vehicles are intended to reflect real-time information, the amount of computation required to predict the driving path of each vehicle increases exponentially, which increases the computational load and thus the computational time. This increase in computational time also causes a gap with the actual driving environment, which results in the problem of meaningless computational weighting.
[0010]
[0011] Accordingly, the present invention aims to provide a mobile robot system and a control method thereof that enable more accurate, faster, and reduced computational load driving path calculation by differentiating a cost function according to the presence and enterable type of neighboring nodes adjacent to a target node, rather than a simple priority method.
[0012]
[0013] According to one aspect of the present invention, the present invention provides a mobile robot system (1) including a plurality of mobile robot units (20), and a mobile robot server (10) that receives planning information including at least a destination and an arrival point, checks whether there is a collision between the plurality of mobile robot units (20), transmits and provides a driving path to the mobile robot units, and receives mobile robot status information transmitted from the mobile robot units (20) as feedback input to search and update the driving path of the mobile robot units (20), wherein the mobile robot units (20) are capable of driving in an irregular work environment that can be defined by an irregular grid of nodes and edges, and calculates a minimum cost driving path by differentiating the cost for the driving path depending on whether the nodes can move when searching for the driving path.
[0014] In the above mobile robot system, the mobile robot server (10) may include a robot path finding module (40) that receives the robot status information and calculates a driving path of the mobile robot unit (20).
[0015] In the above mobile robot system, the robot path finding module (40) may include: an upper level finding unit (410) that compares the driving paths between the mobile robot units (20) to check for collision and generates a constraint table including expected nodes and expected times at which collisions are expected to occur between the mobile robot units (20), and a lower level finding unit (420) that searches and regenerates the driving path of the mobile robot units (20) using the constraint table generated by the upper level finding unit (410).
[0016] In the above mobile robot system, the upper level finding unit (410) may include: an upper level state information forming unit (4110) that compares the driving paths between the mobile robot units (20) using the upper level state information including the planning information and the driving path and generates a constraint table including the expected nodes and the expected time at which a collision is expected to occur between the mobile robot units (20) due to the occurrence of spatiotemporal overlap, a driving path information updating unit (4120) that receives and updates the driving path information of the mobile robot units (20) re-searched and generated in the lower level finding unit (420), and an upper level collision checking unit (4130) that checks and determines whether a collision occurs between the mobile robot units using the updated driving path information.
[0017] In the above mobile robot system, the upper level collision confirmation unit (4130) may include: an upper level collision confirmation unit (4131) that compares whether there is a collision with another mobile robot unit using the updated driving path information, and an upper level collision determination unit (4133) that determines whether there is a node where a collision can occur between the mobile robot units through spatiotemporal overlap using the updated driving path information.
[0018] In the above mobile robot system, the upper level collision verification unit (4130) may include: an upper level collision constraint update unit (4135) that updates the constraint table in a preset manner when the upper level collision determination unit (4133) determines that there are multiple nodes where collisions may occur.
[0019] In the above mobile robot system, the upper level collision confirmation unit (4131) may include: an upper level driving information confirmation unit (41311) that confirms the driving path of the plurality of mobile robot units and the time zone on the driving path, an upper level overlap information confirmation unit (41313) that confirms overlap information of nodes or node sections that overlap in the same time zone with respect to the driving path and time zone confirmed by the upper level driving information confirmation unit (41311), and an upper level physical collision confirmation unit (41315) that uses the environment information on the overlap information and the driving speed information and size information of the plurality of mobile robot units (20) to confirm whether there is a collision within the corresponding overlap section.
[0020] In the above mobile robot system, the plurality of mobile robot units (20) may include at least one heterogeneous mobile robot unit.
[0021] In the mobile robot system, the lower level finding unit (420) may include: a lower level state information forming unit (4210) that calculates lower level state information including the constraint table generated in the upper level finding unit (410), current location information and time information of the mobile robot unit (20), and path attribute information for nodes and edges constituting the driving path of the mobile robot unit (20), and calculates a corresponding cost function to re-search and generate a driving path; a lower level end determination unit (4220) that confirms whether the driving path to the destination of the mobile robot unit (20) is completed; and a node edge attribute generation unit (4230) that generates attribute information for nodes and edges constituting the driving path by considering whether it is possible to enter a neighboring node adjacent to the target node from a target node constituting the driving path of the lower level state information, and transmits the information to the lower level state information forming unit (4210).
[0022] In the above mobile robot system, the lower level state information forming unit (4210) may include: a lower level state information generating unit (4211) that calculates a cost function of a driving path for a target mobile robot unit among the mobile robot units (20) using the constraint table and the node attribute information and edge attribute information generated by the upper level finding unit (410) to update driving path information, and a lower level state information selecting unit (4213) that selects lower level state information for the driving path generated by the lower level state information generating unit (4211).
[0023] In the above mobile robot system, the node edge property generation unit (4230) may include: a node existence confirmation unit (4231) that confirms the existence of a neighboring node adjacent to the target node from the target node constituting the driving path, a movable node confirmation unit (4233) that confirms whether movement to the confirmed neighboring node is possible, and a node property assignment unit (4235) that assigns node properties according to whether continuous entry is possible when movement to the neighboring node is possible by using information on whether the edge section connecting the target node and the neighboring node is curved and information on the rotation angle.
[0024] In the above mobile robot system, the node attribute assignment unit (4235) may: set the target node as a continuous node that sets a continuous driving node attribute that enables the target node to be driven without stopping when the mobile robot unit (20) can continuously drive from the target node to the neighboring node without stopping.
[0025] In the above mobile robot system, the node attribute assignment unit (4235) may be set as a non-continuous driving node that sets the node attribute that enables driving after stopping at the target node when the mobile robot unit (20) can drive to the neighboring node after stopping at the target node.
[0026] In the above mobile robot system, the node edge property generation unit (4230) may include an edge property assignment unit (4237) that assigns edge properties to an edge section connecting the terminal node and the target node by using the node properties of the terminal node of the re-searched driving path and the target node.
[0027] In the above mobile robot system, the lower level state information forming unit (4210) calculates a cost function of a driving path for a target mobile robot unit among the mobile robot units (20) using the constraint table and the node attribute information and the edge attribute information generated by the upper level finding unit (410) to update the driving path information, and the edge attribute assigning unit (4237) forms an edge attribute by assigning a velocity profile for each node section within the driving path according to the continuous driving node attribute or the non-continuous driving node attribute, and the lower level state information forming unit (4210) can also calculate a cost function value through the node attribute and edge attribute of the driving path.
[0028] In the above mobile robot system, the edge property may include a flat section edge property that maintains a preset speed.
[0029] In the above mobile robot system, the edge property may include a front transition edge property that forms an acceleration state from a stationary state at the tip.
[0030] In the above mobile robot system, the edge property may include a rear transition edge property that forms a deceleration state at the rear end.
[0031] In the above mobile robot system, the edge property may include an edge side transition edge property that forms an acceleration state from a stationary state at the tip and a deceleration state at the bottom.
[0032] In the above mobile robot system, the edge property may include an inflection point that forms a shift state in at least a part of the section.
[0033] In the above mobile robot system, the cost function value produced by the lower level state information forming unit (4210) may be produced at least through the A* algorithm.
[0034] In the above mobile robot system, the lower level finding unit (420) may include a lower level search end confirmation unit (4240) that confirms whether the search for all driving paths of the upper level status information has been completed.
[0035] In the above mobile robot system, the mobile robot unit (20) receives a driving path transmitted from the mobile robot server (10) and drives from a destination to a final destination, but may also be capable of evasive maneuvering by sensing the driving environment.
[0036] In the above mobile robot system, the upper level finding unit (410) may further include a driving error forwarding collection unit (4140) that checks the difference between the confirmed arrival time upon arrival at at least one node on the driving path of the mobile robot unit (20) and the predicted arrival time of the corresponding node, and corrects the predicted node time of a node scheduled to arrive on the driving path after the corresponding node.
[0037] In the above mobile robot system, the mobile robot server (10) may further include a decay module (50) that uses mobile robot status information detected by the mobile robot unit (20) to check the degree of performance decay and adjusts the velocity profile for the edge section between nodes used when searching for a driving path according to the degree of performance decay.
[0038] In the above mobile robot system, the mobile robot server (10) may further be equipped with a profile managing module (60) that adjusts the velocity profile for the edge section between nodes used when searching for a driving path of the mobile robot unit (20).
[0039] In the above mobile robot system, a load confirmation module (300) may be further provided to confirm the spatial information of the load carried in the mobile robot unit (20).
[0040]
[0041] According to another aspect of the present invention, there is provided a mobile robot system (1) including a plurality of mobile robot units (20) and a mobile robot server (10) for searching, updating, and confirming a driving path of the mobile robot units (20), a provision step (S1) for providing a mobile robot system (1), the preparation step (S2) for collating and preparing planning information including a destination and an arrival point and mobile robot status information transmitted from the plurality of mobile robot units (20), a path search step (S10) for predicting a driving path in a robot path finding module (40) of the mobile robot server (10) based on the planning information and the mobile robot status information and for calculating a non-collision confirmed driving path by checking whether there is a collision between the mobile robot units (20), and a path driving execution step (S70) for causing the mobile robot units (20) to drive according to the driving path information calculated and confirmed in the path search step (S10) and transmitting current robot status information of each driving path to the mobile robot server (10), and in the path driving execution step (S70) The above mobile robot unit (20) is defined as an irregular grid of nodes and edges and provides a mobile robot system control method characterized in that it can drive in an irregular work environment in which at least two edges among the edges have different distances.
[0042] In the above mobile robot system control method, in the path search step (S10), when searching for a driving path, a driving path may be calculated with the minimum cost by differentiating the cost for the driving path depending on whether the node can move.
[0043] In the above mobile robot system control method, the path search step (S10) may include: an upper level state information forming step (S30) in which upper level state information including a constraint table of collision spatiotemporal node information of spatiotemporal overlapping nodes between the driving paths of the mobile robot units (20) is formed using the planning information and the mobile robot state information; a lower level search step (S40) in which lower level state information including the driving path information of the mobile robot is searched and generated using the attribute of the target node on the upper level state information and the mobile robot state information; an upper level state information updating step (S100) in which the upper level state information is updated using the driving path information of the mobile robot generated in the lower level search step (S40); and a collision check step (S110) in which collision spatiotemporal node information of spatiotemporal overlapping nodes between the driving paths of the mobile robot units (20) is confirmed using the planning information and the mobile robot state information to update and calculate the constraint table.
[0044] In the above mobile robot system control method, the planning information confirmed in the planning information confirmation step (S20) may include node edge information having node positions and node times and node edge properties that form a driving path based on the driving path information of the mobile robot unit (20).
[0045] In the above mobile robot system control method, in the upper level state information forming step (S30), upper level state information including a constraint table and driving path information for a collision prediction node between the mobile robot units (20) is formed, and the driving path information may include cost function value information for each driving path.
[0046] In the above mobile robot system control method, the lower level search step (S40) may include: a lower level status information formation step (S41) in which a cost function value for each node section according to the node properties is calculated and a driving path is updated, and a lower level end confirmation step (S43) in which it is confirmed whether the driving path update of the mobile robot unit (20) is completed.
[0047] In the above mobile robot system control method, the lower level state information forming step (S41) may include a lower level state information generating step (S411) for calculating a cost function value for each node section according to the node and edge properties and updating and calculating lower level state information including a driving path, and a lower level state information selecting step (S413) for selecting a target node among the driving paths using the location information of the mobile robot unit (20).
[0048] In the above mobile robot system control method, the lower level end determination step (S43) may include: a target node comparison confirmation step (S431) for comparing and confirming the current target node with the destination information in the planning information, a lower level goal arrival determination step (S433) for confirming and determining whether the current target node and the destination information match, and a lower level end determination step (S435) for confirming whether to execute a driving path search in the arrival status for all driving paths when it is determined in the lower level goal arrival determination step (S433) that the mobile robot unit (20) has arrived at the destination.
[0049] In the above mobile robot system control method, the neighboring node confirmation step (S45) may include: a neighboring node check step (S451) for checking a neighboring node at the rear end of the target node, a neighboring node existence determination step (S452) for determining whether a neighboring node confirmed in the neighboring node check step (S451) exists, and a neighboring node entry possibility determination step (S453) for determining whether entry into the neighboring node is possible if it is determined or confirmed in the neighboring node existence determination step (S452) that a neighboring node of the target node exists.
[0050] In the above mobile robot system control method, the neighboring node confirmation step (S45) may include: a turning driving determination step (S458) for determining whether turning driving is necessary between the target node and the neighboring node when it is determined in the neighboring node entry possibility determination step (S453) that the neighboring node is entry possible; and a node attribute determination step (S459) for determining the node attribute of the target node based on the determination result in the turning driving determination step (S458).
[0051] In the above mobile robot system control method, the turning driving determination step (S458) may include: a non-straight path determination step (S454) for determining whether a non-straight path driving is performed between the target node and the neighboring node when it is determined in the neighboring node entry possibility determination step (S453) that entry into the neighboring node is possible, and a path direction vector angle comparison step (S455) for comparing a path direction vector angle of a driving path from the target node to the neighboring node with a preset angle when it is determined in the non-straight path determination step (S454) that a non-straight path driving is performed between the target node and the neighboring node.
[0052] In the above mobile robot system control method, the collision detection step (S110) may include: an upper level status information confirmation step (S111) of confirming upper level status information including the driving path information of the mobile robot updated in the upper level status information update step (S100), a collision prediction node confirmation judgment step (S112) of confirming a collision prediction node at which a spatiotemporal collision between the mobile robot units (20) is expected from the upper level status information, a front-end collision prediction node confirmation step (S113) of confirming the front-end collision prediction node on the driving path of each of the mobile robot units (20), and a constraint table update step (S114) of updating a constraint table using the front-end collision prediction node on the driving path of each of the confirmed mobile robot units (20).
[0053] In the above mobile robot system control method, the path driving execution step (S70) may include: a global driving information transmission step (S71) in which the driving path information calculated and confirmed in the path search step (S10) is set as global driving information and transmitted to the mobile robot unit (20); a local driving path generation step (S73) in which individual local driving paths of each mobile robot unit (20) are generated using the global driving information transmitted in the global driving information transmission step (S71); a local driving path driving step (S74) in which the mobile robot unit (20) drives while executing an avoidance maneuver with an obstacle along the local driving path generated in the local driving path generation step (S73); and a mobile robot status information transmission step (S78) in which status information of the mobile robot unit (20) is collected during the execution of the local driving path driving step (S74) and transmitted to the mobile robot server (10).
[0054] According to another aspect of the present invention, the present invention provides a mobile robot system control method for controlling a mobile robot system (1) including a plurality of mobile robot units (20) and a mobile robot server (10) for searching, updating, and confirming a driving path of the mobile robot units (20), the method comprising: a path search step (S10) in which a driving path is predicted in a robot path finding module (40) of the mobile robot server (10) based on planning information including a destination and an arrival point and mobile robot status information transmitted from a plurality of mobile robot units (20), and a driving path confirmed to be non-collision is calculated by checking whether there is a collision between the mobile robot units (20), and a path driving execution step (S70) in which the mobile robot units (20) drive according to the driving path information calculated and confirmed in the path search step (S10) and current robot status information of each driving path is transmitted to the mobile robot server (10), and in the path driving execution step (S70), the mobile robot units (20) are arranged in an irregular grid of nodes and edges. A method for controlling a mobile robot system is provided, which is capable of driving in an irregular work environment in which the distances of at least two edges among the edges are different and in which, in the path driving execution step (S70), the mobile robot unit (20) drives along the driving path information and arrives at a node among the driving path information, the arrival time for the subsequent transit node is corrected.
[0055] In the above mobile robot system control method, the path search step (S10) may include: an upper level state information forming step (S30) in which upper level state information including a constraint table of collision spatiotemporal node information of spatiotemporal overlapping nodes between the driving paths of the mobile robot unit (20) is formed using the planning information and the mobile robot state information, and a lower level search step (S40) in which lower level state information including driving path information of the mobile robot is searched and generated using the attribute of the target node on the upper level state information and the mobile robot state information.
[0056] In the above mobile robot system control method, the upper level status information forming step (S30) may include: a transit node arrival status information confirmation step (S31) for comparing predicted node time information for a transit node on the driving route with transit node arrival status information acquired in the route driving execution step (S70); an expected time error confirmation step (S32) for confirming an expected time error by confirming a difference between the predicted node time information and the transit node arrival status information; an expected time error presence confirmation step (S33) for confirming whether the expected time error confirmed in the expected time error confirmation step (S32) exists; a forwarding transit upper level information update step (S34) for updating upper level information by correcting the predicted arrival time for a forwarding node after the arrival-occupied transit node on the driving route when it is determined that an error exists in the expected time error presence confirmation step (S33); and a collision check step (S35) for confirming whether a spatiotemporal overlapping node exists using the updated upper level information. there is.
[0057] According to another aspect of the present invention, the present invention provides a mobile robot server that receives planning information including at least a destination and an arrival point, checks whether there is a collision between a plurality of mobile robot units (20) capable of driving in an irregular work environment definable by an irregular grid of nodes and edges, transmits and provides a driving path to the mobile robot units, receives mobile robot status information transmitted from the mobile robot units (20) as feedback, searches and updates the driving path of the mobile robot units (20), and differentiates the cost for the driving path according to whether the node can move when searching for the driving path to calculate the minimum cost driving path.
[0058]
[0059] The effects of the mobile robot system and mobile robot system control method of the present invention configured as described above are as follows.
[0060] First, the mobile robot system and mobile robot system control method of the present invention can maximize adaptability to various working environments by being applicable in an irregular grid environment that does not allow an orthogonal grid structure in an actual working environment.
[0061] Second, the mobile robot system and mobile robot system control method of the present invention enable derivation of an efficient driving path by assigning attributes to nodes based on the presence and access availability of neighboring nodes, and calculating a cost function based on the adjustment of edge time due to changes in the velocity profile between node sections based on the assigned node attributes.
[0062] Third, the mobile robot system and the mobile robot system control method of the present invention enable derivation of an efficient driving path by assigning attributes to nodes based on the presence and access availability of neighboring nodes, and calculating a cost function based on the adjustment of edge time through changes in the velocity profile between node sections based on the assigned node attributes.
[0063] Fourth, the mobile robot system and the mobile robot system control method of the present invention can reduce the computational burden and enable more accurate driving path calculation by checking for expected collisions and deadlocks with other driving paths for the driving path derived by differentiating the cost function according to node properties, updating the constraint table, and updating the driving path by updating lower level state information therefrom.
[0064] Fifth, the mobile robot system and mobile robot system control method of the present invention receive and apply robot status information of a mobile robot unit as feedback, but go beyond simple real-time application, and confirm and compensate for physical errors of the mobile robot unit and reflect them in predicted driving path information, thereby reducing the computational load for meaningless prediction and enabling more accurate location prediction to produce a driving path and integrated control of multiple mobile robot units through this.
[0065] Sixth, the mobile robot system and mobile robot system control method of the present invention can block or minimize the possibility of safety accidents occurring due to unnecessary deadlock between robot units by executing path search by reflecting status changes according to path search through detection of load of mobile robot units.
[0066] Seventh, the mobile robot system and mobile robot system control method of the present invention can enable driving search by reflecting the performance degradation due to the accumulated driving of the mobile robot unit, thereby preventing search path errors due to increased input time, thereby enabling smooth integrated control operation.
[0067] Eighth, the mobile robot system and mobile robot system control method of the present invention can automatically adjust the velocity profile of the edge section of the mobile robot unit to reflect the operator's operation or accumulated data, thereby increasing the smoothness and freedom of driving operation and integrated control.
[0068]
[0069] Figure 1 is a schematic overall configuration diagram of a mobile robot system according to one embodiment of the present invention.
[0070] FIG. 2 is a schematic diagram of a mobile robot server of a mobile robot system according to an embodiment of the present invention.
[0071] Figures 3 to 7 are schematic diagrams of the detailed configuration of a mobile robot server of a mobile robot system according to one embodiment of the present invention.
[0072] Figure 8 is a schematic diagram of a mobile robot unit according to one embodiment of the present invention.
[0073] Figure 9 is a schematic diagram of a mobile robot unit of a mobile robot system according to an embodiment of the present invention.
[0074] Figure 10 is a schematic diagram simulating the driving state in an orthogonal grid working environment of a typical same-type mobile robot system.
[0075] FIG. 11 is a schematic diagram showing the driving state of a mobile robot unit in an irregular grid work environment among different types of mobile robot systems according to one embodiment of the present invention.
[0076] FIGS. 12 to 14 are schematic state diagrams of a mobile robot unit of a mobile robot system according to one embodiment of the present invention forming node properties based on the current location, target node for driving path search, and the presence and access availability of neighboring nodes.
[0077] FIGS. 15 to 18 are diagrams showing examples of velocity profiles that take node properties into account for a node-to-node section along which a mobile robot unit of a mobile robot system according to one embodiment of the present invention moves.
[0078] FIG. 19 is a schematic diagram showing the driving states of different types of mobile robot units of a mobile robot system according to one embodiment of the present invention.
[0079] FIGS. 20 to 23 are state diagrams showing a searched driving path in which a new waiting time and driving time are searched by changing the occupancy status and passing status of a node through collision confirmation on the driving path of a mobile robot unit of a mobile robot system according to one embodiment of the present invention and a change in velocity profile according to node properties.
[0080] Figures 24 to 32 are flowcharts of a control method of a mobile robot system according to one embodiment of the present invention.
[0081] Figures 33 to 38 are diagrams showing the types of velocity profiles of edge sections according to node properties during path search of a mobile robot system according to one embodiment of the present invention.
[0082] Figures 39 to 44 are simulation diagrams of a predicted path search process that simulates path search of a mobile robot unit according to one embodiment of the present invention.
[0083] Figure 45 is a modified example of a mobile robot system control method according to one embodiment of the present invention.
[0084] Figures 46 and 47 are mock-up diagrams that imitate the process of Figure 45.
[0085] Figures 48 and 49 are partial configuration diagrams of a mobile robot system according to one embodiment of the present invention.
[0086] FIG. 50 and FIG. 51 are diagrams showing a process of reflecting and adjusting a decrease in a velocity profile during path search of a mobile robot system according to an embodiment of the present invention.
[0087] Figure 52 is a modified configuration diagram of a mobile robot system according to one embodiment of the present invention.
[0088] Figures 53 to 55 and Figure 58 are operation status diagrams and configuration diagrams that enable loading confirmation of a mobile robot system according to one embodiment of the present invention.
[0089] FIG. 56 and FIG. 57 are simulation diagrams of a path search process utilizing load space information of a load when searching a path of a mobile robot unit according to one embodiment of the present invention.
[0090]
[0091] Hereinafter, specific details for implementing the configuration of the mobile robot unit, mobile robot system, and control method thereof of the present invention will be described based on examples with reference to the drawings. These examples are described in sufficient detail to enable those skilled in the art to practice the present invention. It should be understood that the various embodiments of the present invention, while different from each other, are not necessarily mutually exclusive. For example, specific shapes, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the present invention. Furthermore, it should be understood that the positions or arrangements of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the present invention. Therefore, the following detailed description is not intended to be limiting, and the scope of the present invention is defined only by the appended claims, along with the full scope equivalents to which such claims are entitled, if properly described. Like reference numerals in the drawings designate the same or similar functions throughout.
[0092] Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used in their common sense to those of ordinary skill in the art to which the present invention pertains. Furthermore, terms defined in commonly used dictionaries are not to be interpreted ideally or excessively unless explicitly and specifically defined otherwise.
[0093] In the embodiment described below, the server may be implemented as a standalone device or as part of a general-purpose processing device in the form of a collection of hardware including a central processing unit, a user I / F, an operating system (not shown), a memory storing various necessary data, an external communication port, a printer I / F, etc., and software that operates the same, which performs various functions required for the present invention described below by executing various software programs and / or command sets stored in a memory unit.
[0094] A mobile robot system (1) according to one embodiment of the present invention includes a mobile robot unit (20) and a mobile robot server (10). Here, the mobile robot unit (20) is implemented as an autonomous driving robot, and in cases where a plurality of mobile robot units (20) are driven, they may be configured to be operationally controlled by the mobile robot system (1) to provide driving information and tasks including a driving destination, as the case may be, or in cases of an emergency, they may be configured to be individually controlled by the mobile robot system (1), and various other configurations are possible.
[0095] First, the mobile robot unit (20) according to one embodiment of the present invention is implemented as an autonomous driving robot, and in cases where multiple mobile robot units (20) are driving, it may be configured to be operationally controlled by the mobile robot system (1) to provide driving information and tasks including a driving destination, and in cases where an emergency occurs, it may be configured to execute individual driving control by the mobile robot system (1), and various configurations are possible.
[0096] As illustrated in FIG. 1, the mobile robot system (1) includes one or more mobile robot units (20) and a mobile robot server (10), and in some cases, an administrator terminal (3), such as a task manager's computer, may also be included within the overall system. Each component constituting the mobile robot system (1) can communicate with each other via a communication network and transmit and receive data.
[0097] Communication, communication network or communication network may include, for example, a cellular communication protocol, for example, at least one of LTE, LTE-A, 5G, WCDMA, CDMA, UMTS, Wibro, and GSM. In addition, the communication network may be configured regardless of the communication type, such as wired or wireless, and may be implemented as various communication networks, such as a personal area network (PAN), a local area network (LAN), a metropolitan area network (MAN), and a wide area network (WAN). In addition, the communication, communication network or communication network may be the well-known World Wide Web (WWW), and include various communication methods, such as infrared (Infrared Data Association; IrDA) or Bluetooth or Bluetooth Low Energy and RF wireless communication.
[0098] Figures 8 and 9 illustrate an example of a mobile robot unit (20), and another drawing illustrates a schematic block diagram of a mobile robot unit (20). In this embodiment, a plurality of mobile robot units (20) are provided.
[0099] The mobile robot unit (20) moves along a driving path provided by the mobile robot server (10) and enables autonomous driving and stable task performance through driving control to a destination described later for execution of a predetermined task.
[0100] At this time, the mobile robot unit (20) executes driving through a distributed path search process. That is, the mobile robot unit (20) moves based on the driving path information searched and provided by the mobile robot server (10), but may also take the form of forming a local driving path by considering the kinematics of the mobile robot unit (20), executing a predetermined avoidance action when an obstacle exists on the path, and returning to the given driving path to drive.
[0101]
[0102] Here, the mobile robot unit (20) of the present invention includes a unit storage unit (23) and a unit control unit (22). The unit storage unit (23) may store information about an irregular surrounding environment space by converting it into a grid map formed by an irregular grid, i.e., a grid map. In some cases, the unit control unit (22) may perform precise position estimation by comparing and matching the surrounding environment distance measurement information executed through a sampling range that can be changed according to the kinematic driving type of the unit driving unit (28) based on the grid map, and the position information signal calculated from the surrounding environment image information.
[0103] More specifically, the mobile robot unit (20) of the present invention includes a unit detection unit (21), a unit control unit (22), a unit storage unit (23), a unit operation unit (24), a unit input unit (25), a unit communication unit (26), a unit output unit (27), and a unit driving unit (28).
[0104] The unit detection unit (21) is a detection means for acquiring information on the driving status and surrounding environment of the mobile robot unit (20), and the unit detection unit (21) includes an image sensor (211) and a distance measurement sensor (213). The image sensor (211) can capture an image of the surroundings while the mobile robot unit (20) is driving and convert and provide image information.
[0105] The distance measurement sensor (213) can be selected in various ways in the range of detecting distance measurement through an ultrasonic sensor, a laser sensor, etc., but in the present embodiment, it is implemented as a component that performs a scan detection function such as a lidar as a laser sensor, extracts point cloud data of surrounding objects, etc., and detects the presence of obstacles, that is, objects that affect driving operations, such as other mobile robot units that are driving in the opposite direction that require crossing or objects that may collide, and enables recognition of the current location through comparison with a grid map, etc., and enables implementation of an obstacle avoidance operation and an operation of returning to the original driving path after avoidance.
[0106] The unit control unit (22) applies a detection operation control signal to the unit detection unit (21) of the mobile robot unit (20), or receives the detected detection information and transmits it to the mobile robot server (10), so that the corresponding data can be transmitted and stored in the mobile robot server (10).
[0107] In this embodiment, the mobile robot unit (20) is structured to perform an independent, individual autonomous driving function under the control of the unit control unit (22), but it is clear from the present technology that a case may be taken where the mobile robot server (10) manages partial driving information provision or driving control. That is, the mobile robot server (10) calculates an individual local driving path based on a global path, which is a driving path derived through centralized path search, and drives along the individual local driving path while performing autonomous driving-based driving, so that when a collision with another mobile robot unit is predicted on the individual local driving path or an obstacle is found on the individual local driving path, an emergency avoidance maneuver may be performed, and when the avoidance maneuver situation is resolved, a configuration may be taken in which the mobile robot unit returns to the original individual local driving path. Various configurations are possible, such as a configuration in which the mobile robot unit (20) calculates an individual local driving path based on a global path, which is a driving path that is derived through computation, and drives along the individual local driving path while performing autonomous driving-based driving.
[0108] The unit storage unit (23) is operated according to the unit storage control signal of the unit control unit (22), and stores unit dictionary data for driving operation or stores image information or point cloud type detection data detected by the unit detection unit (21), and can simultaneously perform grid map storage. That is, the grid map stored in the unit storage unit (23) may include node and edge information connecting nodes, which are information set and input by the operator as necessary for operation in the workplace. Here, the node information represents location information in the work environment, and the edge information represents length information between nodes. In particular, in the case of the present embodiment, the positions between nodes, which are a complete matrix type in which the spacing between nodes, that is, the edges, are designed to have the same length between all nodes, may deviate from the standardized map of a complete orthogonal grid type, and the edges, which are the spacing between nodes, may have different values, making it possible to configure a grid map for an irregular work environment. FIG. 10 illustrates a standardized grid map of a matrix structure in which nodes are spaced apart at preset distances so that the distances in the XY axis direction between nodes have values of dx and dy, and FIG. 11 illustrates a grid map of an irregular structure in which nodes are spaced apart so that the distances in the XY axis direction between nodes have different values for at least two distances between nodes, such as dx1, dx2 to dy1, dy2 for each node. In the case of the mobile robot unit (20; 20R1, 20R2) of the present invention, it is possible to drive even in an irregular work environment.
[0109]
[0110] The unit operation unit (24) may utilize unit dictionary data stored in the unit storage unit to execute a predetermined operation process according to the unit operation control signal of the unit control unit (22). In addition, the unit input unit (25) may enable direct data input into the mobile robot unit (20) in addition to input through the terminal (30) of a user or management operator.
[0111] The unit communication unit (26) can communicate with the mobile robot server (10) through wired or wireless communication, receive a motion control signal transmitted from the mobile robot server (10), or transmit detection data detected by the unit detection unit (21) of the mobile robot unit (20). The unit communication unit (26) in the present embodiment can also transmit surrounding environment image information detected by the image sensor (211) and distance measurement information detected by the laser sensor (213).
[0112] The unit output unit (27) is attached to the mobile robot unit (20) to output signals externally. The unit output unit (27) can be implemented as various output elements such as a speaker or display.
[0113] The unit drive unit (28) includes various power generation and power transmission means such as wheels, drive motors, and reducers of the mobile robot unit. In the present embodiment of Fig. 8, the unit drive unit (28) adopts a differential type drive type, but is not limited thereto. That is, the mobile robot unit (20) of the present embodiment is not limited to a specific drive type, and can be variously modified, such as a single drive type, a differential type, or a quad type.
[0114] Meanwhile, the present invention can provide a mobile robot system (1) including a mobile robot server (10) that operates the driving of a plurality of mobile robot units (20).
[0115] As illustrated in FIGS. 1 to 7, the mobile robot system (1) of the present invention includes a mobile robot server (10) that transmits a driving path in which a plurality of mobile robot units (20) search and a collision with other mobile robot units (20) are confirmed, and receives actual driving information detected and confirmed by the plurality of mobile robot units (20).
[0116]
[0117] More specifically, the mobile robot server (10) provides a driving route including a destination to which the mobile robot unit (20) is driving and manages the driving. At this time, the mobile robot unit (20) transmits and receives driving information and detected driving environment information from the mobile robot server (10).
[0118] The mobile robot server (10) includes a server control unit (11), a server storage unit (12), a server communication unit (13), a server input unit (30), and a robot path finding module (40), wherein the server control unit (11) comprehensively controls the operation of each internal configuration, and the server storage unit (12) stores data such as planning information, input information by a user, and upper-level state information and lower-level state information including a constraint table described below.
[0119] The server communication unit (13) transmits and receives data with a plurality of mobile robot units (20) in the above-described communication method according to the communication control signal of the server control unit (11), and the server input unit (14) can be implemented in the form of an input terminal of a data port in a way that allows data input by a user, or can be implemented as an input interface such as a keyboard or mouse, etc., and various other options are possible. In some cases, the server control unit (11), server storage unit (12), etc. can be installed in separate parts in other individual components of the mobile robot server (10), and various other options are possible.
[0120] The managing module (30) performs the function of managing transportation from the starting point and destination where the mobile robot unit (20) is to be executed or operated, and allocating and managing job details or task details for the transportation.
[0121] As previously described, the administrator terminal (3) may also be included within the overall system. The administrator terminal (3) may transmit and receive data by intercommunicating with other components, such as by individually applying control signals to the mobile robot unit (20) or to the mobile robot unit (20) and the mobile robot server (10) via a communication network, or by acquiring current driving situation information. The administrator terminal (3) may be implemented in various terminal forms, such as a smartphone, tablet, laptop, or PC, and is not limited to a specific form.
[0122]
[0123] Meanwhile, the mobile robot server (10) of the present invention receives planning information including a destination and an arrival point, checks whether there is a collision between a plurality of mobile robot units (20), transmits and provides a driving path to the mobile robot units, and receives feedback on mobile robot status information transmitted from the mobile robot unit (20) to search, update, and confirm the driving path of the mobile robot unit (20).
[0124] At this time, the mobile robot unit (20) of the present invention can drive in an irregular work environment that can be defined by an irregular grid of nodes and edges, and the mobile robot server (10) calculates a minimum cost driving path by differentiating the cost for the driving path depending on whether the node can move when searching for the driving path.
[0125] Here, route search does not necessarily mean switching to a new node, but can be modified in various ways to reduce overall costs, such as avoiding collisions or deadlocks by increasing the dwell time at the node on the previous route.
[0126] The mobile robot server (10) includes a robot path finding module (40), which receives planning information and robot status information and uses the information to calculate a driving path of the mobile robot unit (20).
[0127] More specifically, the robot path finding module (40) includes an upper level finding unit (410) and a lower level finding unit (420).
[0128] The upper level finding unit (410) forms upper level state information including a constraint table described below, and the lower level finding unit (420) searches for lower level state information including a new driving path that can avoid collision from the current location of the mobile robot unit (20) to the destination by using the upper level state information including the constraint table, planning information, mobile robot state information including the current node information indicating the current location, and the node arrival time.
[0129] The upper level finding unit (410) compares the travel paths of the mobile robot units (20). In addition, the upper level finding unit (410) uses the travel path comparison results of multiple mobile robot units (20) to check whether there is a collision between the mobile robot units (20), and the upper level finding unit (410) creates a constraint table.
[0130] Here, the constraint table is a set of constraint information that serves as a constraint on the driving path of the mobile robot unit (20), and includes node information on a collision prediction node where a collision is expected to occur between the mobile robot units (20) when a plurality of mobile robot units (20) drive their respective driving paths, and a collision prediction time at a point or section where the plurality of mobile robots drive from the collision prediction node.
[0131] The constraint table generated in the upper level finding unit (410) is used by the lower level finding unit (420) to generate the driving path of the mobile robot unit (20).
[0132] More specifically, the upper level finding unit (410) includes an upper level status information forming unit (4110), a driving path information updating unit (4120), and an upper level collision confirmation unit (4130).
[0133] The upper-level status information forming unit (4110) generates upper-level status information using planning information. The upper-level status information includes a driving path and a constraint table. Here, as described above, the planning information includes user command information input by a user or operator. That is, it may include starting and destination information for movement to perform tasks or jobs to be executed in a work environment, driving path information formed by nodes and edges connecting them, and predicted arrival time information at each node.
[0134] In some cases, the planning information may include information on the surrounding environment along the driving path detected from an individual mobile robot unit (20). The surrounding environment information of the mobile robot unit may include information on the current node where the mobile robot unit (20) is currently located and information on the time of arrival at the node.
[0135] The upper level status information forming unit (4110) generates a constraint table using the input planning information. As described above, the user command information may include the starting point, destination, or waypoint of the mobile robot unit (20), task information to be performed at the corresponding start, intermediate, or end points, job information, etc., and the surrounding environment information may include whether an individual mobile robot unit (20) has reached the starting point, waypoint, or destination on the corresponding driving route, or surrounding environment information acquired during the driving process.
[0136] The upper level state information forming unit (4110) generates a constraint table of the upper level state information using planning information. The constraint table includes the expected nodes and expected times at which a collision is expected to occur between the mobile robot units (20) by comparing the driving paths of the mobile robot units (20). That is, when an overlapping area occurs between the driving paths driven under the work environment allocated to a plurality of mobile robot units (20), the overlapping area is identified as a preliminary candidate node for a collision expected node between the mobile robot units, and when the operating time, i.e., the driving time, also overlaps at the node as the overlapping area, a collision may occur between the mobile robot units (20). The expected nodes and expected times at which a collision is expected to occur between the mobile robot units (20) by comparing the driving paths of the plurality of mobile robot units (20) are used as basic information for determining whether or not there is such a collision.
[0137] The constraint table of upper level status information generated in the upper level status information forming unit (4110) of the upper level finding unit (410) is transferred to the lower level finding unit (420), and a driving path search is performed in the lower level finding unit (420).
[0138] More specifically, the upper level state information forming unit (4110) includes an upper level state information generating unit (4111) and an upper level state information selecting unit (4113). The upper level state information generating unit (4111) uses planning information to compare the travel paths of the mobile robot units (20) to confirm whether there is a collision and checks a constraint table including the expected nodes and expected times at which a collision is expected to occur between the mobile robot units (20).
[0139] The upper level state information selection unit (4113) selects the constraint table generated by the upper level state information generation unit (4111) and the cost function value for the corresponding driving path.
[0140] Such a constraint table and cost function value are stored in the server storage unit (12) and transmitted to the lower level finding unit (420). Among the upper level state information, the upper level state information for the target mobile robot (20) is transmitted to the lower level finding unit (420), and the driving path for the target mobile robot unit (20) is calculated in the lower level finding unit (420). At this time, the information transmitted to the lower level finding unit (420) may additionally receive planning information in addition to the upper level state information including the constraint table. The planning information at this time may include the current location of the target mobile robot unit (20), that is, the current node information and the arrival time for the current node information.
[0141] Here, the transmission may be a direct transmission of data, or may be a transmission of a flag signal that causes the lower level finding unit (420) to perform a new driving path search that excludes collisions using the constraint table and cost function values stored in the server storage unit (12), and various configurations are possible.
[0142]
[0143] Meanwhile, the driving path information update unit (4120) receives and updates the driving path information of the mobile robot unit (20) generated by the lower level finding unit (420). That is, in the case of the initial state, the initial driving path information arbitrarily formed in the non-standard grid map for the work environment may be used by using information on the departure node as the starting point and the arrival node as the destination in the planning information, and the driving path information update unit (4120) of the upper level finding unit (410) updates the driving path for each mobile robot unit (20) as upper level state information through the driving path formed by the lower level finding unit (420).
[0144] The upper level collision confirmation unit (4130) uses the updated driving path information to determine whether there is a collision with another mobile robot unit. That is, among the driving paths formed between individual mobile robot units generated by the lower level finding unit (420), the node information where a collision occurs and the collision time within the collision section of the corresponding node information are checked, and the node information and node time where such collision may occur are transmitted to the upper level state information generation unit (4111) of the upper level state information formation unit (4110) to generate a constraint table and update the constraint conditions, which are nodes that must be avoided during path search.
[0145] More specifically, the upper level collision verification unit (4130) includes an upper level collision verification unit (4131), an upper level collision judgment unit (4133), and an upper level collision constraint update unit (4135).
[0146] The upper level collision verification unit (4131) uses updated driving path information to compare whether there is a collision with another mobile robot unit and checks node information where a collision may occur. The upper level collision verification unit (4131) of the present invention includes an upper level driving information verification unit (41311), an upper level overlap information verification unit (41313), and an upper level physical collision verification unit (41315).
[0147] The upper level driving information confirmation unit (41311) confirms the driving path of multiple mobile robot units and the time zone along the driving path.
[0148] The upper level overlap information verification unit (41313) verifies overlap information of nodes or node sections that overlap in the same time zone for the driving route and time zone verified in the upper level driving information verification unit (41311).
[0149] The upper level physical collision confirmation unit (41315) uses the environmental information on the overlap information and the driving speed information and size information of multiple mobile robot units (20) to confirm whether there is a collision within the overlap section.
[0150] That is, the possibility of such a collision is determined through a two-step cross-check. That is, it is determined by checking whether there is a node corresponding to an overlapping area between the individual paths of the individual mobile robot units and, if there is a node, whether it exists in the same time zone. It is clear that a physical collision does not occur in the case of cross-travel in different time zones even if an overlapping area exists in space. Therefore, the data of the driving path of the mobile robot unit (20) generated by the lower level finding unit (420) in the upper level collision confirmation unit (4130) includes information on the nodes on the driving path as well as the time of arrival and stay at the corresponding node.
[0151] The upper level collision determination unit (4133) uses updated driving path information to determine whether there is a node that could cause collision with another mobile robot unit.
[0152] In addition, the upper level collision confirmation unit (4130) includes an upper level collision constraint update unit (4135). If the upper level collision determination unit (4133) determines that there are multiple nodes where a collision may occur, the upper level collision constraint update unit (4135) updates the constraint table by adding information on nodes where a collision may occur and the node time in a preset manner. The priority for multiple collision occurrences may be determined in various preset manners depending on the design specifications, but the upper level collision constraint update unit (4130) of the present embodiment applies the time criterion. That is, if the upper level collision determination unit (4133) determines that a collision occurs at multiple points, the upper level collision constraint update unit (4135) can identify the most advanced node among the multiple collision points, that is, the node with the earliest collision time, and update the constraint table assigned to the two mobile robot units (20) where a collision occurs at the node with information on the node as a collision-prone node and the expected collision time as a constraint condition. At this time, various modifications are possible, such as updating the constraint table of either one of the two mobile robot units (20) that are the collision target, or updating the constraint tables of both.
[0153]
[0154] A plurality of mobile robot units running under such an overall working environment may be implemented as mobile robot units of the same type, but at least one of them may be of a different type. That is, the plurality of mobile robot units (20) may have a structure including at least one heterogeneous mobile robot unit. In this case, user command information or planning information input by the user and information such as the driving speed and size of the corresponding robot mobile unit used when searching for a driving path in the lower level finding unit (420) described below are also individually stored, so that more accurate driving status prediction and collision prediction, etc. can be possible in searching for a driving path.
[0155] In addition, in the case of heterogeneous mobile robot units, the model and type or output of the unit drive unit may be different, and a difference may occur between the actual output performance and the specification output due to differences in the lifespan or accumulated driving distance, etc., and thus, the individual information of such mobile robot units may be used as mobile robot detection information and as a factor for adjusting the cost function value in selecting a driving path through the cost function value in the lower level finding unit (420) described below, and various configurations are possible.
[0156]
[0157] Meanwhile, the robot path finding module (40) of the present invention includes a lower level finding unit (420). The lower level finding unit (420) includes a lower level status information forming unit (4210), a lower level end determination unit (4220), and a node edge attribute generating unit (4230).
[0158] The lower level status information forming unit (4210) calculates lower level status information using the constraint table generated by the upper level finding unit (410). At this time, the lower level status information includes driving path information of the mobile robot unit (20) and node attribute information for nodes and edges constituting the driving path.
[0159] More specifically, the lower level state information forming unit (4210) includes a lower level state information generating unit (4211) and a lower level state information selecting unit (4213). Here, the lower level state information generating unit (4211) uses the constraint table and node attribute information generated by the upper level finding unit (410) to calculate a cost function of a driving path for a target mobile robot unit among the mobile robot units (20) and updates the driving path information.
[0160] At this time, various path calculation algorithms such as the A* algorithm, Dijkstra algorithm, and D* algorithm can be used to calculate the cost function of the driving path for the target mobile robot unit and to update the calculation of driving information. In this embodiment, the A* algorithm was used.
[0161] The current target mobile robot unit uses information about the current node where it is currently located, the departure node as the starting point, the target node as the target for the driving path search, and the arrival node as the destination. Since the driving path is updated, the current node where it is currently located may be assigned as a new starting node each time the path is searched, and the node that is the target of the path search through the derivation of the cost function from the departure node to the arrival node is set as the target node, and when the sum of the cost functions from the departure node (S) to the target node (T) is kb(n), and the sum of the cost function values from the target node (T) to the arrival node (D) is h(n), the sum of the path cost function values (f(n)) for the searched driving path is expressed as follows.
[0162]
[0163] Here, h(n) for deriving the sum of the cost function values from the target node (T) to the arrival node (D) is a heuristic function, and in this embodiment, the Manhattan distance method that restricts diagonal driving is used even in an irregularly structured grid. However, other calculation methods such as the diagonal distance method and the Euclidean distance method can be applied.
[0164] Meanwhile, in the present invention, in order to obtain the sum kb(n) of the cost function, a velocity profile that takes into account the characteristics from the starting node to the target node is used in this embodiment.
[0165] The present invention calculates an edge time through a velocity profile, and adds the node time required to form a waiting state at a target node until the time when another mobile robot unit expected to collide with the calculated edge time leaves the expected collision zone, thereby calculating a final kb(n) cost function value from a starting node to a node expected to collide, occupied by re-entry after waiting, and then switched to a target node, and then a heuristic cost function value h(n) for a collision-free area is calculated and added, thereby deriving a sum of the final cost functions.
[0166] That is, the target node of the present invention is assigned the node properties of the target node depending on whether or not it can enter the neighboring node. At this time, the node properties assigned to the target node are assigned the properties of the edge before the target node and / or the edge after the target node, and the node properties and the edge properties have corresponding velocity profiles. That is, a preset velocity profile is applied according to the properties assigned to the edge and the node connecting the nodes, so that the travel time at the edge can be calculated as a cost as described below, and can be utilized for path search through calculation of the cost function value for the corresponding section or the entire path.
[0167] Here, various configurations are possible, such as adding a rotation cost function value that takes into account the rotation state depending on whether the driving path is non-straight or not in terms of whether it is possible to enter a neighboring node.
[0168]
[0169] In addition, the lower level state information forming unit (4210) of the present invention includes a lower level state information selecting unit (4213).
[0170] The lower level state information selection unit (4213) selects node information for the driving path generated by the lower level state information generation unit (4211) and selects a target node.
[0171] That is, by using planning information including a constraint table formed in an upper level state information forming unit (4110), upper level state information including driving path information, and current node information including a departure node of a departure location, an arrival node of a destination location, and a current node position and time of a current location of a target mobile robot unit (20), lower level state information such as changing a target node constituting a driving path formed in a lower level state information generating unit (4211) is selected, and at this time, the target node can be changed and selected from a current node of a current location to an arrival node.
[0172]
[0173] The lower level end judgment unit (4220) checks whether the search for a driving path to the destination of the mobile robot unit (20) is complete. Completion of the search for a driving path may include checking whether the target node for the driving path of each mobile robot unit has reached the goal node, i.e., the final destination, and checking whether the search for the driving path for the driving path of all mobile robot units is complete.
[0174] That is, the lower level end judgment unit (4220) determines whether the entire driving path has been formed, by checking whether the destination node on the grid node map corresponding to the destination has been reached, thereby checking whether the entire driving path has been searched for the corresponding mobile robot unit.
[0175] Of course, the driving path searched at this time is formed by multiple nodes and edges between the nodes, and the edge time as the driving time can be confirmed through the node time at each node. If the lower level end determination unit (4220) determines that the target node of the mobile robot unit (20) has reached the arrival node as the destination, it determines that the driving path search for the corresponding mobile robot unit (20) is completed, and the driving path information as the result of the completed search is transmitted to the upper level finding unit (410).
[0176] Conversely, if the lower level end determination unit (4220) determines that the target node of the mobile robot unit (20) has not reached the arrival node as the destination, it determines that the driving path search for the corresponding mobile robot unit (20) is not completed, and the driving path search is continued to assign attributes through the node edge attribute creation unit (4230) and form lower level state information through the lower level state information formation unit (4210), and the target node is changed to continue the path search.
[0177] Additionally, in some cases, the lower level end judgment unit (4220) may determine whether the search for the corresponding driving path of each mobile robot unit (20) has been completed.
[0178] In addition, if it is determined in the lower level end determination unit (4220) that the destination node, which is the goal node, has not been reached, i.e., if it is determined that the driving path search of the individual mobile robot unit (20) has not been completed, a process for path search is executed.
[0179] The node edge attribute generation unit (4230) generates node attribute information by considering whether it is possible to enter a neighboring node (N) adjacent to a target node (A) from a target node that constitutes a state path as a driving path. The drawing shows the current node where the mobile robot is currently located, i.e., the starting node (S), the target node (A) as a moving target on the driving path, and the neighboring node (N) adjacent to the target node, where the attribute of the target node (A) is determined based on whether it is possible to enter the neighboring node and the driving status at the neighboring node.
[0180]
[0181] At this time, the properties of the target node are expanded to a continuous driving node or a non-continuous driving node depending on whether the target node and the neighboring node are entered and whether the neighboring node is a straight driving or curved driving or a curved or bending driving requiring a sharp turning motion.
[0182] More specifically, the judgment and creation of these attributes are performed through a node edge attribute generation unit (4230). The node edge attribute generation unit (4230) includes a node existence confirmation unit (4231), a movable node confirmation unit (4233), and a node attribute assignment unit (4235).
[0183] The node existence verification unit (4231) verifies the existence of a neighboring node adjacent to the target node from the target node that constitutes the state path. That is, the node existence verification unit (4231) can verify the existence of a neighboring node by using the initially set driving path information or the calculated driving path information to verify whether a node adjacent to the target node exists in the direction of the driving path.
[0184] If the node existence confirmation unit (4231) determines that a neighboring node (N) exists, the movable node confirmation unit (4233) confirms whether the mobile robot unit (20) can enter and move to the confirmed neighboring node. At this time, whether or not the neighboring node can be entered and moved can be determined through the following types. In the present embodiment, it is confirmed whether the node is a continuous travel node that can continuously travel from the target node to the neighboring node, or a non-continuous travel node that cannot continuously travel and requires a predetermined stop operation.
[0185] That is, if the movable knob verification unit (4233) determines that there is no other mobile robot unit (20) in the neighboring node, it verifies the node as a node that can directly enter the neighboring node from the target node.
[0186] In addition, the movable node verification unit (4233) verifies that if a time state is formed in which a collision occurs with another mobile robot unit in the neighboring node, the node is verified as a node that cannot be directly entered from the target node.
[0187] The movable node verification unit (4233) verifies that the node does not collide with other mobile robot units in the neighboring node, but requires curved driving that causes rapid rotational motion when entering the neighboring node and driving to the subsequent node.
[0188] In this way, whether a node is movable is confirmed by the movable node confirmation unit (4233), and the node attribute assignment unit (4235) assigns attributes to the target node depending on whether direct entry to the neighboring node confirmed by the movable knob confirmation unit (4233) is possible. If movement to the neighboring node is possible, the node attribute assignment unit (4235) uses the curvedness and rotation angle information of the edge section connecting the target node and the neighboring node to assign node attributes depending on whether continuous entry is possible if movement to the neighboring node is possible.
[0189] That is, the node attribute assignment unit (4235) confirms and assigns the continuous driving node attribute to the target node when the mobile robot unit (20) can continuously drive without stopping at the target node, and confirms and assigns the non-continuous driving node attribute to the target node when the mobile robot unit (20) can drive into the target node after stopping at the target node.
[0190] In more detail, Figs. 12 to 14 illustrate node attribute types according to whether entry to a neighboring node is possible and whether a non-straight path is driven. Here, a target node (A) is placed on the right side of the node where the mobile robot unit (20) is located, and a neighboring node (N) is placed adjacent to the target node (A). In all three cases of Figs. 12 to 14, the neighboring node (N) exists on the left side of the target node (A). In the case of Fig. 12, direct entry from the target node (A) to the neighboring node (N) is possible, and in this case, the node attribute for the target node (A) is defined as a continuous node, and the continuous node indicates a state in which there is no need to reduce the entry speed of the mobile robot unit (20) to the target node (A).
[0191] In the case of Fig. 13, when a neighboring node (N) forms an occupied state at a later point in time, it is not easy to directly enter the neighboring node (N) from the target node (A) and a predetermined waiting state must be formed or a speed must be reduced to delay entry to the neighboring node. In this case, it is defined as a non-continuous node that must practically enter the target node (A) and form a stop state.
[0192] In the case of Fig. 14, it is a case where direct entry from the target node (A) to the neighboring node (N) is possible, but a non-straight line is arranged between the node where the current mobile robot unit (20) is located and the neighboring node centered on the target node, and a predetermined angle change occurs in the driving path. That is, an angle (θ) is formed and changed between the driving path vector formed by the node where the current mobile robot unit (20) is located and the target node (A), and the driving path vector formed by the target node (A) and the neighboring node (N), so that deceleration is necessary for stable turning driving. Even in this case, the node attribute for the target node (A) is defined as a discontinuous node, and it is a case where direct entry from the target node (A) to the neighboring node (N) is not easy, and a predetermined waiting state must be formed or the speed must be reduced to delay entry to the neighboring node, and it is defined as a discontinuous node that must practically form an entry and stop state to the target node (A).
[0193]
[0194] In other words, if the movable knob verification unit (4233) determines that no other mobile robot unit (20) exists in the neighboring node and thus verifies that the node is a node that can be directly entered from the target node to the neighboring node, the node attribute assignment unit (4235) assigns a continuous driving node attribute to the target node, and if the movable node verification unit (4233) determines that a time state in which a collision occurs with another mobile robot unit in the neighboring node is formed, that direct entry from the target node to the node is not possible or that a curved driving that causes a rapid turning motion is required when entering the neighboring node and driving to the subsequent node, or that an angular rotation greater than a preset rotation angle is required, the node attribute assignment unit (4235) assigns a non-continuous driving node attribute to the target node.
[0195]
[0196] In addition, the node edge attribute generation unit (4230) transfers the generated node attribute information to the lower level state information formation unit (4210). The lower level state information formation unit (4210) uses the generated node attribute information to reflect the cost function value according to whether continuous driving or discontinuous driving is performed, thereby enabling more accurate driving path search.
[0197] That is, the lower level state information forming unit (4210) uses the constraint table and node edge attribute information generated by the upper level finding unit (410) to calculate a cost function of a driving path for a target mobile robot unit among the mobile robot units (20) and updates the driving path information.
[0198] At this time, the lower level state information forming unit (4210) uses continuous driving node properties or non-continuous driving node properties, and when calculating the cost function or cost function value, it can reflect the cost function value for each edge property by using the velocity profile for each node section within the driving path that is allocated according to the node edge property and stored in the server storage unit (12).
[0199] In this way, based on the existence of a neighboring node confirmed by the node existence confirmation unit (4231) and the possibility of direct entry into the neighboring node, the node attribute assignment unit (4235) assigns the node attribute, and the lower-level state information formation unit (4210) calculates the cost function value through different velocity profiles for each combination of edge attributes assigned to the edge connecting the node-node, i.e., the node section, having the assigned attribute. In this embodiment, the velocity profile for the edge connecting the node-node section is set as follows, but the present invention is not limited thereto and various profiles can be formed.
[0200] That is, in the case of this embodiment, as shown in the drawing, depending on the properties of the current node where the mobile robot unit (20) is located and whether or not entry is possible between the neighboring nodes of the target node, depending on the node properties between nodes.
[0201] 1) Discontinuous-discontinuous
[0202] 2) Continuous-discontinuous
[0203] 3) Discontinuous-continuous
[0204] 4) Continuous-Continuous
[0205] The configuration can be classified by a combination of nodes, and each node forming a combination of node properties can have different velocity profiles for its edges, so that edge properties can be assigned between nodes.
[0206] Figures 15 to 18 illustrate velocity profile types for forming edge properties for the four cases described above. For each of the cases 1) to 4), the edge time, i.e., the cost function value (kb(n)) based on the velocity profile, can be calculated as follows.
[0207] 1)
[0208]
[0209]
[0210]
[0211] 2)
[0212] 3)
[0213]
[0214]
[0215] 4)
[0216]
[0217] Here, vmax represents the maximum driving speed of the mobile mobile robot (20), v represents the driving speed of the mobile mobile robot (20), s represents the driving distance of the mobile mobile robot (20), a represents acceleration, and edge time represents the time required to move in an edge section. Through this configuration, the distance between nodes and the kinematics of the mobile robot unit can be reflected and utilized as at least a part of the cost function value of the corresponding section. In this embodiment, constants for forming such a velocity profile are common values for the same mobile robot unit, but in some cases, when different types of mobile robot units are used, the constant values such as vmax, v, a, etc. that form the velocity profile may change depending on the model. The velocity profile described above is an example of the present invention, and the configuration of the present invention is not limited thereto, and various implementations are possible depending on the design specifications.
[0218] By calculating edge time as edge information for edges connecting nodes based on node attribute information such as this, it is possible to calculate the time cost for avoiding collisions and preventing rollovers, etc., depending on the driving environment, and for safe driving from the starting point to the destination.
[0219] That is, by assigning such adaptive driving environment properties, it is possible to derive a more accurate cost function value that reflects whether there is a collision, whether there is entry into a neighboring node, and whether there is a non-linear driving path depending on the driving time of the mobile robot unit for the same edge section in the space of the work environment, thereby enabling the derivation of an optimized path appropriate for the driving environment.
[0220] Through a series of processes in the lower level finding unit (420), a driving path search is performed for the mobile robot unit (20) that is the target of the driving path search. In the lower level finding unit (420) of the present invention, the driving path search can be performed in various ways, such as individually or collectively processing the mobile robot units selected by the upper level finding unit (410) depending on whether they are individually selected or selected as a whole.
[0221]
[0222] Figures 33 to 36 illustrate a configuration classification type having a combination according to node properties and edge properties between nodes previously implemented, Figure 37 illustrates an example of a case where there are no neighboring nodes, and Figure 38 illustrates an example form of a cost function of a driving route according to such node properties and edge properties.
[0223] In (a) and (b) of Fig. 33, edge properties having a velocity profile for a continuous-continuous driving type are illustrated. When the current location node where the mobile robot unit (20) is currently located is P, the target node for path search is A, and the neighboring node of A is N, if there is a neighboring node N in the driving path search direction of A and the node property of P is a continuous driving node, the edge between the nodes P and A is classified as a continuous-continuous driving type and is given a flat section edge property in which the leading, middle, and trailing ends all maintain a preset speed so as not to reduce the speed as illustrated by the velocity profile.
[0224] In (a), (b), and (c) of FIG. 34, edge properties having velocity profiles for discontinuous-continuous, discontinuous-discontinuous, and continuous-discontinuous driving types are respectively (a) a front transition edge property that forms an acceleration state from a standstill state at the leading edge and a flat section edge property at the middle and trailing edge, (b) an edge-side transition edge property that forms an acceleration state from a standstill state at the leading edge and a deceleration state at the bottom, specifically, an edge property that forms an acceleration state from a standstill state at the leading edge and a flat section edge property at the middle, an edge-side transition edge property that forms a deceleration state at the trailing edge, and (c) a rear transition edge property that forms a deceleration state at the trailing edge by including a flat section edge property at the leading edge and the middle, and a rear transition edge property that forms a deceleration state at the trailing edge.
[0225] In (a)(b) of Fig. 35, there is shown an edge property having a velocity profile for a continuous-discontinuous driving type in which a neighboring node can be temporarily occupied by another mobile robot unit, and a rear-side transition edge property is given as a node property that must form a stop state after entering a target node when a neighboring node (N) exists and is not occupied, but the driving path forms a non-straight path state or a future occupied state is reserved for the neighboring node.
[0226] Figure 36 illustrates a type of edge side transition edge property similar to Figure 35 but with a velocity profile for a discontinuous-discontinuous driving type in which neighboring nodes can be temporarily occupied by other mobile robot units.
[0227] Figure 37 illustrates a state in which there is no neighboring node (N) connected to the target node (A).
[0228] Fig. 38 illustrates an example of path search for a series of driving paths formed through the above node properties and edge properties, in which the left node is the node position currently occupied by the mobile robot unit, and the target node is changed to the rightmost arrival node, and the searched edge properties are shown, and the cost function value is calculated in the form of a function of kb(n) for the previous node path centered on the target node (A) that is the search target, and the cost function value can be calculated in the form of a heuristic function of h(n) for the nodes after the target node (N), as described above.
[0229]
[0230] In addition, examples of straight driving, non-straight driving, non-straight driving for collision avoidance, etc. are shown in FIG. 39. First, FIG. 39 shows the current location node of the mobile robot unit (20) of the P node, and the path search target node is A. In this case, since the neighboring node (N) of A exists and is in an enterable state, it becomes possible to enter the target node (A) in a form with a flat edge section attribute, thereby transitioning to the state of FIG. 40.
[0231] In Fig. 40, the indication of the mobile robot unit (20) may not actually indicate a state of being adjacent to an adjacent node each time, but may be a virtual line depicted to mean that the target node is changed. In Fig. 40, a new target node (A) and a neighboring node (N) are set, and entry into the neighboring node is also possible, so that the previous node and the new target node (A) have a continuous-continuous property, and the edge in the section between them may have a flat edge section property. As shown in Fig. 41, if the new target node (A) is a node at a bending intersection position, the neighboring nodes (N1, N2) each exist, but if it is necessary to specify them as neighboring nodes in the driving direction or confirm through a minimum cost search, whether or not to enter all of the neighboring nodes (N1, N2) is confirmed, and when the entry direction vector angle exceeds a preset value, the entry speed into the target node has a rear transition edge property with a velocity profile of a deceleration or stop state.
[0232] In the case of FIGS. 42 to 44, it is similar to the case of FIGS. 39 to 41, but when another mobile robot unit (20) is driving around the node of the intersection point and the intersection node is made a neighboring node, a configuration (FIGS. 42 and 43) having at least a rear transition edge property from the previous target node (A) is adopted, thereby enabling a path search that avoids collision with another mobile robot unit (20). Although not explicitly described in the present embodiment, in the case of FIG. 42, if an additional stop state maintenance at the target node before an additional intersection point is required, a cost function value due to an additional stop time may be added to search for a minimum cost function value, and various modifications are possible.
[0233]
[0234] Meanwhile, various methods may be applied to form node properties and edge properties on the driving path included in such lower-level state information. The mobile robot unit of the mobile robot system (1) of the present invention may be a single type, but the physical specifications of two or more different types of mobile robot units, i.e., heterogeneous mobile robot units, may be reflected in the formation of node or edge properties, ultimately enabling cost function calculation and path search reflection.
[0235] In Fig. 19, in a work environment where diagonal intersections are required, different types of mobile robots must cross-drive each other. When one mobile robot unit (20a) proceeds with the drawing symbol A1a-Ac-A2a and another type of mobile robot unit (20b) proceeds with the drawing symbol A1b-Ac-A2b to form a driving path to cross-drive the node indicated by the drawing symbol Ac, even if it is the same node (Ac), a difference in time and space occurs when one mobile robot unit (20a) and another type of mobile robot unit (20b) occupy the corresponding node (Ac).
[0236] Accordingly, when calculating the properties of the node or the connection edge properties, it is possible to derive a more accurate cost function value by adjusting the cost by reflecting the information on the space occupied area for each mobile robot unit as an increase or decrease in the occupancy time or movement time, and through this, it is possible to prevent unnecessary collisions or excessive time delays for collision prevention.
[0237]
[0238] Meanwhile, FIGS. 20 to 23 illustrate a series of path search processes according to an embodiment of the present invention. When two mobile robot units (20; 20-1, 20-2) are designed to travel along their respective travel paths, the upper level finding unit (410) checks whether the two mobile robot units (20; 20-1, 20-2) collide. First, the searched travel path (PTH1) for the first mobile robot unit (20-1) is set, and the searched travel path (PTH2) for the second mobile robot unit (20-2) is set. The upper level collision checking unit (4130) checks the node information of the node positions and the corresponding overlapping time that intersect at the same time, and transmits the information to the upper level status information forming unit (4110) of the upper level finding unit (410). When the upper level status information forming unit (4110) determines that a collision-prone node (I1, I2) or a collision node section is to occur, it calculates node information including the location of the node in the section where the collision occurs and the time at the node where the collision is expected, and transmits and updates this to the constraint table.
[0239] Based on the updated constraint table, the lower level finding unit (420) searches for a new driving path using the constraint table and the previously searched driving path. That is, the node edge attribute generation unit (4230) sets the point where the first mobile robot unit (20-1) waits as a target node, sets the expected node (I1) where a collision is expected as a neighboring node (N1), reports it as a state in which immediate entry is impossible, sets the target node as a discontinuous driving node, and recalculates the cost function in the lower level state information formation unit (4210) by considering the waiting time at the target node and the edge time for the discontinuous driving node, and passes it through the lower level end determination unit (4220).
[0240] When the second mobile robot unit (20-2) moves from the expected node (I1) where a collision is expected to occur to the expected node (I2), the first mobile robot unit (20-1) changes the previous expected node (I1) where a collision is expected to occur to a new target node, checks new properties for it, and repeats the process of calculating the cost function again.
[0241] When the second mobile robot unit (20-2) deviates from the expected node (I2) where a collision is expected, the first mobile robot unit (20-1) changes the previous expected node (I2) where a collision is expected to be expected to a new target node, checks new properties for it, and calculates the cost function again, repeating the process, and when the final arrival node is reached through the lower level end determination unit (4220), the driving path is confirmed as the newly searched driving path and transmitted to the upper level finding unit (410).
[0242]
[0243]
[0244] Hereinafter, a method for controlling a mobile robot system of the present invention will be described with reference to the drawings of the present invention.
[0245] First, the mobile robot system control method of the present invention includes a path search step (S10) and a path driving execution step (S70), and may include a provision step (S1) and a preparation step (S2) before the path search step (S10).
[0246] First, a provision step (S1) is executed to provide a mobile robot system (1) including a plurality of mobile robot units (20) and a mobile robot server (10), wherein the mobile robot server (10) searches, updates, and confirms a driving path of the mobile robot unit (20), and the mobile robot unit (20) executes a driving motion to execute a predetermined task or job in a work environment.
[0247] Afterwards, a preparation phase (S2) is executed. In the preparation phase (S2), planning information including the destination and arrival point and mobile robot status information transmitted from multiple mobile robot units (20) are compiled and prepared.
[0248] The preparation phase (S2, see FIG. 25) may include an operation command input phase (S2a) and an information gathering phase (S2b).
[0249] In the operation command input step (S2a), operation information such as a job or task to be executed by the mobile robot unit (20), information on the starting point and destination for executing the job or task, and specification information such as the maximum speed and maximum output of the mobile robot unit, can be input. The input of such operation information can be input through a user terminal (3), a server input unit of the mobile robot server (10), or a server communication unit, and various other options are possible.
[0250] In the information gathering step (S2b), when a mobile robot unit (20) is located in a work environment, mobile robot status information of the mobile robot unit detected for the work environment is gathered. This may include surrounding environment information detected by the unit detection unit, operating status information of the mobile robot unit, and kinematic status information.
[0251] The planning information confirmed in the preparation stage (S2) includes node edge information, i.e., node properties edge properties. The node edge information may include node location information of a node forming a driving path based on the driving path information of the mobile robot unit (20), a node arrival time at the node, and edge properties of an edge that is a connection area between nodes.
[0252]
[0253] Using this collected or prepared information, a path search step (S10) is executed. In the path search step (S10), a driving path is predicted in the robot path finding module (40) of the mobile robot server (10) based on the planning information and the mobile robot status information, and a non-collision confirmed driving path is calculated by checking whether there is a collision between the mobile robot units (20). The path search step (S10) includes a path driving execution step (S70), and in the path driving execution step (S70), the mobile robot unit (20) drives according to the driving path information calculated and confirmed in the path search step (S10), and the current robot status information of each driving path is transmitted to the mobile robot server (10).
[0254] In the path driving execution step (S70) of the present invention, the mobile robot unit (20) can drive in an irregular work environment that can be defined as an irregular grid of nodes and edges and in which the distances of at least two edges among the edges are different.
[0255] More specifically, in the path search step (S10), the cost for the driving path is differentiated based on whether the node can move when searching for the driving path, and the driving path is calculated with the minimum cost.
[0256] The path search step (S10) includes an upper level status information formation step (S30), a lower level search step (S40), an upper level status information update step (S100), and a collision detection step (S110). The path search step (S10) is executed in the robot path finding module (40) through control for path search of the server control unit (11).
[0257] First, in the upper level status information forming step (S30), upper level status information including a constraint table of collision spatiotemporal node information of spatiotemporal overlap nodes between the driving paths of the mobile robot units (20) is formed using the planning information and the mobile robot status information. The upper level status information forming step (S30) is executed in the upper level finding unit (410) as described above. More specifically, a constraint table is generated using the planning information input in the upper level status information forming unit (4110) of the upper level finding unit (410). The user command information may include the starting point, destination or waypoint of the mobile robot unit (20), and task information to be performed at the corresponding start, middle or end points, job information, etc., and the surrounding environment information may include whether an individual mobile robot unit (20) has reached the starting point, waypoint or destination on the driving path, or surrounding environment information acquired during the driving process, as described above.
[0258] Here, the upper level state information can be modified in various ways, such as including all planning information and mobile robot state information in addition to the confirmed predicted path information and the cost function value for the predicted path information, or can be utilized as individual states.
[0259] In the lower level search step (S40), lower level state information is searched and generated, thereby deriving a new path reflecting the constraint table. The lower level search step (S40) is executed in the lower level finding unit (420). In the lower level search step (S40), lower level state information including the driving path information of the mobile robot unit is searched and generated, and the attributes of the target node forming the driving path information for the predicted selected path on the upper level state information and the mobile robot state information are used for this search and generation.
[0260] In the lower level search step (S40), lower level state information including the driving path information of the mobile robot is searched and generated using the attributes of the target node and the mobile robot state information that form the driving path information on the upper level state information.
[0261] In the upper level status information update step (S100), the upper level status information is updated using the mobile robot's driving path information generated in the lower level search step (S40). The upper level status information update step (S100) is executed in the driving path information update unit (4120) of the upper level finding unit (410).
[0262] The collision detection step (S110) is executed in the upper level collision verification unit (4130). In the collision detection step (S110), the planning information and mobile robot status information are used to check the collision spatiotemporal node information of the spatiotemporal overlapping node between the driving paths of the mobile robot units (20), and the constraint table is updated and calculated.
[0263] More specifically, in the upper level state information formation step (S30), upper level state information including a constraint table and driving path information for collision prediction nodes between mobile robot units (20) is formed, and the driving path information includes cost function value information for each driving path.
[0264] The lower level search step (S40) includes a lower level status information formation step (S41) and a lower level end confirmation step (S43).
[0265] In the lower level state information formation step (S41), the cost function value for each node section according to the node properties is calculated and the driving route is updated. This step is executed in the lower level state information formation unit (4210).
[0266] The lower level state information forming step (S41) includes a lower level state information generating step (S411) and a lower level state information selecting step (S413). In the lower level state information forming step (S41), a cost function value for each node section according to node and edge properties is calculated, and lower level state information including a driving path is updated and calculated. In the lower level state information selecting step (S413), a target node is selected among the driving paths using the location information of the mobile robot unit (20) and the last node of the driving path calculated in the lower level state information generating step (S411).
[0267] More specifically, in the lower level state information generation step (S411), the constraint table and node attribute information generated in the upper level finding unit (410) are used through the lower level state information formation unit (4210) to calculate the cost function of the driving path for the target mobile robot unit among the mobile robot units (20), and the driving path information is updated.
[0268] As described above, various path calculation algorithms such as the A* algorithm, Dijkstra algorithm, and D* algorithm can be used to calculate the cost function of the driving path for the target mobile robot unit and to update the calculation of driving information. In this embodiment, the A* algorithm was used.
[0269] The lower level state information selection step (S413) is executed through the lower level state information selection unit (4213) of the lower level state information formation unit (4210). The lower level state information selection unit (4213) selects a subsequent target node at the rear end of the driving route formed and updated in the lower level state information generation step (S411) through the lower level state information formation unit (4210) to continue updating the driving route. That is, in the lower level state information selection step (S413), node information for the driving route formed in the lower level state information generation unit (4211) is selected, and a target node is selected. In the A* algorithm of this embodiment, the target node is a node connected to the last node on the driving path determined in the previous step. In some cases, multiple target nodes may be formed. Through comparison of the driving path cost function values described above, a path with a smaller cost function value can be selected as the driving path, and subsequent steps of the unselected target node are excluded from subsequent path calculation. (Confirmation required)
[0270] That is, as described above, in the lower level state information selection step (S413), the planning information including the constraint table formed in the upper level state information forming unit (4110), the upper level state information including the driving path information, and the current node information including the departure node of the departure location, the arrival node of the destination location, and the current node position and time of the current position of the target mobile robot unit (20) is used to select the lower level state information such as changing the target node constituting the driving path formed in the lower level state information generating unit (4211). At this time, the target node can be changed and selected from the current node of the current location to the arrival node.
[0271] After that, the lower level end confirmation step (S43) is executed. In the lower level end confirmation step (S43), it is confirmed whether the driving path update of the mobile robot unit (20) has been completed. In the lower level end confirmation step (S43), it is confirmed whether the target node of the updated driving path matches the arrival node of the destination.
[0272] The lower level end confirmation step (S43) includes a target node comparison confirmation step (S431), a lower level goal arrival determination step (S433), and a lower level end determination step (S435).
[0273] In the target node comparison verification step (S431), the current target node and the destination information in the planning information are compared and verified. In the lower level goal arrival determination step (S433), it is determined whether the current target node and the destination information match.
[0274] In the lower level end determination step (S435), if it is determined that the mobile robot unit (20) has arrived at the destination in the lower level goal arrival determination step (S433), it is checked whether the driving path search is executed in the arrival status for all driving paths.
[0275] If it is determined that the mobile robot unit (20) has not arrived at the destination in the previous lower level goal arrival determination step (S433), the control flow switches to step S45.
[0276] That is, the lower level search step (S40) may include a lower level status information formation step (S41), a lower level end confirmation step (S43), and a neighboring node confirmation step (S45).
[0277] The neighbor node verification step (S45) is a step to verify the existence of a node that can be connected to the rear end of the target node, i.e., in the direction of the driving path of the mobile robot unit (20). The neighbor node verification step (S45)
[0278] It includes a neighbor node check step (S451), a neighbor node existence determination step (S452), and a neighbor node entry-possibility determination step (S453). As described above, it is performed through a node edge attribute generation unit (4230), and the node edge attribute generation unit (4230) includes a node existence confirmation unit (4231), a movable node confirmation unit (4233), and a node attribute assignment unit (4235).
[0279] In the neighbor node check step (S451), the neighbor node behind the target node is checked and confirmed. Even if multiple nodes are connected, individual checks may be performed. Using the value checked in the neighbor node check step (S451), it is confirmed whether the neighbor node exists in the neighbor node existence determination step (S452). In other words, it is determined whether the neighbor node confirmed in the neighbor node check step (S451) exists.
[0280] The neighbor node check step (S451) and the neighbor node existence determination step (S452) are performed through the node existence confirmation unit (4231), and the existence of neighbor nodes adjacent to the target node is confirmed from the target node that constitutes the path driving status path.
[0281] In the neighboring node entry possibility determination step (S453), if it is determined and confirmed that a neighboring node of the target node exists in the neighboring node existence determination step (S452), it is determined whether entry into the neighboring node is possible. If the movable knob confirmation unit (4233) determines that no other mobile robot unit (20) exists in the neighboring node, it confirms that the node can be entered directly from the target node to the neighboring node.
[0282]
[0283] Meanwhile, this neighbor node verification step (S45) goes beyond simple verification of neighbor nodes and verifies whether the path the mobile robot unit wants to drive is a straight line structure that allows acceleration movement or a non-straight line path that must focus on stable driving, and the node is verified accordingly.
[0284] The neighbor node confirmation step (S45) includes a turning driving judgment step (S458) and a node attribute determination step (S459). In the turning driving judgment step (S458), if it is determined in the neighbor node entry possibility judgment step (S453) that entry into the neighbor node is possible, it is confirmed whether turning driving is necessary between the target node and the neighbor node.
[0285] The turning driving judgment step (S458) includes a non-straight path judgment step (S454) and a path direction vector angle comparison step (S455).
[0286] If it is determined in the neighboring node entry possibility determination step (S453) that entry into the neighboring node is possible, in the non-straight path determination step (S454), it is determined whether a non-straight path is driven between the target node and the neighboring node. In other words, it is determined whether the driving path to the mobile robot unit (20) is a straight driving path that can be accelerated if necessary, or a turning section that requires stable driving through deceleration.
[0287] After that, the path direction vector angle comparison step (S455) is executed, and if it is confirmed in the non-straight path determination step (S454) that the driving is a non-straight path between the target node and the neighboring node, the path direction vector angle comparison step (S455) compares the path direction vector angle of the driving path from the target node to the neighboring node with the preset angle, and various modifications are possible, such as making deceleration unnecessary even in a non-straight section or implementing differentiation of the degree of deceleration even in a deceleration request section.
[0288] In the node attribute determination step (S459), the node attribute of the target node is determined based on the judgment result in the turning driving judgment step (S458).
[0289] Through this configuration, node and edge properties are assigned, and through this, the lower level state information is updated again to obtain a driving path according to the calculation of a predetermined cost function value and the minimum value selection method, and finally, after the lower level termination judgment is executed, the upper level state information is updated with the newly searched driving path information.
[0290] That is, the driving path information in the newly searched lower level status information is updated with new driving path information through the driving path information update unit (4120) of the upper level finding unit (410).
[0291] The upper level finding unit (410) checks the possibility of expected collision for the updated plurality of mobile robot units. That is, the collision check step (S110) is executed through the upper level collision check unit (4130) of the upper level finding unit (410), and the collision check step (S110) includes an upper level status information check step (S111), a collision expected node check judgment step (S112), a front-end collision expected node check step (S113), and a constraint table update step (S114).
[0292] In the upper level status information confirmation step (S111), upper level status information including the driving path information of the mobile robot updated in the upper level status information update step (S100) is confirmed.
[0293] After that, a collision prediction node confirmation judgment step (S112) is executed, and in the collision prediction node confirmation judgment step (S112), a collision prediction node where a spatiotemporal collision is expected between mobile robot units (20) is confirmed from the upper level status information.
[0294] In the step of confirming the most advanced collision prediction node (S113), the most advanced collision prediction node on the driving path of each mobile robot unit (20) is confirmed.
[0295] In the constraint table update step (S114), the constraint table is updated using the most advanced collision prediction node on the driving path of each confirmed mobile robot unit (20).
[0296] On the other hand, if it is confirmed that there is no collision prediction node where a spatiotemporal collision is expected between mobile robot units (20) from the upper level status information in the collision prediction node confirmation judgment step (S112), the control flow is transferred to the upper level search termination step (S115), and the collision detection step (S110) is terminated.
[0297] After the collision detection step (S110) is completed, the searched and confirmed driving paths of the multiple mobile robot units (20) are confirmed as a new global path and transmitted to the mobile robot units (20), and the path driving execution step (S70) is executed. That is, the path driving execution step (S70) includes a global driving information transmission step (S71), a local driving path generation step (S73), a local driving path driving step (S74), and a mobile robot status information transmission step (S78).
[0298] In the global driving information transmission step (S71), the driving path information calculated and confirmed in the path search step (S10) is set as global driving information and transmitted to the mobile robot unit (20). The server control unit (11) transmits the searched and confirmed global path information to the individual mobile robot unit (20) through the server communication unit (13).
[0299] In the local driving path generation step (S73), which is executed in each individual mobile robot unit (20), an individual local driving path of each mobile robot unit (20) is generated using the global driving information transmitted in the global driving information transmission step (S71). These individual local driving paths can be generated by generating a map for driving of each mobile robot unit through the SLAM method that finds features using lidar point cloud data, etc. detected by the laser sensor (213) of the unit detection unit (21), and matching the path driving information of the corresponding mobile robot unit on the map from the received global path information, thereby generating an individualized local driving path. This process can be performed through the driving control module (221) using the location estimation module (224) and the location confirmation module (225) of the unit control unit (22) and the map information of the unit storage unit (23).
[0300] In the local driving path driving step (S74), an obstacle avoidance maneuver is performed along the local driving path generated in the local driving path generation step (S73), and the mobile robot unit (20) can drive in an irregular work environment.
[0301] After that, the mobile robot status information transmission step (S78) is executed, and the status information of the mobile robot unit (20) can be collected and transmitted to the mobile robot server (10) during the execution of the local driving path driving step (S74). That is, the mobile robot unit (20) driving along the local driving path transmits the detected surrounding environment detection information and the operation information of the unit driving unit (28) to the mobile robot server (10) through the unit communication unit (26), and the mobile robot server (10) checks the node information as the current location of the corresponding mobile robot unit (20), the current time information, etc., and the current driving speed and turning angle of the mobile robot unit (20) are transmitted in real time, and can be used to detect the lower-level status information including the driving path.
[0302]
[0303] On the other hand, although the current location information of the mobile robot unit is used in the path search of the mobile robot unit in the previous embodiment, the present invention can further take a configuration that minimizes the error in the path search and prevents the occurrence of operational chaos due to a significant location error that ultimately occurs due to the accumulation of minute errors over a long period of time.
[0304] That is, the mobile robot system control method of the present invention includes a path search step (S10) and a path driving execution step (S70), wherein in the path driving execution step (S70), the mobile robot unit (20) can drive in an irregular work environment that can be defined as an irregular grid of nodes and edges and in which at least two edges have different distances, and in the path driving execution step (S70), when the mobile robot unit (20) arrives at any one node of the driving path information while driving along the driving path information, the arrival prediction time for the transit node after the arrival node is corrected.
[0305] That is, the path search step (S10) of the present invention includes an upper level state information forming step (S30) and a lower level search step (S40). As described in the embodiments above, in the upper level state information forming step (S30), upper level state information including a constraint table of collision spatiotemporal node information of spatiotemporal overlapping nodes between the driving paths of the mobile robot units (20) is formed using planning information and mobile robot state information, and in the lower level search step (S40), lower level state information including driving path information of the mobile robot is searched and generated using the attributes of the target nodes forming the driving path information on the upper level state information and the mobile robot state information.
[0306] At this time, as illustrated in FIG. 45, the upper level status information formation step (S30) includes a transit node arrival status information confirmation step (S31), an expected time error confirmation step (S32), an expected time error existence confirmation step (S33), a forwarding transit upper level information update step (S34), and a collision check step (S35). The upper level status information formation step (S30) is executed in the upper level finding unit (410) as in the previous embodiment, and can be executed through linkage with the server operation unit (15), the server storage unit (12), and the server communication unit (13) through the control of the server control unit (11). As illustrated in Fig. 48, the upper level finding unit (410) includes an upper level status information forming unit (4110), a driving path information updating unit (4120), an upper level collision confirmation unit (4130), and a driving error forwarding collection unit (4140).
[0307] First, in the transit node arrival status information confirmation step (S31), the predicted node time information for the transit node on the driving route is compared with the transit node arrival status information acquired in the route driving execution step (S70). That is, in the transit node arrival status information confirmation step (S31), the predicted arrival time on the driving route predicted for the node and the actual arrival time confirmed upon actual arrival at the node are confirmed.
[0308] Then, in the expected time error confirmation step (S32), the difference between the predicted node time information and the transit node arrival status information is checked to confirm the expected time error. Then, the expected time error existence confirmation step (S33) is executed, and it is determined whether the expected time error confirmed in the expected time error confirmation step (S32) exists.
[0309] In the forwarding via upper level information update step (S34), if an error is determined to exist in the expected time error confirmation step (S33), the upper level information is updated by correcting the expected arrival time for the forwarding node after the occupied transit node on the driving route. That is, the predicted arrival time of the node is compared with the actual arrival time, and the time difference is confirmed as an error value, and the error value is added to all nodes after the actual arrival node on the driving route, thereby enabling immediate and direct reflection of the error between the predicted and actual time.
[0310] Through this, by executing a collision check step (S35) between mobile robot units (20) for subsequent forwarding nodes on the driving path information after error correction has been reflected, it is confirmed whether a spatiotemporal overlapping node exists using the updated upper level information. By updating such spatiotemporal overlapping nodes as expected nodes where collisions may occur, and going through the upper level state information formation step through the upper level finding module and the lower level state information formation step through the lower level finding module, a rapid and reliable path search process can be executed under the previously described non-standard work environment.
[0311] Figures 46 and 47 illustrate an example of a configuration that reflects the error correction between the predicted arrival time and the real-time arrival time when searching for a subsequent node. Figure 46 illustrates the predicted arrival time for each node, and Figure 47 illustrates the actual arrival time for the node of S1 and the predicted arrival time correction status for the subsequent forwarding node.
[0312] Nodes on the predicted path are arranged in the order of S1, S2, S3, and S4, and form predicted times of tp1, tp2, tp3, and tp4, respectively, and when expressed as ordered pairs of (path predicted node location, predicted time), they are expressed as (S1, tp1), (S2, tp2), (S3, tp3), (S4, tp4). When the actual time (t) of arriving at the node of S1 by driving the actual path is expressed as tp1+△t1, the driving error forwarding collection unit (4140) of the present invention performs batch correction for nodes after S1, thereby producing (S2, tp2+△t1), (S3, tp3+△t1), (S4, tp4+△t1).
[0313] In this way, collision confirmation using upper state information that has a value that corrects the error between the actual arrival time and the predicted time enables immediate response, thereby preventing unnecessary calculations due to accumulation of errors and deriving an accurate driving path prediction value.
[0314]
[0315] In this way, the present invention can be modified in various ways within the scope of a configuration and method that utilizes detailed driving environment information based on the presence of neighboring nodes, the possibility of entering neighboring nodes, and whether a node is driving on a straight or non-straight path for path search in an irregular work environment, thereby making it more accurate and faster and preventing inefficient path driving due to redundancy.
[0316] For example, in the case of the configuration of the present invention that changes the node edge properties by changing the velocity profile due to the change in the node-to-node properties through the possibility of entering the neighboring node as described above, a configuration that reflects the performance attenuation effect due to the service life or aging may be adopted. That is, it is difficult to maintain the initial performance specifications the same even after long-term operation due to a large load or repeated use, and if the initial specification data is used the same, arrival delays frequently occur due to accumulated errors.
[0317] Accordingly, in another embodiment of the present invention, the mobile robot server (10) includes a decay managing module (50), and the decay managing module (50) utilizes mobile robot performance information received from the mobile robot unit (20) to determine the degree of performance attenuation of the mobile robot unit (20) and, when applying the velocity profile during operation in the edge region between nodes, uses actual current operating performance data in addition to the initial performance specification data of the mobile robot unit (20) to reflect the attenuation value in the velocity profile.
[0318] For example, as illustrated in FIG. 51, the accumulated total moving distance during driving according to the driving path information applied to the mobile robot unit (20), i.e., the driving motor usage time of the unit driving unit, the moving distance of the mobile robot unit, the actual power consumption compared to the driving power value applied at the time of the driving command, the output voltage of the battery power supply unit mounted on the mobile robot unit, etc., may be used to compare the current actual performance data against the initial performance specification data at the time of shipment to reflect the difference between the target value and the actual value by reflecting the damping coefficient (ξ) in the velocity profile to adjust it. Through this, the current actual specification, not the initial performance specification, is applied, which increases the cost function value, thereby preventing the occurrence of a deadlock in the entire system or loss due to an operation delay caused by the derivation of an error-accumulated driving path.
[0319]
[0320] In addition, in some cases, a profile managing module (60) may be further provided to adjust the formation of a velocity profile that matches the node-to-node properties. That is, the mobile robot server (10) includes a profile managing module (60), which enables adjustment of the velocity profile described above. For example, as illustrated in FIG. 50, the velocity profile of the edge section is provided with a total of three sections, namely, the front region (ll), the medium region (lm), and the rear region (lr), and the operator can change the desired velocity profile through changes in the length or section position values (sa, new) of the corresponding sections, changes in the maximum velocity value of the vmax value to vm1, vm2, etc.
[0321] At this time, in some cases, inflection points may be additionally provided within each section in addition to the points between the sections of the front region (ll), medium region (lm), and rear region (lr) between the lines of the velocity profile. That is, the edge property may include an inflection point that forms a gear change state at the tip, and the inflection point (Pt) can be positioned by the operator to change the slope of each detailed section of the inflection, thereby enabling the implementation of various velocity profiles. Here, the position change of the inflection point (Pt) may be freely changed on the XY plane in the drawing of FIG. 50.
[0322]
[0323] As described above, in some cases where different types of mobile robot units are used, the constant values such as vmax, v, a, etc. that form the velocity profile may vary depending on the model. That is, in the case of the mobile robot unit (20) of the present invention, the unit detection unit (21) may include a load sensor (215) to detect the presence or absence of a load and the load of the load through the load sensor (215). The severity of the load can be determined based on the size of the detected load. This load load data may be included in the mobile robot status information and transmitted to the mobile robot server (10). The node edge property generation unit (4230) of the mobile robot server (10) may be configured to attenuate the type of velocity profile according to the size of the corresponding load weight. This configuration forms a pattern similar to that of FIG. 51, except that the target of attenuation is the load load size. That is, in the case of FIG. 51, as the load load increases, a velocity profile that decreases downward is provided.
[0324]
[0325] In addition, as described above, in some cases, in addition to cases where heterogeneous mobile robot units are used, constant values such as vmax, v, a, etc. that form the velocity profile may be changed depending on the space occupied size of the load mounted on the mobile robot unit, and a configuration that increases the space occupied by the mobile robot unit to check whether a collision is detected may be adopted. That is, in the case of the mobile robot unit (20) of the present invention, the unit detection unit (21) further includes a load image sensor (217) that checks the mobile robot unit (20) itself, and the size information of the loaded object can be inferred and estimated from the image information collected by the load image sensor (217).
[0326] In some cases, a load confirmation module unit (300) may be further provided to confirm the spatial information of the load loaded on the mobile robot unit (20). As illustrated in FIGS. 52 and 53, the load confirmation module unit (300) includes a load confirmation image sensor unit (310) and a load confirmation determination unit (320). The load confirmation image sensor unit (310) may be directly placed in the work environment where the mobile robot unit (20) moves. That is, the load confirmation image sensor unit (310) is placed on the ceiling of the confirmation position to determine the load loading space, and the load confirmation determination unit (320) uses the detection image information acquired through the load confirmation image sensor unit (310) to confirm the spatial information of the load through object recognition.
[0327] In some cases, the load confirmation image sensor unit (310) may include a load confirmation plane image sensor unit (310V) and a load confirmation side image sensor unit (310H). By checking the plane and side image status at the confirmation location for determining the load loading space and obtaining load space information through this, more accurate load space information can be obtained. The confirmed load space information is transmitted to the mobile robot server (10) and stored in the server storage unit (12), and this is included in the planning information and used as physical space information applied together when using the space information of the mobile robot unit (20). That is, constraints of the occupied nodes can be reflected when calculating the driving path through the load space information. FIG. 55 and FIG. 56 illustrate a simulated work environment simulated on the screen before and after load loading, and the mobile robot unit (10) drives based on the nodes formed in the work environment. At this time, when no load is loaded, the occupied space information, i.e., non-loaded space information (Anon), is allocated by adding safe distance space information (Asafe) centered on the mobile robot unit (20), and the number of occupied nodes required when driving along a node is determined by the non-loaded space information (Anon).
[0328] On the other hand, when a load (M) is loaded, the occupied space information, that is, the loaded space information (Aload), is allocated by adding the safe distance space information (Asafe) centered on the mobile robot unit (20), and the number of occupied nodes required when driving along the node is determined by the loaded space information (Aload). The loaded space information (Aload) requires more occupied nodes than the non-loaded space information (Anon), and since there is a difference in the number of occupied nodes between them, nodes that cannot be utilized through kinematic calculations during driving or turning operations, that is, nodes are added to the constraint table, which can prevent the occurrence of safety accidents in an actual work environment. This structure is especially necessary in the process of minimizing or unmanning workers, and is effective in preventing the occurrence of safety accidents.
[0329] Meanwhile, the load confirmation image sensor unit (310) may be directly disposed on the mobile robot unit (20) on which the mobile robot unit (20) is driven. That is, the load confirmation image sensor unit (310) is disposed on the upper part of the mobile robot unit (20), and the load confirmation determination unit (320) may use the detection image information acquired through the load confirmation image sensor unit (310) to determine the spatial information of the load through object recognition. As illustrated in FIG. 58, the load confirmation image sensor mounting unit (301) is disposed on the upper part of the body of the mobile robot unit (20), that is, the lift part of the forklift-style mobile robot unit (20) in this embodiment, and the load confirmation image sensor unit (310) is disposed on the upper part of the load confirmation image sensor mounting unit (301).
[0330] The load confirmation image sensor unit (310) has a preset FOV, and through image recognition from the image information acquired through this, the load confirmation judgment unit (320) confirms whether a load is loaded and the spatial information of the load, and this is transmitted to the mobile robot server (10) as described above and can be utilized in path search.
[0331]
[0332] While the present invention has been illustrated and described with reference to preferred embodiments intended to illustrate the principles of the invention, it is not intended to be limited to the exact configuration and operation described herein. Rather, those skilled in the art will readily appreciate that numerous modifications and variations are possible without departing from the spirit and scope of the appended claims.
[0333]
[0334] The present invention relates to a mobile robot system and a control method thereof, which enable more accurate and faster driving path calculation with reduced computational load by differentiating a cost function according to the presence or absence of a neighboring node adjacent to a target node and the type of entry possible, and which can be applied to the logistics industry, and in addition to the heavy industry field, to the field of material transport and transportation of manufactured products within eco-friendly industrial facilities, and to a transportation system for a vehicle parking system, and further to the field of autonomous vehicles and autonomous shuttle operations that drive between destinations with passengers on board.
Claims
1. Multiple mobile robot units (20), A mobile robot server (10) is included, which receives planning information including at least a destination and an arrival point, checks whether there is a collision between the plurality of mobile robot units (20), transmits and provides a driving path to the mobile robot units, and receives mobile robot status information transmitted from the mobile robot units (20) as feedback input to search, update, and confirm the driving path of the mobile robot units (20). The above mobile robot unit (20) can drive in an irregular work environment that can be defined by an irregular grid of nodes and edges, A mobile robot system (1) that calculates a minimum cost driving path by differentiating the cost of the driving path depending on whether the node can move when searching for a driving path.
2. In paragraph 1, The above mobile robot server (10): A mobile robot system (1) characterized by including a robot path finding module (40) that receives the robot status information and calculates a driving path of the mobile robot unit (20).
3. In paragraph 2, The above robot path finding module (40): An upper level finding unit (410) that compares the driving paths between the mobile robot units (20) to check for collisions and generates a constraint table including expected nodes and expected times at which collisions are expected to occur between the mobile robot units (20); A mobile robot system (1) characterized by including a lower level finding unit (420) that searches and regenerates a driving path of the mobile robot unit (20) using the constraint table generated in the upper level finding unit (410).
4. In paragraph 3, The above upper level finding part (410): An upper level state information forming unit (4110) that compares the driving paths between the mobile robot units (20) using the planning information and upper level state information including the driving path and generates a constraint table including the expected nodes and expected times at which a collision is expected to occur between the mobile robot units (20) due to the occurrence of spatiotemporal overlap, A driving path information update unit (4120) that receives and updates the driving path information of the mobile robot unit (20) re-searched and generated in the lower level finding unit (420), A mobile robot system (1) characterized by including an upper level collision confirmation unit (4130) that determines whether there is a collision between the mobile robot units using the updated driving path information.
5. In paragraph 4, The above upper level collision verification unit (4130) is: An upper level collision check unit (4131) that compares whether there is a collision with another mobile robot unit using the updated driving path information, A mobile robot system (1) characterized by including an upper level collision determination unit (4133) that determines whether there is a node where collision may occur between the mobile robot units through spatiotemporal overlap using the updated driving path information.
6. In paragraph 5, The above upper level collision verification unit (4130) is: A mobile robot system (1) characterized by including an upper level collision constraint update unit (4135) that updates the constraint table in a preset manner when the upper level collision determination unit (4133) determines that there are multiple nodes where a collision may occur.
7. In paragraph 5, The above upper level collision verification unit (4131) is: An upper level driving information confirmation unit (41311) that confirms the driving path and time zone on the driving path of the above plurality of mobile robot units, An upper level overlapping information verification unit (41313) that verifies overlapping information of nodes or node sections that overlap in the same time zone for the driving route and time zone verified in the upper level driving information verification unit (41311), A mobile robot system (1) characterized by including an upper level physical collision confirmation unit (41315) that uses environmental information on the above-mentioned overlapping information and driving speed information and size information of the plurality of mobile robot units (20) to confirm whether there is a collision within the overlapping section.
8. In paragraph 7, A mobile robot system (1), characterized in that the plurality of mobile robot units (20) include at least one heterogeneous mobile robot unit.
9. In paragraph 3, The above lower level finding unit (420) is: A lower level state information forming unit (4210) that generates lower level state information including the constraint table generated in the upper level finding unit (410), current location information and time information of the mobile robot unit (20), and path attribute information for nodes and edges constituting the driving path of the mobile robot unit (20), and calculates a corresponding cost function to re-search and generate a driving path; A lower level end judgment unit (4220) that checks whether the driving path to the destination of the above mobile robot unit (20) is completed, A mobile robot system (1) characterized by including a node edge attribute generation unit (4230) that generates attribute information on nodes and edges forming the driving path by considering whether it is possible to enter a neighboring node adjacent to the target node from the target node forming the driving path of the lower level state information and transmits the information to the lower level state information formation unit (4210).
10. In paragraph 9, The above lower level status information forming unit (4210) is: A lower level status information generation unit (4211) that calculates a cost function of a driving path for a target mobile robot unit among the mobile robot units (20) using the constraint table and the node attribute information and edge attribute information generated in the upper level finding unit (410) and updates the driving path information, A mobile robot system (1) characterized by including a lower level state information selection unit (4213) that selects lower level state information for a driving path generated in the lower level state information generation unit (4211).
11. In paragraph 9, The above node edge property generation unit (4230) is: A node existence confirmation unit (4231) that confirms the existence of a neighboring node adjacent to the target node from the target node that constitutes the above driving path, A movable node verification unit (4233) that verifies whether movement to a confirmed neighboring node is possible, and A mobile robot system (1) characterized in that it includes a node attribute granting unit (4235) that grants node attributes based on whether continuous entry is possible when moving to the neighboring node, using information on whether the edge section connecting the target node and the neighboring node is curved and the rotation angle when moving to the neighboring node.
12. In paragraph 11, The above node attribute assignment part (4235) is: A mobile robot system (1) characterized in that, when the mobile robot unit (20) can continuously drive from the target node to the neighboring node without stopping, the target node is set as a continuous node that sets a continuous driving node property that can drive without stopping.
13. In paragraph 11, The above node attribute assignment part (4235) is: A mobile robot system (1), characterized in that the node attribute granting unit (4235) sets the target node as a non-continuous driving node that sets the node attribute that enables driving after stopping when the mobile robot unit (20) stops at the target node and can drive to the neighboring node.
14. In paragraph 11, The above node edge property generation unit (4230) is: A mobile robot system (1) characterized by including an edge attribute assignment unit (4237) that assigns edge attributes to an edge section connecting the terminal node and the target node by using the node attributes of the terminal node of the re-searched driving path and the target node.
15. In paragraph 14, The lower level status information forming unit (4210) uses the constraint table and the node attribute information and the edge attribute information generated by the upper level finding unit (410) to calculate a cost function of a driving path for a target mobile robot unit among the mobile robot units (20) and update the driving path information. The above edge property assignment unit (4237) forms edge properties by assigning a velocity profile for each node section within the driving path according to the continuous driving node properties or non-continuous driving node properties. A mobile robot system (1), characterized in that the above lower level state information forming unit (4210) calculates a cost function value through node properties and edge properties of the driving path.
16. In paragraph 15, A mobile robot system (1), characterized in that the above edge properties include flat section edge properties that maintain a preset speed.
17. In paragraph 15, A mobile robot system (1), characterized in that the edge property includes a front transition edge property that forms an acceleration state from a stationary state at the tip.
18. In paragraph 15, A mobile robot system (1), characterized in that the edge property includes a rear transition edge property that forms a deceleration state at the rear end.
19. In paragraph 15, A mobile robot system (1), characterized in that the above edge properties include an edge side transition edge property that forms an acceleration state from a stationary state at the leading end and a deceleration state at the lower end.
20. In paragraph 15, A mobile robot system (1) characterized in that the above edge properties include an inflection point that forms a shift state at the tip.
21. In paragraph 12, A mobile robot system (1), characterized in that the cost function value produced in the above lower level state information forming unit (4210) can be produced at least through the A* algorithm.
22. In paragraph 9, The above lower level finding unit (420) is: A mobile robot system (1) characterized by including a lower level search end confirmation unit (4240) that confirms whether search for all driving paths of the upper level status information has been completed.
23. In paragraph 1, The mobile robot system (1) characterized in that the above mobile robot unit (20) receives a driving path transmitted from the mobile robot server (10) and drives from a destination to a final destination, but is capable of evasive maneuvering by sensing the driving environment.
24. In paragraph 4, The above upper level finding part (410): A mobile robot system (1) characterized in that it further includes a driving error forwarding collection unit (4140) that checks the difference between the confirmed arrival time and the predicted arrival time of the node upon arrival at at least one node on the driving path of the mobile robot unit (20) and corrects the predicted node time of the node to be arrived at on the driving path after the node.
25. In paragraph 1, A mobile robot system (1), characterized in that the mobile robot server (10) further includes a decay module (50) that uses mobile robot status information detected by the mobile robot unit (20) to check a degree of performance decay and adjusts a velocity profile for an edge section between nodes used when searching for a driving path according to the degree of performance decay.
26. In paragraph 1, A mobile robot system (1), characterized in that the mobile robot server (10) is further provided with a profile managing module (60) that adjusts a velocity profile for an edge section between nodes used when searching for a driving path of the mobile robot unit (20).
27. In paragraph 1, A mobile robot system (1) characterized in that it further comprises a load confirmation module (300) for confirming the spatial information of the load carried in the mobile robot unit (20).
28. At least, by receiving planning information including a destination and an arrival point, a collision between multiple mobile robot units (20) capable of driving in an irregular work environment that can be defined by an irregular grid of nodes and edges is checked, a driving path is transmitted and provided to the mobile robot units, and mobile robot status information transmitted from the mobile robot unit (20) is received as feedback, and the driving path of the mobile robot unit (20) is searched, updated, and confirmed. A mobile robot server (10) that calculates a minimum cost driving path by differentiating the cost of the driving path based on whether the node can move when searching for a driving path.
29. A provision step (S1) of providing a mobile robot system (1) including a plurality of mobile robot units (20) and a mobile robot server (10) that searches and updates the driving path of the mobile robot units (20), A preparation step (S2) in which planning information including a destination and an arrival point and mobile robot status information transmitted from multiple mobile robot units (20) are compiled and prepared, A path search step (S10) in which a driving path is predicted in the robot path finding module (40) of the mobile robot server (10) based on the above planning information and the above mobile robot status information and a non-collision driving path is calculated by checking whether there is a collision between the mobile robot units (20); In the above path search step (S10), the mobile robot unit (20) drives according to the determined driving path information, and includes a path driving execution step (S70) in which the current robot status information of each driving path is transmitted to the mobile robot server (10). A method for controlling a mobile robot system, characterized in that in the above path driving execution step (S70), the mobile robot unit (20) can be defined as an irregular grid of nodes and edges and can drive in an irregular work environment in which the distances of at least two edges among the edges are different.
30. In paragraph 29, A method for controlling a mobile robot system, characterized in that a driving path is calculated at the minimum cost by differentiating the cost for the driving path depending on whether the node can move when searching for the driving path in the above path search step (S10).
31. In paragraph 30, The above path search step (S10) is: An upper level state information forming step (S30) in which upper level state information including a constraint table of collision space-time node information of space-time overlapping nodes between the driving paths of the mobile robot unit (20) is formed using the above planning information and the above mobile robot state information, A lower level search step (S40) for searching and generating lower level state information including driving path information of the mobile robot using the attributes of the target node on the upper level state information and the mobile robot state information, An upper level status information update step (S100) for updating the upper level status information using the driving path information of the mobile robot generated in the lower level search step (S40), A mobile robot system control method characterized by including a collision check step (S110) for checking collision spatiotemporal node information of spatiotemporal overlapping nodes between the driving paths of the mobile robot units (20) using the planning information and the mobile robot status information to update and calculate the constraint table.
32. In paragraph 31, A mobile robot system control method, characterized in that the planning information confirmed in the above planning information confirmation step (S20) includes node edge information having node positions and node times and node edge properties forming a driving path based on the driving path information of the mobile robot unit (20).
33. In paragraph 31, In the above upper level status information formation step (S30), Upper level status information including a constraint table and driving path information for collision prediction nodes between the above mobile robot units (20) is formed, A method for controlling a mobile robot system, characterized in that the driving path information includes cost function value information for each driving path.
34. In paragraph 33, The above lower level search step (S40) is: A step (S41) of forming lower level status information in which a cost function value for each node section is calculated according to the above node properties and the driving route is updated, A mobile robot system control method characterized by including a lower level end confirmation step (S43) for confirming whether the driving path update of the mobile robot unit (20) has been completed (whether the target node of the updated driving path matches the arrival node of the destination and whether the destination has been reached).
35. In paragraph 34, The above lower level status information formation step (S41) is" A lower level state information generation step (S411) for calculating a cost function value for each node section according to the above node and edge properties and updating the lower level state information including the driving path; A mobile robot system control method characterized by including a lower level status information selection step (S413) for selecting a target node among the driving paths using the location information of the mobile robot unit (20).
36. In paragraph 34, The above lower level end judgment step (S43) is: A target node comparison confirmation step (S431) for comparing and confirming the current target node and the destination information in the above planning information, and A lower level goal arrival determination step (S433) for checking and determining whether the current target node and the destination information match, A mobile robot system control method characterized in that it includes a lower level end determination step (S435) for checking whether a driving path search is executed in the arrival status for all driving paths when it is determined that the mobile robot unit (20) has arrived at the destination in the lower level goal arrival determination step (S433).
37. In paragraph 36, The above neighbor node verification step (S45) is: A neighbor node check step (S451) for checking the neighbor nodes at the rear end of the target node, A neighbor node existence determination step (S452) for determining whether a neighbor node identified in the above neighbor node check step (S451) exists, and A mobile robo system control method characterized in that it includes a neighboring node entry possibility determination step (S453) for determining whether entry to the neighboring node is possible if it is determined and confirmed that a neighboring node of the target node exists in the neighboring node existence determination step (S452).
38. In paragraph 36, The above neighbor node verification step (S45) is: In the step (S453) of determining whether entry to the neighboring node is possible, if it is determined that entry to the neighboring node is possible, a step (S458) of determining whether a turning drive is necessary between the target node and the neighboring node, A mobile robot system control method characterized in that it includes a node attribute determination step (S459) in which the node attribute of the target node is determined based on the determination result in the above turning driving determination step (S458).
39. In paragraph 38, The above turning driving judgment step (S458) is: In the step (S453) of determining whether the neighboring node can be entered, if it is determined that the neighboring node can be entered, a step (S454) of determining whether a non-straight path is traveled between the target node and the neighboring node is determined, and A mobile robot system control method characterized in that it includes a path direction vector angle comparison step (S455) for comparing the path direction vector angle of the driving path from the target node to the neighboring node with a preset angle when it is confirmed that the non-straight path driving is performed between the target node and the neighboring node in the non-straight path judgment step (S454).
40. In paragraph 31, The above collision detection step (S110) is: An upper level status information confirmation step (S111) for confirming the upper level status information including the driving path information of the mobile robot updated in the upper level status information update step (S100), A collision prediction node confirmation judgment step (S112) for confirming a collision prediction node where a spatiotemporal collision is expected between the mobile robot units (20) from the upper level status information, and A step (S113) of checking the most advanced collision expected node on the driving path of each of the above mobile robot units (20), A mobile robot system control method characterized by including a constraint table update step (S114) of updating a constraint table using the most advanced collision prediction node on the driving path of each of the above-mentioned mobile robot units (20).
41. In paragraph 29, The above route driving execution step (S70) is: A global driving information transmission step (S71) in which the driving path information calculated and confirmed in the above path search step (S10) is set as global driving information and transmitted to the mobile robot unit (20), A local driving path generation step (S73) in which an individual local driving path of each mobile robot unit (20) is generated using the global driving information transmitted in the above global driving information transmission step (S71), A local driving path driving step (S74) for driving while executing an obstacle avoidance maneuver along the local driving path generated in the local driving path generation step (S73), A mobile robot system control method characterized by including a mobile robot status information transmission step (S78) for collecting status information of the mobile robot unit (20) during execution of the local driving path driving step (S74) and transmitting the collected information to the mobile robot server (10).
42. A mobile robot system control method for controlling a mobile robot system (1) including a plurality of mobile robot units (20) and a mobile robot server (10) that searches and updates the driving path of the mobile robot units (20), A path search step (S10) in which a driving path is predicted in the robot path finding module (40) of the mobile robot server (10) based on planning information including a destination and an arrival point and mobile robot status information transmitted from a plurality of mobile robot units (20), and a non-collision driving path is calculated by checking whether there is a collision between the mobile robot units (20); In the above path search step (S10), the mobile robot unit (20) drives according to the determined driving path information, and includes a path driving execution step (S70) in which the current robot status information of each driving path is transmitted to the mobile robot server (10). In the above path driving execution step (S70), the mobile robot unit (20) can drive in an irregular work environment that can be defined as an irregular grid of nodes and edges and in which the distances of at least two edges among the edges are different. A mobile robot system control method characterized in that, in the above-mentioned path driving execution step (S70), when the mobile robot unit (20) is driving along the driving path information and arrives at a node among the driving path information, the arrival time for the subsequent transit node is corrected.
43. In paragraph 42, The above path search step (S10) is: An upper level state information forming step (S30) in which upper level state information including a constraint table of collision space-time node information of space-time overlapping nodes between the driving paths of the mobile robot unit (20) is formed using the above planning information and the above mobile robot state information, A mobile robot system control method characterized by including a lower level search step (S40) for searching and generating lower level state information including driving path information of the mobile robot using the attributes of the target node on the upper level state information and the mobile robot state information.
44. In paragraph 43, The above upper level status information formation step (S30) is: A transit node arrival status information confirmation step (S31) that compares the predicted node time information for the transit node on the above driving route with the transit node arrival status information acquired in the route driving execution step (S70), An expected time error confirmation step (S32) for confirming the expected time error by checking the difference between the above predicted node time information and the above transit node arrival status information, An expected time error existence confirmation step (S33) for determining whether the expected time error identified in the above expected time error confirmation step (S32) exists, and If it is determined that an error exists in the above expected time error existence confirmation step (S33), a forwarding via upper level information update step (S34) is performed to update the upper level information by correcting the arrival predicted time for the forwarding node after the arrival occupied via node on the driving route, A mobile robot system control method characterized by including a collision detection step (S35) for checking whether a spatiotemporal overlapping node exists using the updated upper level information.
Citation Information
Patent Citations
A cost-critical dynamic window approach to optimal mutual collision avoidance
JP2020534621A
Systems and methods for optimizing route plans in operating environment
JP2022082419A
Travel control method for mobile robot
JP2720526B2
Method and system for specifying node for robot path plannig
KR102337531B1
Occupancy clustering according to radar data
US20220317302A1