Patent Description:
The present disclosure relates to cleaning robot with a moving path planning apparatus and method for a cleaning robot, and more particularly, to an apparatus and a method for planning a moving path of a cleaning robot.

The most important issue of a mopping cleaning robot is to clean with a brush while spraying water and suck up all the water sprayed on the floor through a water intake at the rear. The mopping cleaning robot of the related art changes the position to a next cleaning line by rotating in place. Therefore, when the cleaning line of the mopping cleaning robot is changed, the mopping cleaning robot cannot suck up all the water sprayed on the floor.

<CIT> discloses a moving pattern planning apparatus and method which plans a moving pattern for every sub region of a map based on the size of the moving pattern and the space of the sub region.

<CIT> discloses a steering control algorithm for a cleaning robot which constantly computes an arc between a current location of the cleaning robot and a look-ahead point on the predetermined path.

<NPL> deals with the task of autonomously guiding a vehicle along a known reference path, for example a road.

<NPL> discloses a robotic cleaner operating outdoors.

An object to be achieved by the present disclosure is to provide cleaning robot with a moving path planning apparatus and method for a cleaning robot which determine an actual moving path using a predetermined robot parameter on the basis of a moving path pattern acquired for every sub region of a map.

Other and further objects of the present invention which are not specifically described can be further considered within the scope easily deduced from the following detailed description and the effect.

In order to achieve the above-described objects, according to an aspect of the present disclosure, a moving path planning apparatus for a robot includes: a moving path pattern acquiring unit which acquires one or more sub regions from a map and acquires a robot moving path pattern for each of one or more sub regions; and a moving path planning unit which plans an actual moving path of the robot for each of one or more sub regions on the basis of a predetermined robot parameter and the moving path pattern for the sub region.

Here, the moving path planning unit acquires a plurality of preliminary paths using a forward gaze distance and a minimum turning radius according to the predetermined robot parameter, on the basis of a current position of the robot and determines one preliminary path among the plurality of preliminary paths as the actual moving path of the robot on the basis of a distance from the moving path pattern and a distance from an obstacle.

Here, the moving path planning unit acquires a plurality of front points which is separated from a center point of the robot by the forward gaze distance at a predetermined angle unit, acquires a preliminary path candidate group by generating an arc connecting the robot and each of the plurality of front points, and acquires preliminary paths having a turning radius which is larger than the minimum turning radium, among the preliminary path candidate group, as the plurality of preliminary paths.

Here, the moving path planning unit acquires the plurality of front points with respect to a centroid of two steering wheels of the robot and acquires the preliminary path candidate group by generating an arc for each of the plurality of front points using a geometric path tracking method (pure pursuit algorithm).

Here, the moving path planning unit acquires an evaluation score for each of the plurality of preliminary paths on the basis of the distance from the moving path pattern and the distance from the obstacle and determines a preliminary path having the highest evaluation score, among the plurality of preliminary path, as the actual moving path of the robot.

Here, the moving path planning unit acquires the evaluation score on the basis of a first distance score acquired on the basis of a distance between the preliminary path and the moving path pattern, a predetermined first weight for the first distance score, a second distance score acquired on the basis of the distance between the preliminary path and the obstacle, and a predetermined second weight for the second distance score, as the distance between the preliminary path and the moving path pattern becomes shorter, a higher score is assigned as the first distance score, and as the distance between the preliminary path and the obstacle becomes longer, a higher score is assigned as the second distance score.

Here, the moving path pattern acquiring unit acquires a centroid for a target region of the map, acquires a polygon having the maximum size corresponding to the target region while increasing a size of the polygon to a predetermined unit size with reference to the centroid for the target region, acquires the acquired polygon having the maximum size as the sub region, and acquires one or more sub regions from the map by repeatedly performing a process of excluding the polygon having the maximum size acquired as the sub region from the target region, on the target region, until the size of the target region becomes smaller than a robot size according to the predetermined robot parameter.

