Method for generating optimal travel route of robot based on floor surface state, robot, and program

The method generates an optimal robot driving path by considering real-time floor and weather conditions, addressing safety and efficiency issues in conventional systems by dynamically adjusting the path based on sensor data.

WO2025143450A1PCT designated stage expired Publication Date: 2025-07-03DOGU CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/014593
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-09-23
Filing Date
2024-09-26
Publication Date
2025-07-03

AI Technical Summary

Technical Problem

Conventional robot path planning systems fail to consider dynamic floor conditions and weather changes, leading to reduced driving safety, increased energy consumption, and potential collisions, especially in outdoor environments.

Method used

A method for generating an optimal driving path for robots based on real-time floor conditions and weather information, involving path classification, scoring, and regeneration to account for road usability and motor current changes.

Benefits of technology

Improves driving safety and efficiency by dynamically adjusting the path to avoid slippery or hazardous conditions, accurately predicting motor current consumption, and utilizing multiple sensor data beyond GPS.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024014593_03072025_PF_FP_ABST
    Figure KR2024014593_03072025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention relates to a method for generating an optimal travel route, based on floor surface state, of a robot, the method comprising the steps of: generating a plurality of candidate travel routes from the position of the robot to a destination; calculating travel scores for the candidate travel routes; and generating an optimal travel route based on the travel scores.
Need to check novelty before this filing date? Find Prior Art

Description

Method for generating an optimal driving path for a robot based on the floor condition, robot and program

[0001] The present invention relates to a technology for generating a driving path of a robot, and more specifically, to a technology for generating an optimal driving path of a robot based on a floor surface condition.

[0002] Traditionally, path planning technologies for robots have been studied and developed across various fields. Primarily for industrial and service robots, these technologies have been widely used to navigate along preset paths or to adjust paths in real time to avoid obstacles. These path planning technologies utilize sensors such as GPS, LiDAR, and cameras to perceive the environment and, based on this information, enable the robot to efficiently navigate to its destination.

[0003] Conventional technologies have primarily focused on calculating robot paths, primarily focusing on the shortest distance or energy efficiency. This means finding the fastest route to the destination or generating a path designed to minimize battery consumption. While theoretically efficient, these methods often fail to adequately account for road and surface conditions in real-world driving environments.

[0004] For example, when a robot is driving on a slippery or uneven surface, simply selecting the shortest path can lead to problems such as reduced driving safety, motor overload, and increased energy consumption. In particular, when the robot is driving on various surface conditions such as slopes, mud, gravel, and snow, the driving performance of the robot is significantly reduced. In such environments, the risk of the robot slipping or colliding with obstacles increases, making it difficult to simultaneously achieve driving safety and efficiency.

[0005] Furthermore, conventional robot path planning systems assume a static environment, limiting their ability to immediately reflect real-time changes in ground conditions. Specifically, in outdoor environments, when ground conditions rapidly change due to factors like rain or snow, robots are unable to properly detect and respond, increasing the likelihood of path problems.

[0006] For example, if a normally drivable path becomes slippery due to rain and mud, the robot will not be able to continue driving on that path. To drive safely on a path in such a changing environment, technology is needed to detect the ground condition in real time and immediately modify the path accordingly.

[0007] To solve these problems, technology is required to generate an optimal driving path for a robot based on the floor condition.

[0008] The purpose of the present invention is to propose a method for generating an optimal path for a robot based on a floor surface condition, a robot, and a program.

[0009] The objectives of the present invention are not limited to those mentioned above. Other objectives and advantages of the present invention not mentioned above can be understood through the following description and will be more clearly understood through the embodiments of the present invention. Furthermore, it will be readily apparent that the objectives and advantages of the present invention can be realized by the means and combinations thereof set forth in the claims.

[0010] According to an embodiment of the present invention for achieving the above-described purpose, a method for generating an optimal driving path based on a floor condition performed in a robot may include a step of generating a plurality of candidate paths from a position of the robot to a destination, a step of calculating a driving score for the candidate driving paths, and a step of generating an optimal driving path based on the driving score.

[0011] Additionally, the step of calculating the driving score may include a step of classifying the driving road types included in the candidate driving routes.

[0012] Additionally, the step of calculating the driving score may further include a step of determining whether there is a road among the classified road types that the robot cannot use.

[0013] Additionally, the step of calculating the driving score may further include a step of regenerating the candidate driving path based on whether there is a road that the robot cannot use in the candidate driving path.

[0014] Additionally, the step of calculating the driving score may further include a step of matching the expected motor current change value of the robot to each classified road type.

[0015] Additionally, the step of calculating the driving score may further include a step of calculating the driving score for candidate driving paths based on the expected motor current change value.

[0016] Meanwhile, a robot that generates an optimal driving path based on a floor surface condition may include a path generation unit that generates a plurality of candidate paths from a location of the robot to a destination, calculates a driving score for the candidate driving paths, and generates an optimal driving path based on the driving score.

[0017] Additionally, the path generation unit can classify the types of driving roads included in the candidate driving paths.

[0018] Additionally, the path generation unit can determine whether there is a road among the classified road types that the robot cannot use.

[0019] Additionally, the path generation unit can regenerate the candidate driving path based on whether there is a road that the robot cannot use in the candidate driving path.

[0020] Additionally, the path generation unit can match the expected motor current change value of the robot to each classified road type.

