Method for determining moving path of mobile robot, and mobile robot performing same
The method and mobile robot system effectively navigate through environments with dynamic obstacles by generating and selecting optimal trajectories with varying velocities, enhancing autonomous driving stability and efficiency.
Patent Information
- Application Number
- PCT/KR2025/001052
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-24
- Filing Date
- 2025-01-20
- Publication Date
- 2025-10-30
AI Technical Summary
Existing mobile robot navigation systems struggle to effectively navigate through environments with dynamic obstacles while maintaining stable autonomous driving.
A method and mobile robot equipped with a sensing unit to detect obstacles, a trajectory generation unit to create multiple predicted trajectories with varying linear and angular velocities, and a trajectory determination unit to select the trajectory with the minimum cost for obstacle avoidance, using a dynamic window approach (DWA).
Enables mobile robots to efficiently navigate through narrow spaces with dynamic obstacles by selecting optimal trajectories, ensuring stable and efficient autonomous operation.
Smart Images

Figure KR2025001052_30102025_PF_FP_ABST
Abstract
Description
Method for determining a mobile robot's movement path and a mobile robot performing the same
[0001] The present invention relates to a method for determining a movement path for a mobile robot to autonomously drive while avoiding obstacles.
[0002] Mobile robots are robots that can move under their own control, and are utilized in various forms and functions, such as robot vacuum cleaners, AGVs (Automated Guided Vehicles), AMRs (Autonomous Mobile Robots), airport guide robots, and restaurant serving robots.
[0003] Recently, the provision of services using robots has been expanding, and development is actively underway on delivery robots that drive along a set route outdoors in place of humans or recognize obstacles along the driving path to load items and deliver them to their destinations.
[0004] These mobile robots determine their current location while moving and recognize surrounding terrain features along their driving path to drive autonomously. Simultaneous localization and mapping (SLAM) technology is used for this purpose.
[0005] Typically, mobile robots use sensing devices such as LiDAR (Light Detection And Ranging) to identify surrounding terrain features and perform map generation and location estimation based on the identified results.
[0006] Additionally, the mobile robot has a navigation algorithm implemented to move by modifying the target path to an optimal path that can reach the destination as quickly as possible without colliding with obstacles when an obstacle appears during movement.
[0007] The technical problem to be solved by the present invention is to provide a method for determining a movement path that enables a mobile robot to effectively move through various spaces where obstacles exist for stable autonomous driving, and a mobile robot that performs the method.
[0008] A method according to an embodiment of the present invention for solving the above-described problem is a method for determining an optimal path for a mobile robot to move to a target point while avoiding obstacles, the method comprising: a step of detecting an obstacle on a movement path; a step of constructing a plurality of predicted trajectories having a shape in which two or more curves having at least one different linear velocity and angular velocity are connected; a step of calculating a cost for the constructed predicted trajectories and determining a predicted trajectory having a minimum cost as a movement trajectory; and a step of moving according to the determined movement trajectory.
[0009] At least some of the methods for determining the movement path of the above mobile robot can be implemented as a computer-readable recording medium recording a program for executing on a computer, and can be provided as a program itself.
[0010] Meanwhile, the above-described movement path determination method can be performed by a mobile robot according to an embodiment of the present invention.
[0011] A mobile robot according to an embodiment of the present invention comprises: a sensing unit for detecting an obstacle on a movement path; a trajectory generation unit for configuring a plurality of predicted trajectories having a shape in which two or more curves having at least one different linear velocity and angular velocity are connected; a trajectory determination unit for calculating a cost for the configured predicted trajectories and determining a predicted trajectory having the minimum cost as a movement trajectory; and a movement unit for incrementally moving according to the determined movement trajectory.
[0012] According to an embodiment of the present invention, a mobile robot can avoid obstacles on its moving path by using a plurality of predicted trajectories having a shape in which two or more curves having at least one different linear velocity and angular velocity are connected, thereby enabling the mobile robot to easily perform avoidance maneuvers even when the space in which it can move is narrowed by a dynamic obstacle.
[0013] FIG. 1 is a block diagram showing the configuration of a mobile robot according to one embodiment of the present invention.
[0014] FIG. 2 is a flowchart illustrating a method for determining a movement path of a mobile robot according to one embodiment of the present invention.
[0015] FIGS. 3 to 10 are drawings for explaining embodiments of a method for determining a movement trajectory of a mobile robot using a DWA (Dynamic Window Approach) algorithm.
[0016] Figures 11 and 12 are drawings showing examples of predicted trajectories used to determine the movement path of a mobile robot.
[0017] The following merely exemplifies the principles of the present invention. Therefore, those skilled in the art will be able to implement the principles of the present invention and invent various devices within the scope and spirit of the present invention, even if not explicitly described or illustrated herein. Furthermore, all conditional terms and embodiments listed herein are expressly intended, in principle, to facilitate understanding of the present invention, and should be understood as being in no way limiting to the specifically enumerated embodiments and conditions.
[0018] Furthermore, all detailed descriptions of the principles, aspects, and embodiments of the present invention, as well as specific embodiments, should be understood to encompass structural and functional equivalents thereof. Furthermore, such equivalents should be understood to encompass not only currently known equivalents but also equivalents developed in the future, i.e., all devices invented to perform the same function, regardless of structure.
[0019] Thus, for example, the block diagrams herein should be understood as representing conceptual views of exemplary circuits embodying the principles of the present invention. Similarly, all flowcharts, state transition diagrams, pseudocode, and the like, which may be substantially represented on a computer-readable medium, should be understood as representing various processes performed by a computer or processor, regardless of whether a computer or processor is explicitly depicted.
[0020] The functions of various components depicted in the drawings, including functional blocks represented by processors or similar concepts, may be provided using dedicated hardware as well as hardware capable of executing software in conjunction with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, a single shared processor, or multiple individual processors, some of which may be shared.
[0021] Furthermore, any explicit use of terms such as processor, controller, or similar concepts should not be construed as exclusively referring to hardware capable of executing software, but should be understood to implicitly include, without limitation, digital signal processor (DSP) hardware, read-only memory (ROM), random access memory (RAM), and non-volatile memory for storing software. Other commonly used hardware may also be included.
[0022] In the claims of this specification, a component expressed as a means for performing a function described in the detailed description is intended to include any method for performing the function, including, for example, a combination of circuit elements performing the function, or any form of software including firmware / microcode, combined with appropriate circuitry for executing said software to perform the function. The invention defined by these claims should be understood to be equivalent to any means found in this specification for providing the functions provided by the various enumerated means, as long as they are combined and combined in the manner required by the claims.
[0023] The above-described purposes, features, and advantages will become more apparent through the following detailed description, taken in conjunction with the accompanying drawings. Accordingly, those skilled in the art will be able to readily implement the technical concepts of the present invention. Furthermore, in describing the present invention, detailed descriptions of known technologies related to the present invention will be omitted if they are deemed to unnecessarily obscure the gist of the invention.
[0024] FIG. 1 is a block diagram illustrating the configuration of a mobile robot according to an embodiment of the present invention. The illustrated mobile robot (100) may be configured to include a sensing unit (110), a moving unit (140), a storage unit (130), a trajectory generation unit (150), and a trajectory determination unit (160).
[0025] A robot can mean a machine that automatically processes or operates a given task based on its own abilities, and can be an intelligent robot that has the ability to recognize the environment, make decisions on its own, and perform actions.
[0026] Meanwhile, a robot can perform various physical movements by being equipped with actuators or motors, and specifically, as a mobile robot that can move, it has wheels, brakes, etc. as its driving unit and can move in a specific space.
[0027] In one embodiment of the present invention, the mobile robot (100) may be a delivery robot that autonomously drives outdoors to a destination carrying food or the like, but the present invention is not limited thereto.
[0028] The mobile robot (100) is capable of autonomous driving, wirelessly communicating with a control server to transmit and receive various information, and performing actions accordingly.
[0029] For this purpose, the mobile robot (100) may be equipped with various communication modules such as a mobile communication module, a wireless Internet module, and a short-range communication module.
[0030] For example, a mobile communication module can transmit and receive wireless signals with at least one of a base station, an external terminal, and a server on a mobile communication network constructed according to technical standards or communication methods for mobile communication, such as GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), CDMA2000 (Code Division Multi Access 2000), EVDO (Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA (Wideband CDMA), HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), LTE (Long Term Evolution), LTE-A (Long Term Evolution-Advanced), 5G mobile communication, etc.
[0031] The wireless Internet module is a module for wireless Internet access and can be configured to transmit and receive wireless signals in a communication network according to wireless Internet technologies.
[0032] And the mobile robot (100) can transmit and receive data with a server and various communication-capable terminals through a 5G network, and for example, can communicate data with a server or terminal using at least one service among mobile broadband (Enhanced Mobile Broadband, eMBB), URLLC (Ultra-reliable and low latency communications), and mMTC (Massive Machine-type communications) through a 5G network.
[0033] Meanwhile, artificial intelligence (AI) technology can be applied to a mobile robot (100), and the movement path of the robot (120) can be determined through machine learning using an artificial neural network (ANN).
[0034] A mobile robot (100) has a map required for autonomous driving and can use the map to configure a driving route to go from the current location to the target location.
[0035] To this end, the mobile robot (100) detects its current location while driving, identifies surrounding terrain features, and such location information can be transmitted to the control server.
[0036] For example, a mobile robot (100) can use simultaneous localization and mapping (SLAM) technology for autonomous driving, and SLAM is a known technology, so a detailed description thereof will be omitted.
[0037] In order to proceed with SLAM as described above, the mobile robot (100) is equipped with a sensing means such as a Light Detection And Ranging (LiDAR) device, and can use the equipped sensing means to identify surrounding terrain features and estimate a location and create a map based on the identified results.
[0038] Meanwhile, when a target point is set, the mobile robot (100) establishes a global path from the starting position to the target point using a map generated as described above, for example, a static map, and can move to the target point while avoiding obstacles along the global path using a dynamic window approach (DWA).
[0039] Here, the static map may be a map that stores information about fixed obstacles that do not change or are fixedly placed among objects placed in the entire space in which the mobile robot (100) moves, and the static map may be stored in the mobile robot (100).
[0040] A global path is a path that can be taken from a starting point to a target point as quickly as possible while avoiding collisions with obstacles based on a fixed map, and can be determined by the mobile robot (100) or received from a control server.
[0041] And the dynamic window approach is an algorithm that, when an obstacle that does not exist in a fixed map, for example, a dynamic obstacle, appears while a mobile robot (100) is moving along a global path, it finds an optimal trajectory for incremental movement to a target position while avoiding collision with the obstacle among a plurality of executable predicted trajectories.
[0042] According to an embodiment of the present invention, a mobile robot (100) can avoid obstacles by using a plurality of predicted trajectories having a shape in which two or more curves having at least one different linear velocity and angular velocity are connected, thereby enabling the mobile robot (100) to easily perform avoidance maneuvers even when the space in which it can move is narrowed by a dynamic obstacle.
[0043] Referring to Fig. 1, the sensing unit (110) of the mobile robot (100) detects obstacles on the moving path.
[0044] To this end, the sensing unit (110) includes a 3D LiDAR (Light Detection And Ranging) sensor, and may also include a depth camera for detecting depth information, a vision camera for capturing images of the surrounding area, and may include various sensors such as an infrared sensor or an ultrasonic sensor.
[0045] The trajectory generation unit (150) configures a plurality of predicted trajectories having a shape in which two or more curves having at least one different linear velocity and angular velocity are connected, and the trajectory determination unit (160) calculates a cost for the configured predicted trajectories and determines the predicted trajectory having the minimum cost as the movement trajectory.
[0046] For example, when a dynamic obstacle that does not exist in the fixed map is detected while moving along a global path, the mobile robot (100) can avoid the obstacle by moving along the trajectory with the minimum cost among multiple predicted trajectories using a dynamic window approach (DWA).
[0047] To this end, a dynamic window defining linear velocities and angular velocities applicable to the mobile robot (100) may be configured, and a plurality of predicted trajectories each representing the linear velocities and angular velocities defined by the dynamic window may be configured.
[0048] The moving part (140) moves incrementally according to the moving trajectory determined by the trajectory determination part (160).
[0049] Meanwhile, the storage unit (130) stores map information as described above, for example, a fixed map, and in addition, sensor information measured by the sensing unit (110) can be temporarily stored.
[0050] The control unit (120) may play a role in controlling the overall operation of the mobile robot (100), such as transmitting sensor information measured by the sensing unit (110) or information stored in the storage unit (130) to other components, controlling the moving unit (140) to move the mobile robot (100), or generating a control signal to move the mobile robot (100) according to the moving trajectory determined by the trajectory determination unit (160).
[0051] In addition, the mobile robot (100) may additionally include configurations for performing various functions in addition to the configurations described above, depending on the purpose of use of the robot.
[0052] Hereinafter, with reference to FIGS. 2 to 12, embodiments of a method for determining a movement path of a mobile robot will be described in detail.
[0053] FIG. 2 is a flowchart illustrating a method for determining a movement path of a mobile robot according to an embodiment of the present invention. The illustrated method will be described by way of example when performed by a mobile robot (100). Meanwhile, a description of the same method illustrated in FIG. 2 as that described with reference to FIG. 1 will be omitted.
[0054] Referring to Fig. 2, the mobile robot (100) detects an obstacle on its moving path (step S200).
[0055] Here, the movement path of the mobile robot (100) is a global path determined based on a fixed map, and the obstacle may be a dynamic obstacle that does not exist in the fixed map.
[0056] For example, referring to FIG. 3, a mobile robot (100) moves along a global path (GP) in the space between obstacles (300) on both sides, and a dynamic obstacle (305) can be detected on the movement path along the global path (GP).
[0057] At this time, the mobile robot (100) can move while avoiding the dynamic obstacle (305) using a dynamic window approach (DWA).
[0058] A mobile robot (100) configures a plurality of predicted trajectories having a shape in which two or more curves having at least one different linear velocity and angular velocity are connected (step S210).
[0059] To apply the dynamic window approach (DWA), the mobile robot (100) can configure a dynamic window and then use it to configure multiple executable predicted trajectories.
[0060] For example, referring to FIG. 4, the dynamic window defines linear velocities (ν) and angular velocities (ω) applicable to the mobile robot (100), and the applicable linear velocities and angular velocities can be determined based on the surrounding environment detected through one or more sensors.
[0061] Meanwhile, each predicted trajectory may be an arc-shaped trajectory that represents a linear velocity (ν) and an angular velocity (ω) defined by a dynamic window, as illustrated in FIG. 3, and is configured by considering a prediction time (T) and a sampling time (dt).
[0062] However, when the predicted trajectories are formed in an arc shape, as shown in FIGS. 5 and 6, a situation may occur where the vehicle is bounced off because it cannot pass through a narrow area blocked by a dynamic obstacle (305) and cannot create any more movement trajectories.
[0063] Accordingly, according to one embodiment of the present invention, the shape of the predicted trajectories for applying the dynamic window approach (DWA) can be configured not only as a simple circular arc shape, but also as a shape in which two or more curves having at least one different linear velocity and angular velocity are connected.
[0064] Referring to FIG. 7, the predicted trajectory may have a shape in which a first curve (351) representing a first linear velocity and a first angular velocity (ν1, ω1) and a second curve (352) representing a second linear velocity and a second angular velocity (ν2, ω2) are connected at a specific point (P).
[0065] In this case, as shown in Fig. 8, when a dynamic obstacle (305) is detected on the predicted path number 5 during the movement of the mobile robot (100), predicted trajectories in a curved shape with two curves connected can be configured.
[0066] After that, the mobile robot (100) calculates the cost for the predicted trajectories configured in step S210, determines the predicted trajectory with the minimum cost as the movement trajectory (step S220), and moves according to the determined movement trajectory (step S230).
[0067] Here, a cost function for calculating the cost of predicted trajectories can be defined using at least one of the distance to an obstacle, the distance to a target point, and the distance to a global path as a variable for each predicted trajectory.
[0068] The cost for each of the predicted trajectories configured in step S210 is calculated based on a cost function created by taking into account the distance to an obstacle, the distance to a target point, and the distance to a global path, and the predicted trajectory that minimizes the cost can be selected as the movement trajectory of the mobile robot (100).
[0069] Meanwhile, in step S230, the mobile robot (100) can incrementally move along a path according to the movement trajectory determined in step S220.
[0070] Incremental movement is a method of moving to a target point by repeating small movements according to a sampling time (dt), and the mobile robot (100) can autonomously drive to avoid obstacles by repeating incremental movements determined by a movement trajectory according to steps S210 to S230.
[0071] As shown in FIG. 8, when a dynamic obstacle (305) is detected in the predicted trajectory number 5 following the global path (GP), the predicted trajectory that minimizes the cost among the multiple predicted trajectories (e.g., the predicted trajectory number 6) is selected, and the mobile robot (100) can incrementally move along it.
[0072] Referring to FIG. 9, after the mobile robot (100) moves incrementally, a predicted trajectory that minimizes the cost among a plurality of predicted trajectories (e.g., predicted trajectory No. 1) is selected, and the mobile robot (100) can move incrementally again along it.
[0073] Next, as illustrated in FIG. 10, a predicted trajectory that minimizes the cost among a plurality of predicted trajectories (e.g., predicted trajectory number 5) is selected, and the mobile robot (100) moves incrementally again along it, thereby effectively passing through a narrow space.
[0074] In the above, embodiments of the present invention have been described by taking as an example a case where prediction paths for a dynamic window approach (DWA) have a shape in which two curves are connected, but the present invention is not limited thereto and may have various shapes.
[0075] For example, the predicted trajectory may be such that the first and second curves connected to each other have the same linear velocity and the same absolute value of angular velocity in opposite directions, or the location of the point where the first and second curves are connected may change.
[0076] Referring to (a) of Fig. 11, the point (P) where the first and second curves (351, 352) are connected may be formed at a location other than the middle.
[0077] Meanwhile, referring to (b) of Fig. 11, the angular velocity (ω2) of the second curve (352) may have a value (-ω1) that is equal in magnitude to the angular velocity (ω1) of the first curve (351) and opposite in direction.
[0078] In addition, in order to reduce the amount of computation for applying the dynamic window approach (DWA), as shown in (c) of FIG. 11, the predicted trajectories may be configured such that the linear velocity (ν2) of the second curve (352) has the same value as the linear velocity (ν1) of the first curve (351), and the angular velocity (ω2) of the second curve (352) has the same magnitude as the angular velocity (ω1) of the first curve (351) and a value (-ω1) opposite in direction.
[0079] According to another embodiment of the present invention, the predicted trajectories may be configured to include both a linear trajectory having only linear velocity, and a curved trajectory representing a pair of linear velocity and angular velocity, along with a trajectory having a shape in which two or more curves are connected as described above.
[0080] For example, in step S210, prediction trajectories are configured to include a prediction trajectory of a straight line as shown in (a) of FIG. 12, a prediction trajectory of a curve as shown in (b) of FIG. 12, and a prediction trajectory of a curved shape as shown in (c) of FIG. 12, and thus, a prediction trajectory that minimizes the cost can be selected from among the prediction trajectories of complex shapes.
[0081] The methods according to the present invention described above can be produced as a program to be executed on a computer and stored in a computer-readable recording medium. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc.
[0082] Computer-readable recording media can be distributed across network-connected computer systems, allowing computer-readable code to be stored and executed in a distributed manner. Furthermore, functional programs, codes, and code segments for implementing the above method can be readily inferred by programmers skilled in the art to which the present invention pertains.
[0083] Although the preferred embodiments of the present invention have been illustrated and described above, the present invention is not limited to the specific embodiments described above, and various modifications can be made by those skilled in the art without departing from the gist of the present invention as claimed in the claims. Furthermore, such modifications should not be understood individually from the technical idea or prospect of the present invention.
Claims
1. A method for determining an optimal path for a mobile robot to move to a target point while avoiding obstacles, A step of detecting obstacles on the moving path; A step of constructing a plurality of predicted trajectories having a shape in which two or more curves having different linear velocities and different angular velocities are connected; A step of calculating costs for the above-configured prediction trajectories and determining the prediction trajectory with the minimum cost as the movement trajectory; and A method for determining a movement path of a mobile robot, characterized in that it comprises a step of moving according to the determined movement trajectory.
2. In paragraph 1, A method for determining a movement path of a mobile robot, characterized in that the movement path is a global path determined based on a static map, and the obstacle is a dynamic obstacle that does not exist in the static map.
3. In the first paragraph, the step of configuring the plurality of predicted trajectories is A step of configuring a dynamic window defining linear velocities and angular velocities applicable to the mobile robot based on the surrounding environment detected through one or more sensors; A method for determining a movement path of a mobile robot, characterized in that the linear velocity and angular velocity indicated by the curve of the predicted trajectory have values defined in the configured dynamic window.
4. In the first paragraph, the predicted trajectory is Includes the first and second curves connected based on a specific point, A method for determining a movement path of a mobile robot, characterized in that the first and second curves above have the same linear speed and the same absolute value of angular speed in opposite directions.
5. In paragraph 4, A method for determining a movement path of a mobile robot, characterized in that the specific point of the predicted trajectory is changeable.
6. In the first paragraph, the predicted trajectories are It includes a trajectory of a shape in which two or more of the above curves are connected, a trajectory of a straight line shape having only linear velocity, and a trajectory of a curve shape representing a pair of linear velocity and angular velocity. A method for determining a movement path of a mobile robot, characterized in that at least one of the shapes of the trajectory is selected as the shape of the predicted trajectory based on the surrounding environment detected through one or more sensors.
7. In paragraph 1, the cost for the predicted trajectory is A method for determining a movement path of a mobile robot, characterized in that the method is calculated using a cost function that uses at least one of the distance to the obstacle, the distance to the target point, and the distance to the global path as a variable.
8. In the first paragraph, the moving step A method for determining a movement path of a mobile robot, characterized by performing incremental movement along a path according to the determined movement trajectory.
9. A computer program stored on a computer-readable recording medium to execute any one of the methods of claims 1 to 8 in combination with hardware.
10. A sensing unit that detects obstacles on the moving path; A trajectory generation unit that forms a plurality of predicted trajectories having a shape in which two or more curves having different linear velocities and different angular velocities are connected; A trajectory determination unit that calculates costs for the above-configured predicted trajectories and determines the predicted trajectory with the minimum cost as the movement trajectory; and A mobile robot characterized by including a moving part for incrementally moving according to the determined moving trajectory.
11. In the 10th paragraph, the trajectory generation unit A mobile robot characterized in that it configures a dynamic window that defines linear velocities and angular velocities applicable to the mobile robot based on the surrounding environment detected through one or more sensors.
12. In the 10th paragraph, the predicted trajectory is Includes the first and second curves connected based on a specific point, A mobile robot characterized in that the first and second curves have the same linear velocity and the same absolute value of angular velocity in opposite directions.
Citation Information
Patent Citations
Finfet device and method
KR1020210028094A
Walks for fish that can nurture vegetation
KR1020240146169A
Makgeolli with enhanced functionality and Manufacturing method thereof
KR1020250070862A
Electric power steering apparatus
KR1020250128175A
Autonomous mobile body and control method of same
US20130131910A1