Here, the moving path pattern acquiring unit determines a type of the polygon on the basis of a shape of the target region.

Here, the moving path pattern acquiring unit acquires a centroid for each of one or more sub regions, acquires a plurality of path patterns which is formed of points having the same distance value with respect to the centroid for the sub region in the unit of the predetermined distance interval, and acquires the plurality of acquired path patterns as the moving path pattern for the sub region.

In order to achieve the above-described objects, according to an aspect of the present disclosure, a moving path planning method for a robot includes: acquiring one or more sub regions from a map and acquiring a robot moving path pattern for each of one or more sub regions; and determining an actual moving path of the robot for each of one or more sub regions on the basis of a predetermined robot parameter and the moving path pattern for the sub region.

Here, the planning of an actual moving path includes: a first step of acquiring a plurality of preliminary paths using a forward gaze distance and a minimum turning radius according to the predetermined robot parameter, on the basis of a current position of the robot; and a second step of determining one preliminary path among the plurality of preliminary paths as the actual moving path on the basis of a distance from the moving path pattern and a distance from an obstacle.

Here, in the first step, a plurality of front points which is separated from a centroid of the robot by the forward gaze distance is acquired in the unit of a predetermined angle, a preliminary path candidate group is generated by generating an arc connecting the robot and each of the plurality of front points, and preliminary paths having a turning radius which is larger than the minimum turning radius, among the preliminary path candidate group, are acquired as the plurality of preliminary paths.

Here, in the second step, an evaluation score for each of the plurality of preliminary paths is acquired on the basis of the distance from the moving path pattern and the distance from the obstacle and a preliminary path having the highest evaluation score, among the plurality of preliminary path, is determined as the actual moving path of the robot.

Here, in the second step, the evaluation score is acquired on the basis of a first distance score acquired on the basis of a distance between the preliminary path and the moving path pattern, a predetermined first weight for the first distance score, a second distance score acquired on the basis of the distance between a preliminary path and the obstacle, and a predetermined second weight for the second distance score, as the distance between the preliminary path and the moving path pattern becomes shorter, a higher score is assigned as the first distance score, and as the distance between the preliminary path and the obstacle becomes longer, a higher score is assigned as the second distance score.

In order to achieve the aforementioned technical object, a computer program according to the exemplary embodiment of the present disclosure is stored in a computer-readable recording medium to execute any one of the aforementioned moving path planning methods for a robot on a computer.

According to the moving path planning apparatus and method for a robot according to the exemplary embodiment of the present disclosure, an actual moving path is determined using a predetermined robot parameter on the basis of a moving path pattern acquired for every sub region of the map to determine an actual moving path of the robot in consideration of the turning radius of the robot.

The effects of the present invention are not limited to the technical effects mentioned above, and other effects which are not mentioned can be clearly understood by those skilled in the art from the following description.

Advantages and characteristics of the present invention and a method of achieving the advantages and characteristics will be clear by referring to exemplary embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to exemplary embodiments disclosed herein but will be implemented in various different forms. The exemplary embodiments are provided by way of example only so that a person of ordinary skilled in the art can fully understand the disclosures of the present invention and the scope of the present invention. Like reference numerals indicate like elements throughout the specification.

Hereinafter, an exemplary embodiment of a moving path planning apparatus and method for a robot according to the present disclosure will be described in detail with reference to the accompanying drawings.

First, a moving path planning apparatus for a robot according to an exemplary embodiment of the present disclosure will be described with reference to <FIG>.