[0021] Additionally, the path generation unit can calculate driving scores for candidate driving paths based on the expected motor current change value.

[0022] Meanwhile, a computer program stored in a computer-readable recording medium according to an embodiment of the present invention for achieving the above-described purpose may include a program code for performing the above-described driving path generation method.

[0023] In addition, a computer-readable recording medium according to an embodiment of the present invention for achieving the above-described purpose may record a computer program for executing the above-described driving path generation method.

[0024] According to the present invention, an optimal driving path of a robot can be generated by taking into account the condition of the floor surface.

[0025] In addition, the present invention can improve driving safety by reflecting real-time weather information or road conditions when generating a route, thereby avoiding cases where the road becomes slippery or flooded due to rain, snow, wind, etc.

[0026] In addition, the present invention can estimate an accurate location by utilizing various sensor data in addition to GPS signals.

[0027] In addition, the present invention can accurately predict motor current consumption by considering changes in ground conditions, slope, weather, etc. on the path, and select an optimal path based on this.

[0028] The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.

[0029] Figures 1 and 2 are drawings showing a robot according to one embodiment of the present invention.

[0030] FIG. 3 is a drawing showing the configuration of a robot control system according to one embodiment of the present invention.

[0031] Figure 4 is a drawing showing the configuration of a robot according to one embodiment of the present invention.

[0032] FIG. 5 is a diagram illustrating a map creation method according to one embodiment of the present invention.

[0033] Figure 6 is a drawing showing some of the maps described in Figure 5.

[0034] FIG. 7 is a diagram illustrating a map generation method according to an exemplary embodiment of the present invention.

[0035] all.

[0036] Figures 8 to 10 are flowcharts illustrating a method for generating an optimal path based on a floor surface condition according to one embodiment of the present invention.

[0037] The following merely illustrates 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 concepts of the present invention, and should be understood as being in no way limiting to the specifically enumerated embodiments and conditions.

[0038] The above-described objects, features and advantages will become more apparent through the following detailed description with reference to the attached drawings, so that a person having ordinary skill in the art to which the present invention pertains can easily practice the technical idea of ​​the present invention.

[0039] In addition, in describing the present invention, if it is determined that a detailed description of a known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description will be omitted.

[0040] Hereinafter, various embodiments of the present invention will be described in detail with reference to the attached drawings.

[0041] Figures 1 and 2 are drawings showing a robot (10) according to an exemplary embodiment of the present invention. Here, the robot (10) can be divided into a robot (10a) that drives in an indoor environment and a robot (10b) that drives in an outdoor environment.

[0042] For example, in the case of a robot (10a) that is equipped with a display unit (111) on the front as shown in Fig. 1 and requires information exchange with a user, it may be suitable for driving in an indoor environment, and in the case of a robot (10b) that is sealed by a housing (12) as shown in Fig. 2 and does not have a separate display unit, it may be suitable for driving in an outdoor environment.

[0043] The robot (10a) of Fig. 1 may include a body part (11), a driving part (151, 153), and a head part (13).

[0044] The head (13) is equipped with a display (131) on the front to display information for communication with the user, and a sensor (133) is equipped on the upper part of the head (13) to collect various information necessary for the driving of the robot (10a).

[0045] The body part (11) is provided with a display part (111) on the front to display information required by the user or the status of the robot, etc. For example, the display part (131) of the head part can display information in the form of feedback according to the input value of the user or administrator, and the display part (111) of the body part can display the time, weather, information of the target space, the status of the robot, etc., and can display the above-described information in various ways according to the user's operation.

[0046] The driving part of this embodiment may be provided in the form of a wheel at the lower part of the body part (11), and may include a main wheel (151) that rotates directly by a motor and an auxiliary wheel (153) that prevents the robot (10a) from overturning and rotates by friction with the ground according to the movement of the robot (10a).

[0047] The robot (10b) of Fig. 2 has a structure in which the internal structure of the robot is firmly sealed by a housing (12), and unlike the robot (10a) of Fig. 1, structures such as the display portion (111, 113) that are relatively less durable are omitted.

[0048] More specifically, the housing (12) forms a combined structure of an upper housing (12u) and a lower housing (12d), and a sensor (121) is provided on the upper surface of the upper housing (12u), and a sensor (123) is also provided on the front surface of the lower housing (12d). Of course, various types of sensors can be adopted for each sensor (121, 123) depending on the purpose.

[0049] In addition, as described above, the wheels (141) forming the driving part of the robot (10b) of the present embodiment for driving in an outdoor environment can be directly rotated by the power transmission of the motor.

[0050] The robots (10a, 10b) described above are exemplary drawings for expressing the robots described in the following embodiments, and are a type of robot that constitutes the logic and system described below, and therefore should not be interpreted as being limited thereto.

[0051] FIG. 3 is a drawing showing the configuration of a robot control system according to an exemplary embodiment of the present invention, and FIG. 4 is a drawing showing the configuration of a robot according to an exemplary embodiment of the present invention.

[0052] The following description is provided with reference to Figures 3 and 4.

[0053] The robot control system of this embodiment may include a robot (10), a database (30), and a server (50).

[0054] The robot (10) may include a robot of various shapes and configurations that can drive indoors and outdoors as described above, and may perform a mission by transmitting and receiving information such as map information, driving information, and driving route information with a database (30) and a server (50).

[0055] Referring to FIG. 4, the robot (10) of the present embodiment may include a control unit (210), a movement module (220), a sensor unit (230), a photographing unit (240), a display unit (250), a storage unit (260), a communication unit (270), a map generation unit (280), and a map merging unit (290).

[0056] First, the movement module (220) can be composed of a motor, a gear assembly, and wheels, and can provide driving force for movement (driving) of the robot (10).

[0057] Specifically, the motor is a core component of the movement module, which directly transmits driving force to the robot's wheels, and the gear assembly appropriately converts the rotational force generated by the motor and transmits it to the wheels, and the wheels transmit this driving force to the ground, allowing the robot to move in the desired direction.

[0058] The movement module (220) can be controlled based on the current flowing to the motor while the robot is moving. The current flowing to the motor during movement can vary depending on the condition of the ground the robot is facing, the slope, the presence or absence of obstacles, etc.

[0059] The sensor unit (230) may include various sensors that can acquire information about the target space while the robot moves within the target space. For example, the sensor unit (230) may include at least two of an image sensor, a lidar sensor, and a radar sensor. Here, the target space refers to a specific area or region where the robot (10) moves or performs work. This refers to a physical location where the robot (10) must move, and may mainly refer to an indoor or outdoor space, and may include a destination or work environment where the robot's route setting, driving, and work are performed.

[0060] Specifically, the sensor unit (230) can detect the condition of the floor (or ground) facing the robot (e.g., asphalt, concrete, dirt road, sand road, gravel road, tile floor, etc.), slope, and presence of obstacles, etc., through an image sensor, a lidar sensor, and a radar sensor. For example, a lidar sensor can accurately detect changes in the height of the floor or the location of an obstacle by emitting a laser beam and receiving a reflected signal. In addition, an image sensor can collect visual information of the floor to recognize and analyze the surface condition of the path along which the robot is driving, and a radar sensor can measure the distance and speed of objects or obstacles around the robot using radio waves.

[0061] Additionally, the sensor unit (230) may include a function for detecting changes in the current flowing to the motor during driving. The current flowing to the motor may vary depending on the condition or incline of the floor surface the robot faces. For example, when the robot drives on a sloped or uneven floor surface, the load on the motor may increase, causing the current to increase. The sensor unit (230) can detect and analyze such current changes in real time.

[0062] Additionally, the sensor unit (230) may include several sensors for measuring the status of the robot (10), thereby generating status data regarding the status of the robot (10). For example, the status data may include battery status (e.g., temperature, remaining capacity, etc.), motor status, location information (e.g., current location, inclination, acceleration, etc.), temperature information, vibration information, etc.

[0063] The photographing unit (240) may include a real-image sensor unit (not shown) for photographing real-image images, a thermal image sensor unit (not shown) for acquiring thermal images, etc. For example, the real-image sensor unit (not shown) may be implemented as an RGB camera, and the thermal image sensor unit (not shown) may be implemented as an infrared (infra-red) camera. Through the configuration of the photographing unit (240), the robot (10) can accurately identify objects not only in a high-illuminance environment such as during the day, but also in a low-illuminance environment such as at night.

[0064] The display unit (250) can display the status of the robot (10), time, weather, information on the target space, etc. In terms of the robot control system of the present embodiment, for example, when the robot (10) is unable to drive or perform a mission due to the occurrence of an event, the robot (10) can transmit status information of the robot (10) to the server (50) and then display at least a portion of the status information of the robot (10) through the display unit (250) while waiting until a worker arrives at the location at which the status information was transmitted to the server (50) and a separate command is input.

[0065] That is, the display unit (250) can display the general status of the robot, information required for the mission, information to be provided to the user or worker, and of course, information required for the robot control system can also be displayed.

[0066] The storage unit (260) can store various data required for the operation of the robot (100) or various data generated during the operation, and can store various data received from the outside. For example, the storage unit (260) can store programs for the operation of the robot (100), map information, captured images, scenarios for mission execution, etc.

[0067] Additionally, the storage unit (260) can store floor data including the status of the floor surface, slope, and presence or absence of obstacles acquired in real time, or status data of the robot (10).

[0068] The communication unit (270) may include one or more modules that enable the robot (10) to communicate with other devices (e.g., a remote control system, a server (50), another robot, a database (30), etc.). For example, the communication unit (270) may receive real-time weather information about the current location or purpose of the robot (10) from an external server.

[0069] Additionally, the communication unit (270) may include a GPS (Global Positioning System) module, and the communication unit (270) may receive signals from satellites to determine the current location of the robot (10).

[0070] Meanwhile, the control unit (210) may include a processor (211), a path generation unit (2131), a driving path map generation unit (2133), a driving control unit (215), and an event detection unit (217).

[0071] The processor (211) can process information obtained from various components included in the above-described robot.

[0072] The path generation unit (2131) and the driving path map generation unit (2133) can select any one of the maps formed by arranging (merging) at least two different format maps generated through the map generation unit (280), and can generate a driving path of the robot through the path generation unit (2131) within the selected map, or can generate a driving path map used by the robot based on the driving path generated through the driving path map generation unit (2133).

[0073] The above driving path map means a simplified map composed of nodes, edges, and context information included in each node or edge, generated according to the example described below. Nodes may represent objects that are targets of a robot's mission or points where a change in the robot's status (e.g., change in driving direction) occurs on the driving path. Edges may connect nodes and represent the robot's driving path between nodes. Context information may represent control command values ​​for the robot at nodes or edges, information about nodes, etc.