<FIG> is a block diagram illustrating a moving path planning apparatus for a robot according to an exemplary embodiment of the present disclosure; <FIG> is a view for explaining a sub region acquiring process according to an exemplary embodiment of the present disclosure; <FIG> is a view for explaining a moving path pattern acquiring process according to an exemplary embodiment of the present disclosure in which <FIG> illustrates an example of a sub region corresponding to a map and <FIG> illustrates an example of a moving path pattern for every sub region illustrated in <FIG>; <FIG> is a view for explaining a preliminary path acquiring process according to an exemplary embodiment of the present disclosure in which <FIG> illustrates an example of a front point and <FIG> illustrates an example of an arc corresponding to the front point illustrated in <FIG>; <FIG> is a view for explaining a change of a length of an arc according to a forward gaze distance according to an exemplary embodiment of the present disclosure; <FIG> is a view illustrating an actual moving path determining process according to an exemplary embodiment of the present disclosure; and <FIG> is a view illustrating an example that a robot moves along an actual moving path according to an exemplary embodiment of the present disclosure.

Referring to <FIG>, a moving path planning apparatus <NUM> for a robot (hereinafter, referred to as a moving path planning apparatus) according to an exemplary embodiment of the present disclosure determines an actual moving path using a predetermined robot parameter on the basis of a moving path pattern acquired for every sub region of a map.

Here, the predetermined robot parameter may include a robot size, a robot shape (a rectangle or a circle), a forward gaze distance, a minimum turning radius, or speed information (maximum speed or acceleration).

In the meantime, the moving path planning apparatus <NUM> according to the present disclosure is implemented as hardware or software to be loaded in a robot (not illustrated) such as a cleaning robot or a mobile robot. In this case, the moving path planning apparatus <NUM> loaded in the robot may acquire a moving path pattern for every sub region of a grid map built while the robot moves and determine an actual moving path using the moving path pattern acquired for every sub region and the predetermined robot parameter. By doing this, the robot may move along the actual moving path.

In other words, the moving path planning apparatus <NUM> determines an actual moving path of a robot using a predetermined robot parameter to allow a robot to move along a moving path pattern corresponding to a sub region and change the moving pattern to another moving pattern while moving along an oval path, rather than rotating in place. For example, the most important issue of the mopping cleaning robot is to clean with a brush while spraying water and suck up all the water sprayed on the floor through a water intake at the rear. When the mopping cleaning robot changes the position to the next cleaning line by rotation in place, the mopping cleaning robot cannot suck up all the water sprayed on the floor. In contrast, according to the present disclosure, when the position is changed to the next moving path pattern while moving through an oval path such as a bulb shape, the robot may change the position to the next moving path pattern while sucking up all the water sprayed on the floor. That is, the moving path planning apparatus <NUM> according to the present disclosure may determine an actual moving path of a robot in consideration of a turning radius of a robot.

To this end, the moving path planning apparatus <NUM> includes a moving path pattern acquiring unit <NUM>, a moving path determining unit <NUM>, and a moving control unit <NUM>.

The moving path pattern acquiring unit <NUM> acquires one or more sub regions in a map.

To be more specific, the moving path pattern acquiring unit <NUM> may acquire a centroid for a target region of the map.

The moving path pattern acquiring unit <NUM> may acquire a polygon having the maximum size corresponding to the target region while increasing a size of the polygon by a predetermined unit size with reference to the centroid for the target region.

At this time, the moving path pattern acquiring unit <NUM> may determine the type of the polygon on the basis of a shape of the target region. For example, the moving path pattern acquiring unit <NUM> evaluates a similarity between a shape of the target region and polygonal shapes (a triangle, a rectangle, and a pentagon) and determines a polygonal shape having the highest similarity as a shape of the polygon corresponding to the target region.

The moving path pattern acquiring unit <NUM> acquires a polygon having the maximum size as a sub region.

The moving path pattern acquiring unit <NUM> excludes the polygon having the maximum size which has been acquired as a sub region from the target region.

The moving path pattern acquiring unit <NUM> repeats "the process of acquiring a centroid of the target region" -> "the process of acquiring a polygon having the maximum size corresponding to the target region" -> "the process of acquiring the polygon having the maximum size as a sub region" -> "the process of excluding the polygon having the maximum size from the target region" on the target region until the size of the target region becomes smaller than a robot size according to the predetermined robot parameter to acquire one or more sub regions from the map.