[0074] Meanwhile, the path generation unit (2131) can generate a driving path between objects using a map generated by the global map generation unit (281), and can generate a driving path more effectively by generating a path using a map generated by the local map generation unit (283) in the vicinity of the object (a predetermined area based on the object), and similarly, when modifying the generated driving path for other reasons, it will be possible to quickly respond to other reasons by modifying the driving path according to the exemplary criteria described above.

[0075] In addition, as an example, the path generation unit (2131) can generate a plurality of candidate driving paths for the robot (10) to perform a mission in a target space (map information), and select an optimal driving path from the generated candidate driving paths based on preset criteria, thereby generating an optimal driving path for the robot (10).

[0076] The above-described preset criteria can be used to set the surveillance priority according to the mission of the robot (10) for objects existing on the map information, and can be used as a criterion for determining whether a surveillance blind spot occurs in the object when performing the assigned task (driving) according to the set priority.

[0077] Additionally, the path generation unit (2131) can generate an optimal driving path of the robot based on the floor surface condition.

[0078] Specifically, the path generation unit (2131) can estimate the robot's location, generate multiple candidate paths from the robot's location to the destination, calculate driving scores for the candidate driving paths, and generate an optimal driving path based on the driving scores. This will be described later in FIGS. 8 to 10 .

[0079] Meanwhile, the driving control unit (215) can generate or transmit a signal for controlling the movement module (220). More specifically, the signal for controlling the movement module (220) may be generated by a control signal input from the server (50) through the communication unit (270), or the signal for controlling the movement module (220) may be generated based on a result of processing through the processor (211) based on information about the target space acquired from the sensor unit (230) or the photographing unit (240).

[0080] Additionally, the drive control unit (215) can generate a control signal to provide optimal driving force to the movement module (220) according to real-time current changes analyzed through the processor (211).

[0081] For example, if the current increases above a certain level, the robot may be facing a situation where it experiences high resistance (e.g., a slope or an uneven surface), so the gear ratio may be adjusted or the rotation speed of the motor may be adjusted accordingly to ensure stable driving.

[0082] The event detection unit (217) can detect an abnormal situation occurring in any of the objects existing in the target space, an abnormal situation occurring on the robot's driving path, or an abnormal situation occurring in the robot, through the sensor unit (230), the camera unit (240), the communication unit (270), and the process (211).

[0083] The map generation unit (280) can convert the target space where the robot (10) drives into various formats and then generate a map for each format, and the map merging unit (290) can perform conversion and alignment of maps generated in each format.

[0084] This is explained in more detail with reference to examples in Figures 5 and 6 below.

[0085] Meanwhile, the database (30) may store information on map information for the target space, multiple scenarios, driving routes, types of events, etc. For example, the map information may include various map information for expressing the target space, and may include, for example, a satellite map (2D Map), SLAM information (Simultaneous Localization and Mapping), PCD (Point Cloud Data), a topological map, a semantic map, an HD map (High-Definition Map), etc. for the target space.

[0086] The server (50) may transmit map information to the robot (10), or may assign a mission to the robot (10) or perform a robot (10) control task according to the assigned mission.

[0087] Of course, the server (50) may also serve as an information relay point between the robot (10) and the database (30) on the robot control system, and some of the above-described vehicle event type confirmation, map information transmission, and robot control command transmission may be performed in the database (30) or through a configuration installed in the robot (10).

[0088] FIG. 5 is a drawing showing a map creation method according to an exemplary embodiment of the present invention, and FIG. 6 is a drawing showing some maps described in FIG. 5.

[0089] The following description is provided with reference to Figures 4 to 6.

[0090] In this embodiment, the map used by the robot (10) to perform the mission is a map (hereinafter referred to as a hybrid map) in which maps of different formats are merged (overlapping, aligned, and stacked), and can be divided into a global map and a local map depending on the form of the map.

[0091] A global map may mean a 2D map generated through a global map generation unit (281) based on a satellite map received from a communication unit (270) or a database (30), and a local map may mean a 3D map (spatial map, feature map) generated through a local map generation unit (283) based on point cloud information (Point Cloud Data, PCD) received from a communication unit (270) or a database (30).

[0092] Of course, the point cloud information required for the above local map creation may be collected through the sensor unit (230) while the robot (10) drives for mapping the target space and may be stored in the storage unit (260).

[0093] The map merging unit (290) can generate a hybrid map using maps of different formats. More specifically, the map merging unit (290) can include a map conversion unit (291) and a map alignment unit (293). The map conversion unit (291) can convert one of the different formats of maps into a reference format to generate a specific map, and the map alignment unit (293) can generate the specific map by overlapping and aligning maps that have been converted and formed into the same format.

[0094] Of course, the map alignment unit (293) can also create a single map by overlapping and aligning map information of different formats as described above, and for example, objects that are mission targets based on the global map can be expressed as nodes, and detailed information of objects expressed as each node can be overlapping and aligning information of the local map to create a hybrid map.

[0095] Referring to FIG. 5, a series of processes divided into steps S11 (S111 to S117) for generating a first map represents a process for generating the global map described above, a series of processes divided into steps S14 (S141 to S147) represents a process for generating a local map, and a series of processes divided into steps S16 (S161 to S165) represents a process for converting some information during the local map generation process into a 2D map and generating an intermediate map by merging the necessary information with the first map.

[0096] More specifically, first, looking at the process of creating a global map, the robot (10) can receive satellite information (S111) from a database (30) or server (50) through a communication unit (270).

[0097] The above satellite information may include aerial photographs, orthophotos, and true orthophotos of the target space, and may be expressed as photographs or images such as d1 in FIG. 6, for example.

[0098] After receiving satellite information, the global map generation unit (281) can generate a first map (S117) by dividing an area (S113) and performing labeling (S115) based on the received satellite information.

[0099] More specifically, information included in 2D Layout Data, such as road boundaries, building boundaries, and roads usable by robots (d51), can be expressed through division of areas (S113), as exemplarily expressed in d5, and labeling (S115) can be performed by inputting context information for each divided area, required area, or expressed information.

[0100] The 2D map generated through the above-described process may be referred to as the first map (d5) in this embodiment.

[0101] Next, looking at the process of generating a local map, the robot (10) can collect point cloud information of the target space (S141), which can be expressed as d2 in Fig. 6 as an example. The collection refers to various methods of obtaining point cloud information (3D data), as described above.

[0102] Meanwhile, the spatial map generation unit (2833) can generate a spatial map (d3) based on the above point cloud information. Briefly, the generation of the spatial map can be generated through a postprocessing step of the acquired raw data (PCD, 3D data). For example, after performing outlier removal (noise removal) through the acquired raw information, each data set can be aligned and merged to perform a rendering operation.

[0103] After a series of processes for generating the above spatial map are performed, or during a series of processes, the feature map generation unit (2831) may generate a feature map (d4) (S147) through a step (S145) of extracting feature points for objects. At this time, the feature map may include floor data including ground condition, slope, presence or absence of obstacles, friction coefficient, etc., matched to each location on the map based on data acquired through multiple sensors.

[0104] That is, the 3D map generated through the above-described process may be referred to as the second map (d4) in the present embodiment.

[0105] Meanwhile, the map merging unit (290) can convert a spatial map generated based on PCD into a 2D map (S161) through the map conversion unit (291), and then merge the converted map with the first map (S163) through the map alignment unit (293) to generate a third map (d5) (S165).

[0106] The third map can express some of the information not expressed in the satellite information by overlaying and aligning a 2D map converted through a spatial map (3D data) onto the first map generated based on the satellite information (2D layout data). Therefore, in Fig. 6, the first and third maps are expressed as d5 for convenience.

[0107] Meanwhile, the control unit (210) can create a hybrid map (d6) by merging the first map, the second map, and the third map through the map generation unit (280) and the map merging unit (290) (S18).

[0108] Additionally, according to various embodiments of the present invention, a hybrid map may be formed by merging a second map and a third map.

[0109] FIG. 7 is a diagram illustrating a map generation method according to an exemplary embodiment of the present invention.

[0110] The following description is provided with reference to Figure 7, but the above-described content is omitted.

[0111] The robot (10) of the present embodiment can create a global map (S11) through the above-described configuration and method, and the path creation unit (2131) can extract a path (d51 of FIG. 5) that the robot (10) can use based on the created global map (S13).

[0112] The path that the above robot (10) can use can be set as an area that includes a portion of the boundary demarcated as an area where a person can drive from the boundary demarcated as an area where a vehicle can drive, for example.

[0113] And the robot (10) can receive (S151) the PCD stored in the database (30) through the communication unit (270). More specifically, the PCD reception can be based on the robot's usage path extracted in the above step (S13).

[0114] That is, rather than receiving a large amount of PCDs for the target space, it will be possible to more effectively generate the robot's driving path or map by receiving PCDs on the path that the robot can use.

[0115] Meanwhile, the spatial map generation unit (2833) generates a PCD-based spatial map (S153), and when the generated spatial map is converted into a 2D map by the map conversion unit (291) (S155: Yes), the map alignment unit (293) can merge the converted 2D map and the map (first map, global map) generated in the above step (S11) to generate a hybrid map (S171).

[0116] The hybrid map generated in the above step (S171) can be referred to as a hybrid map in the sense that two maps containing different information are overlapping, but it is clear that the information contained is different from that of the hybrid map generated in the subsequent step S19.

[0117] After the above step (S171), the map alignment unit (293) can compare the matching rate (degree of overlap) of the two maps with a reference value, and if the matching rate exceeds the reference value (S173: No), the two overlapping maps can be aligned to create an intermediate map (S175).

[0118] Alternatively, for example, the hybrid map generated in the step (S171) may mean a map in which two maps containing different information (the first map and the converted 2D map) are overlapped and aligned, and in this case, if the matching rate (degree of overlap) in the step (S173) exceeds the reference value by comparing it with the reference value (S173: No), the intermediate map in the step S175 may mean a map already generated in the step (S171).

[0119] The above degree of overlap can be determined based on elements (e.g., robot usage path boundary lines) commonly included in the first map (2D layout data map based on satellite information) and the 2D map converted from the spatial map (3D data).

[0120] Meanwhile, if the spatial map generated in the above step (S155) is not converted into a 2D map (S155: No), the feature map generation unit (2831) can extract feature points for objects from the spatial map and generate a feature map (S157), as described above.