For example, as illustrated in <FIG>, a centroid for an initial target region (that is, the entire region of the map) of the map may be acquired. When the map is a grid map, a distance value to an obstacle (a black region) such as a wall in the grid map may be acquired in the unit of pixels of the grid map. By doing this, as illustrated in the left of <FIG>, a center region becomes a centroid of the given grid map. A polygon (that is, a sub region) having the maximum size corresponding to the target region may be acquired while increasing the size of the rectangle with respect to the centroid for the target region. Next, "the process of acquiring a centroid of the target region" -> "the process of acquiring the polygon having the maximum size corresponding to the target region" -> "the process of acquiring the polygon having the maximum size as a sub region" -> "the process of excluding the polygon having the maximum size from the target region" are repeated on the remaining target regions excluding the polygon (that is, the sub region) having the maximum size from the initial target region of the map until the size of the remaining target region becomes smaller than the robot size to acquire one or more sub regions corresponding to the map.

Further, the moving path pattern acquiring unit <NUM> may acquire a moving path pattern of the robot for each of one or more sub regions.

To be more specific, the moving path pattern acquiring unit <NUM> may acquire a centroid for each of one or more sub regions.

The moving path pattern acquiring unit <NUM> may acquire a plurality of path patterns configured by points having the same distance value with respect to the centroid for the sub region in the unit of the predetermined distance interval.

The moving path pattern acquiring unit <NUM> may acquire the plurality of acquired path patterns as moving path patterns for the sub regions.

For example, as illustrated in <FIG>, when three sub regions (a first sub region, a second sub region, and a third sub region) are acquired from the map, the moving path pattern acquiring unit <NUM> may acquire a moving path pattern for each of three sub regions (the first sub region, the second sub region, and the third sub region) as illustrated in <FIG>.

The moving path determining unit <NUM> may determine an actual moving path of the robot for each of one or more sub regions on the basis of a predetermined robot parameter and the moving path patterns for the sub regions.

That is, the moving path determining unit <NUM> may acquire a plurality of preliminary paths using the forward gaze distance and the minimum turning radius according to the predetermined robot parameter on the basis of a current position of the robot. Here, as the forward gaze distance is higher, it is possible to ensure a sufficient distance to avoid the collision.

To be more specific, the moving path determining unit <NUM> may acquire a plurality of front points which is separated from the centroid of the robot by the forward gaze distance in the unit of a predetermined angle. At this time, the moving path determining unit <NUM> may acquire a plurality of front points with respect to a centroid of two steering wheels of the robot. The steering wheel refers to a wheel which adjusts an angle to turn the direction of the robot, among wheels mounted in the robot.

For example, as illustrated in <FIG>, a plurality of front points located to be separated from the centroid of two steering wheels by the forward gaze distance at a predetermined angle in a horizontal direction of an axis perpendicular to a wheel shaft.

The moving path determining unit <NUM> generates an arc connecting the robot and the plurality of front points to acquire a preliminary path candidate group. At this time, the moving path determining unit <NUM> may generate an arc for each of the plurality of front points using a geometric path tracking method (pure pursuit algorithm) which is a method of geometrically determining a curvature which moves from the robot to the front point to acquire a preliminary path candidate group.

For example, as illustrated in <FIG>, the arc connecting the robot and the front point may be generated using the pure pursuit algorithm.

The moving path determining unit <NUM> may acquire preliminary paths whose turning radius is larger than a minimum turning radius according to the predetermined robot parameter, among the preliminary path candidate group, as a plurality of preliminary paths.

For example, as illustrated in <FIG>, as the forward gaze distance becomes longer, the length of the arc connecting the robot and the front point is changed. At this time, the moving path determining unit <NUM> may remove preliminary paths whose turning radius is smaller than the minimum turning radius according to the predetermined robot parameter, among the preliminary path candidate group.