[0121] And the control unit (210) can create a hybrid map (S19) by merging two or more maps created through the above-described process through the map creation unit (280) and the map merging unit (290).

[0122] Next, with reference to Fig. 8, a method for generating an optimal path based on the floor surface condition of the robot (10) is described.

[0123] Figure 8 is a flowchart illustrating a method for generating an optimal path based on a floor surface condition according to one embodiment of the present invention.

[0124] Referring to Fig. 8, the robot (10) can estimate the current position of the robot based on various data (S1000).

[0125] Specifically, the robot (10) utilizes a GPS (Global Positioning System) signal to estimate its current location, but may additionally utilize various sensor data to compensate for errors or reliability degradation of the GPS signal.

[0126] For example, the robot (10) can estimate the current location of the robot (10) by comparing the surrounding image of the robot (10) captured by the camera unit (240) with the second map or hybrid map described above. Here, the robot (10) can estimate the exact current location of the robot (10) by comparing the building exterior or landmark image in the surrounding image with the second map.

[0127] As another example, the robot (10) can estimate the current location of the robot (10) by comparing the condition of the ground, slope, and presence or absence of obstacles on which the robot is currently located, sensed through the sensor unit (230), with the third map or hybrid map described above.

[0128] That is, the robot (10) determines the current location based on the GPS signal, but can finely correct (or adjust) the current location through other data (e.g., image or sensing data).

[0129] Additionally, when estimating a current location, the robot (10) can, instead of comparing the entire map, set an area based on GPS signals and use a second map, third map, or hybrid map corresponding to the set area. This allows the location estimation process to be performed more quickly and efficiently.

[0130] Next, the robot (10) can generate at least one candidate driving path from the estimated current position to the destination (S2000). Here, the destination may refer to the final location or point to which the robot must move, and the candidate driving path may refer to one of several possible paths the robot can select to move from the estimated current position to the destination.

[0131] Specifically, the robot (10) can generate a candidate driving route that minimizes the shortest distance between the estimated current location and the destination based on the hybrid map. At this time, the robot (10) can generate the candidate driving route by taking into account time efficiency, battery efficiency, safety, etc.

[0132] For example, the robot (10) can generate a candidate driving path by giving priority to a path with fewer obstacles and smooth traffic so as to minimize the driving time.

[0133] As another example, the robot (10) may generate a candidate driving path along a flat road with a low gradient and low energy consumption to optimize battery life.

[0134] As another example, the robot (10) can generate a candidate driving path to avoid complex intersections or areas with frequent contact with people to ensure driving stability.

[0135] Additionally, the robot (10) can generate candidate driving routes by considering real-time weather information. For example, in the event of heavy rain or snow, the robot (10) can generate candidate driving routes that avoid slippery roads or flooded areas and instead choose safer routes. In the event of strong winds, the robot (10) can generate candidate driving routes by giving priority to routes less affected by the wind.

[0136] Next, the robot (10) can calculate driving scores for the generated candidate driving paths (S3000). Specifically, the robot (10) can analyze the driving difficulty and energy efficiency of the candidate driving paths based on motor current change values, and calculate driving scores by comprehensively considering various factors such as time efficiency and safety. This will be described with reference to FIG. 9.

[0137] FIG. 9 is a flowchart illustrating in more detail a method for generating an optimal driving path based on a floor surface condition according to one embodiment of the present invention.

[0138] Referring to FIG. 9, the robot (10) can classify the types of driving roads included in the candidate driving paths (S3100). Here, the driving road refers to the road on which the robot (10) actually drives when moving, and each candidate driving path can be composed of a combination of various types of driving roads.

[0139] Specifically, the robot (10) can classify and categorize the driving roads included in the candidate driving routes by type based on the hybrid map. Here, the driving road types can be classified into lanes, center lines, border lines, robot roads (differentiated by driving path lines, curbs, and pedestrian lines), roads around facilities, and roads around waypoints.

[0140] For example, the robot (10) can distinguish between major roads and sidewalks through a global map, and can distinguish accurate boundaries by combining curb or pedestrian line information through a local map, thereby classifying driving roads within a candidate driving route by type.

[0141] That is, the robot (10) can classify the driving roads included in the candidate driving routes by type by utilizing the local map to supplement the information in the global map. Through this, each candidate driving route can be divided into several types of driving roads.

[0142] Next, the robot (10) can determine whether there are any roads among the classified road types that the robot (10) cannot use (S3200). Here, an unusable road refers to a road that is unsuitable or unsafe for the robot to drive on. Considering the physical characteristics, driving ability, safety, etc. of the robot, this may include roads that the robot (10) cannot pass through or on which driving is extremely difficult (e.g., roads that are too narrow, rough terrain, stairs, steep slopes, sidewalks, slippery roads, etc.).

[0143] These unusable roads may be determined differently depending on the condition of the robot (10) (e.g., battery, tire condition, etc.). For example, when the robot's (10) tires are in good condition, it can safely drive on slippery roads or rough terrain. However, if the tires are worn or damaged, such roads may be dangerous and thus deemed unusable.

[0144] That is, the robot (10) can determine whether a type of road classified as a road that the robot (10) cannot use is included in the candidate driving route.

[0145] If a road that the robot (10) cannot use is included in the candidate driving path (S3200, YES), the robot (10) may generate a new candidate driving path instead of the existing candidate driving path (S3300). Here, the new candidate driving path is designated as the second candidate driving path, and the existing candidate driving path is designated as the first candidate driving path.