Further, the moving path determining unit <NUM> determines one of the plurality of preliminary paths as an actual moving path of the robot, on the basis of a distance from the moving path pattern and a distance from the obstacle.

To be more specific, the moving path determining unit <NUM> may acquire an evaluation score for each of the plurality of preliminary paths on the basis of the distance from the moving path pattern and the distance from the obstacle.

At this time, the moving path determining unit <NUM> may acquire the evaluation score on the basis of a first distance score, a first weight, a second distance score, and a second weight. Here, the first distance score is acquired on the basis of a distance between the preliminary path and the moving path pattern and as the distance between the preliminary path and the moving path pattern becomes shorter, a higher score is assigned as the first distance score. The first weight may be set in advance as a weight for the first distance score. The second distance score is acquired on the basis of the distance between the preliminary path and the obstacle and as the distance between the preliminary path and the obstacle becomes longer, a higher score is assigned as the second distance score. The second weight may be set in advance as a weight for the second distance score.

For example, the moving path determining unit <NUM> acquires the evaluation score for the preliminary path by means of an evaluation function expressed by the following Equation <NUM>.

Here, f(P) indicates an evaluation function, that is, an evaluation score for the preliminary path P. Ref(P) indicates a first distance score for the preliminary path P. Obs(P) indicates a second distance score for the preliminary path P. α indicates a weight for the first distance score. β indicates a weight for the second distance score. At this time, α and β which are constant gains are changed to adjust a ratio of the first distance score and the second distance score in the evaluation function.

The moving path determining unit <NUM> may determine a preliminary path having the highest evaluation score, among the plurality of preliminary paths, as an actual moving path of the robot. For example, as illustrated in <FIG>, the moving path determining unit <NUM> acquires a plurality of preliminary paths using the predetermined robot parameter on the basis of the current position of the robot and acquires one preliminary path selected from the plurality of preliminary paths, on the basis of the distance from the moving path pattern and the distance from the obstacle, as an actual moving path.

The moving control unit <NUM> controls the robot to move along the actual moving path determined by the moving path determining unit <NUM>.

That is, the moving control unit <NUM> may control the robot to move along the actual moving path at an optimal speed which is possible in the current position, on the basis of the speed information according to the predetermined robot parameter.

For example, as illustrated in <FIG>, when the mopping cleaning robot completes the cleaning on the basis of the actual moving path according to the present disclosure, along one path pattern among the moving path patterns of the sub region, the mopping cleaning robot cleans along a next path pattern. Next, when the robot moves along all path patterns, among the moving path pattern of the sub region, that is, completes the cleaning of the entire sub region, the robot moves to another sub region which is closest to the current position, but is not cleaned.

Now, a moving path planning method for a robot according to an exemplary embodiment of the present disclosure will be described with reference to <FIG> and <FIG>.

<FIG> is a flowchart illustrating a moving path planning method for a robot according to an exemplary embodiment of the present disclosure.

Referring to <FIG>, the moving path planning apparatus <NUM> acquires one or more sub regions from a map and acquires a robot moving path pattern for each of one or more sub regions in step S110.

To be more specific, the moving path planning apparatus <NUM> acquires a centroid for a target region of the map, acquires a polygon having the maximum size corresponding to the target region while increasing a size of the polygon to a predetermined unit size with reference to the centroid for the target region, acquires the acquired polygon having the maximum size as the sub region, and acquires one or more sub regions from the map by repeatedly performing a process of excluding the polygon having the maximum size acquired as the sub region from the target region, on the target region, until the size of the target region becomes smaller than a robot size according to the predetermined robot parameter. At this time, the moving path planning apparatus <NUM> may determine the type of the polygon on the basis of a shape of the target region.

Further, the moving path planning apparatus <NUM> acquires a centroid for each of one or more sub regions, acquires a plurality of path patterns which is formed of points having the same distance value with respect to the centroid for the sub region in the unit of the predetermined distance interval, and acquires the plurality of acquired path patterns as the moving path pattern for the sub region.

Next, the moving path planning apparatus <NUM> may determine an actual moving path of the robot for each of one or more sub regions on the basis of a predetermined robot parameter and the moving path patterns for the sub regions in step S130.

Next, the moving path planning apparatus <NUM> may control the robot to move along the determined actual moving path in step S150.

That is, the moving path planning apparatus <NUM> may control the robot to move along the actual moving path at an optimal speed which is possible in the current position, on the basis of the speed information according to the predetermined robot parameter.

<FIG> is a flowchart for explaining sub steps of an actual moving path determining step illustrated in <FIG>.

Referring to <FIG>, the moving path planning apparatus <NUM> may acquire a plurality of preliminary paths using the forward gaze distance and the minimum turning radius according to the predetermined robot parameter on the basis of a current position of the robot in step S131.

That is, the moving path planning apparatus <NUM> may acquire a plurality of front points which is separated from a centroid of the robot by the forward gaze distance in the unit of a predetermined angle. At this time, the moving path planning apparatus <NUM> may acquire a plurality of front points with respect to a centroid of two steering wheels of the robot.

The moving path planning apparatus <NUM> generates an arc connecting the robot and the plurality of front points to acquire a preliminary path candidate group. At this time, the moving path planning apparatus <NUM> may generate an arc for each of the plurality of front points using a geometric path tracking method (pure pursuit algorithm) which is a method of geometrically determining a curvature which moves from the robot to the front point.

The moving path planning apparatus <NUM> may acquire preliminary paths whose turning radius is larger than a minimum turning radius according to the predetermined robot parameter, among the preliminary path candidate group, as a plurality of preliminary paths.

Next, the moving path planning apparatus <NUM> determines one of the plurality of preliminary paths as an actual moving path of the robot, on the basis of a distance from the moving path pattern and a distance from the obstacle, in step S132.

That is, the moving path planning apparatus <NUM> may acquire an evaluation score for each of the plurality of preliminary paths on the basis of the distance from the moving path pattern and the distance from the obstacle. At this time, the moving path planning apparatus <NUM> may acquire the evaluation score on the basis of a first distance score, a first weight, a second distance score, and a second weight. For example, the moving path planning apparatus <NUM> acquires the evaluation score for the preliminary path by means of an evaluation function expressed by the above Equation <NUM>.

Claim 1:
A mopping cleaning robot with a moving path planning apparatus (<NUM>), comprising:
a moving path pattern acquiring unit (<NUM>) configured to acquire one or more sub regions to be cleaned entirely from a map and to acquire a robot moving path pattern for each of the one or more sub regions, wherein the cleaning robot is configured clean with a brush while spraying water on the floor of the one or more sub regions and suck up all the water sprayed on the floor, wherein
the moving path pattern acquiring unit (<NUM>) is configured to acquire a centroid for each of the one or more sub regions, to acquire a plurality of closed path patterns leading around the centroid and to acquire the plurality of acquired path patterns as the moving path pattern for the sub region;
a moving path determining unit (<NUM>) configured to determine an actual moving path of the robot for each of the one or more sub regions on the basis of a predetermined robot parameter and the moving path pattern for the sub region, wherein
the moving path determining unit (<NUM>) is configured to acquire a plurality of preliminary paths using a forward gaze distance and a minimum turning radius according to the predetermined robot parameter, on the basis of a current position of the robot and to determine one preliminary path among the plurality of preliminary paths as the actual moving path of the robot on the basis of a distance from the moving path pattern and a distance from an obstacle, wherein
the moving path determining unit (<NUM>) is configured to acquire a plurality of front points which is separated from a centroid of the robot by the forward gaze distance in a unit of a predetermined angle, to acquire a preliminary path candidate group by generating an arc connecting the robot and each of the plurality of front points, and to acquire preliminary paths having a turning radius which is larger than the minimum turning radius, among the preliminary path candidate group, as the plurality of preliminary paths.