[0146] In addition, the robot (10) may re-perform the road type classification step (S3100) for the second candidate driving path. At this time, if only a very small number of the first candidate driving paths include roads that cannot be used, the robot (10) may exclude the candidate driving paths and then perform the matching step (S3400).

[0147] Meanwhile, if a road that the robot (10) cannot use is not included in the candidate driving paths (S3200, NO), the robot (10) can match the expected motor current change value of the robot (10) by the classified road type within the candidate driving paths (S3400). Here, the robot (10) can calculate the expected motor current change value of the robot (10) while driving each candidate driving path based on the floor surface data matched to the hybrid map and match it to each candidate driving path. At this time, the hybrid map can include information such as the slope of the road, surface condition (asphalt, gravel, mud, etc.), and location of obstacles by combining a global map (e.g., satellite map) and a local map (e.g., 3D point cloud).

[0148] Specifically, the robot (10) can calculate an expected motor current change value by reflecting the current change of the motor according to the floor surface of the candidate driving path, and the calculated expected motor current change value can be matched to the corresponding candidate driving path. Here, the expected motor current change value means a predicted value of how much the current of the motor will change from the basic current value depending on the driving conditions when the robot (10) drives a specific driving path, and can be expressed as a percentage value.

[0149] For example, if the path is a flat asphalt road with no slope, the expected motor current change value can be calculated as 2%, and if the path is a gravel road with a slope of 10%, the expected motor current change value can be calculated as 20%.

[0150] Additionally, the robot (10) can also calculate an expected motor current change value by considering weather information for each candidate driving path.

[0151] For example, the robot (10) can calculate the expected motor current change value as 10% on a rainy, flat asphalt road section within the candidate driving path, and can calculate the expected motor current change value as 15% on a flat road section with strong wind within the candidate driving path.

[0152] That is, the robot (10) can calculate the expected motor current change value by considering the change in frictional resistance according to the weather within the candidate driving path.

[0153] Next, the robot (10) can calculate driving scores for multiple candidate driving paths based on the expected motor current change values ​​(S3500).

[0154] Specifically, the robot (10) can calculate the current consumption of each candidate driving path based on the motor current change value matched to each candidate driving path. For example, the robot (10) can calculate the current consumption of the robot (10) for each candidate driving path by applying the expected motor current change value to the basic current value and then reflecting the distance and driving time of the corresponding candidate driving path. Here, the basic current value refers to the current consumed when the robot (10) drives on a flat road.

[0155] In addition, the robot (10) can calculate a driving score for each candidate driving path using the calculated current consumption (energy efficiency) of each candidate driving path, the driving time (time efficiency) of each candidate path, safety, etc. as evaluation criteria elements. At this time, the robot (10) can calculate the driving score of the candidate driving path by assigning a relative score to each evaluation criteria element.

[0156] Additionally, the robot (10) can calculate a driving score for a candidate driving path by reflecting weights on evaluation criteria elements. Here, the weights can be variably determined depending on the scenario, purpose, status, etc. of the robot (10).

[0157] Again, referring to FIG. 8, the robot (10) can generate an optimal path among candidate driving paths based on the driving score (S4000).

[0158] Specifically, the robot (10) can select the candidate driving path with the highest driving score among the candidate driving paths as the optimal driving path, and the robot (10) can perform driving according to the selected driving path.

[0159] In addition, if an unexpected situation (e.g., sudden weather change, etc.) occurs while the robot (10) is driving along the selected optimal path, the robot can re-run the robot position estimation step (S1000) to create (or select) a new optimal driving path.

[0160] Meanwhile, if the actual motor current change value during driving differs somewhat from the expected motor current change value, rather than immediately recalculating the path, the driving score of the previously generated candidate driving path can be reevaluated to reselect the optimal driving path. This will be further explained with reference to Fig. 10.

[0161] Fig. 10 is a flowchart illustrating a method for generating an optimal path based on a floor surface condition according to one embodiment of the present invention.

[0162] Referring to FIG. 10, the robot (10) can determine whether the difference between the actual expected motor current change value and the expected motor current change value is greater than a preset reference value (S6100).

[0163] Specifically, the robot (10) can monitor the actual motor current change value measured through the sensor unit (230) in real time while driving, and compare it with the expected motor current change value calculated by analyzing the driving path in advance to determine whether the difference is greater than a reference value.

[0164] And, if no difference exceeding the reference value occurs (S6100, NO), the robot (10) determines that the driving conditions have not changed and can continue driving on the previously selected optimal driving path (S6200).

[0165] If a difference exceeding the reference value occurs (S6100, YES), the robot (10) can recalculate the driving scores of the candidate driving paths generated based on actual data and reselect the optimal driving path (S6300).

[0166] Specifically, the robot (10) can recalculate the driving score for the previously generated candidate driving path using the actually measured motor current change value, changes in driving conditions, etc., and reselect the optimal path among the candidate driving paths based on the recalculated driving score. At this time, among the previously generated candidate driving paths, candidate driving paths that cannot be performed from the robot position of the robot (10) (for example, candidate driving paths that cannot be accessed or driven from the current robot position) can be excluded from the recalculation target.

[0167] That is, the robot (10) can exclude from re-evaluation candidate driving paths that the robot cannot pass due to a road being blocked or an obstacle, and can continue driving by selecting an optimal path only among candidate driving paths that can be driven from the current location of the robot (10).

[0168] Additionally, the robot (10) can update the hybrid map for areas where actual data is measured differently (S6400).

[0169] Specifically, the robot (10) can modify data matched to the corresponding area of ​​the existing hybrid map based on data such as ground condition, slope, presence of obstacles, and motor current change value measured on the actual driving path.

[0170] Meanwhile, the above-described method for generating an optimal path for a floor-surface-based robot has been described based on the case where it is performed by the robot (10) itself (specifically, the path generation unit (2131)), but the above-described method for generating an optimal driving path can be performed by a control server (50) in addition to the robot (10), and the robot (10) can transmit real-time data to the control server (50) and receive an optimal path from the control server (50). In this case, the control server (50) can be configured with a control unit, a map generation unit, a map merging unit, and various device configurations that perform the same functions as the robot (10).

[0171] According to the present invention described above, by reflecting real-time weather information or road conditions when generating a route, it is possible to avoid cases where the road becomes slippery or flooded due to rain, snow, wind, etc., thereby improving driving safety.

[0172] In addition, the present invention can estimate an accurate location by utilizing various sensor data (e.g., captured images, ground conditions through a sensor unit, etc.) in addition to GPS signals.

[0173] In addition, the present invention can accurately predict motor current consumption by considering changes in ground conditions, slope, weather, etc. on the path, and select an optimal path based on this.

[0174] In addition, the present invention can dynamically adjust the path selection criteria according to the situation or the state of the robot by applying variable weights to each evaluation factor, thereby enabling the selection of an optimized path under specific conditions.

[0175] The various embodiments described herein may be implemented in a recording medium readable by a computer or similar device, for example, using software, hardware, or a combination thereof.

[0176] In terms of hardware implementation, the embodiments described herein can be implemented using at least one of ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays), processors, controllers, micro-controllers, microprocessors, and other electrical units for performing functions. In some cases, the embodiments described herein can be implemented as a control module itself.

[0177] In a software implementation, the procedures and functions described herein, as well as other embodiments, may be implemented as separate software modules. Each of these software modules may perform one or more of the functions and operations described herein. The software code may be implemented as a software application written in a suitable programming language. The software code may be stored in a memory module and executed by a control module.

[0178] The above description is merely an example of the technical idea of ​​the present invention, and those skilled in the art will appreciate that various modifications, changes, and substitutions can be made without departing from the essential characteristics of the present invention.

[0179] Accordingly, the embodiments disclosed in the present invention and the accompanying drawings are intended to illustrate, rather than limit, the technical concept of the present invention, and the scope of the technical concept of the present invention is not limited by these embodiments and the accompanying drawings. The protection scope of the present invention should be interpreted by the following claims, and all technical concepts within the scope equivalent thereto should be interpreted as being included within the scope of the rights of the present invention.

Claims

1. In a method for generating an optimal driving path based on the floor condition of a robot, A step of generating multiple candidate paths from the position of the robot to the destination; A step of calculating a driving score for the above candidate driving route; and A driving route generation method comprising: a step of generating an optimal driving route based on the driving score.

2. In paragraph 1, The steps for calculating the above driving score are: A driving route generation method, characterized by including a step of classifying the driving road types included in the above candidate driving routes.

3. In paragraph 2, The steps for calculating the above driving score are A driving path generation method, characterized in that it further includes a step of determining whether there is a road among the classified road types that the robot cannot use.

4. In paragraph 3, The steps for calculating the above driving score are: A driving path generation method, characterized in that it further includes a step of regenerating a candidate driving path based on whether there is a road that the robot cannot use in the candidate driving path.

5. In paragraph 4, The steps for calculating the above driving score are A driving path generation method, characterized in that it further includes a step of matching the expected motor current change value of the robot according to the classified road type.

6. In paragraph 5, The steps for calculating the above driving score are A driving path generation method, characterized in that it further includes a step of calculating driving scores for candidate driving paths based on the above expected motor current change value.

7. In a robot that generates an optimal driving path based on the floor condition, A robot including a path generation unit that generates a plurality of candidate paths from the position of the robot to the destination, calculates driving scores for the candidate driving paths, and generates an optimal driving path based on the driving scores.

8. In paragraph 7, The above path generation part A robot characterized by classifying the types of driving roads included in the above candidate driving routes.

9. In paragraph 8, The above path generation part A robot characterized by determining whether there is a road among the above classified road types that the robot cannot use.

10. In paragraph 9, The above path generation unit, A robot characterized in that it regenerates a candidate driving path based on whether there is a road that the robot cannot use in the candidate driving path.

11. In Article 10, The above path generation part A robot characterized by matching the expected motor current change value of the robot to the classified road type.

12. In paragraph 11, The above path generation part A robot characterized in that it calculates driving scores for candidate driving paths based on the above expected motor current change values.

13. A computer-readable recording medium storing a program for performing a driving route generation method according to any one of claims 1 to 6.

14. A program stored on a computer-readable recording medium including a program code for executing a driving route generation method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Route planning device and route planning method

    JP2016218673A

  • Method for planing optimal path of mobile robot and mobile robot using the same

    KR1020120069949A

  • Enhanced robot path planning

    US11254003B1

  • KR20210118672A

  • KR20220124064A