Information processing device, control method, and program

JPWO2024180725A5Pending Publication Date: 2025-10-16
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025503515
Authority / Receiving Office
JP · JP
Patent Type
Applications
Filing Date
2025-08-05
Publication Date
2025-10-16

AI Technical Summary

Technical Problem

Current route planning methods for moving objects, such as robots, often result in non-smooth routes that cannot be tracked due to sudden turns and require lengthy calculations for obstacle avoidance, especially when planning longer routes that involve multiple candidates.

Method used

An information processing device with object detection, obstacle determination, avoidance start/end point calculation, turning path calculation, and avoidance route calculation using Dubins paths to plan a route that avoids obstacles by calculating start and end points and turning paths based on the distance from obstacles, ensuring the route can be followed by the moving object.

Benefits of technology

Enables faster planning of smooth, trackable routes that avoid obstacles by using geometric methods without exploratory calculations, reducing calculation time and ensuring the route can be followed by the moving object.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

An information processing device 10 comprising: an object detection means 12 that detects the position and shape of objects 30 present in the surroundings while a moving body 20 is moving on a reference route; an obstacle assessment means 13 that assesses that an object 300 for which there is a concern of collision with the moving body 20, from among the objects 30, is an obstacle 31; an avoidance start / end point calculation means 15 that, on the basis of the distance from the obstacle 31, calculates a start point 41 and an end point 42 for an avoidance route 40 for avoiding collision with the obstacle 31; a turning path calculation means 16 that, on the basis of the distance from the obstacle 31, calculates a turning path 43 on which it is possible to turn without colliding with the obstacle 31; and an avoidance route calculation means 17 that, on the basis of a Dubins route, supplements a route 44 between the start point 41 and the turning path 43 as well as a route 44 between the turning path 43 and the end point 42 to calculate the avoidance route 40.
Need to check novelty before this filing date? Find Prior Art

Description

Information processing device, control method, and computer-readable recording medium

[0001] The present disclosure relates to an information processing device and control method for planning a route for a moving object, and further to a computer-readable recording medium on which a program for realizing these is recorded.

[0002] The technology for planning the path of a mobile object such as a robot is called path planning or trajectory planning. There are two types of path planning: discrete path planning and continuous path planning.

[0003] Discrete path planning divides a map into small grids, considers movement from one grid to another, and finds the shortest path. Graph search algorithms such as the A* search algorithm are well-known. Non-Patent Document 1 discloses an algorithm that is an extension of the A* search algorithm and can calculate an even shortest path.

[0004] There are two types of continuous path planning: a method of generating a path by simulation, taking into account the robot's motion performance, and a method that uses geometric properties. Non-Patent Document 2, a famous simulation-based method, discloses a method of predicting with high accuracy the robot's position several seconds from the robot's linear velocity and angular velocity, and calculating a path by repeating optimization.

[0005] Methods that use geometric properties are primarily intended to generate paths that a robot can turn through. Non-Patent Document 3 discloses a method that uses a Dubins path consisting only of straight lines and arcs, and more recently, there has been a technology that uses curve interpolation to connect multiple points with smooth curves, which is also used in computer graphics. However, path planning that uses geometric properties is primarily used to plan paths that connect multiple target points, and is not used alone for obstacle avoidance, etc.

[0006] Patent Document 1 discloses a method for performing obstacle avoidance using a geometric method in combination with a discrete path planning method.

[0007] Japanese Patent Application Laid-Open No. 2021-181301

[0008] A.Nash and 2 others, Lazy Theta*: Any-Angle Path Planning and Path Length Analysis in 3D, 2010, Proceedings of the AAAI Conference on Artificial Intelligence, 24(1), P147-154D.Fox and 2 others, The dynamic window approach to collision avoidance, 1997, IEEE Robotics & Automation Magazine, volume 4, Issue 1, P23-33S.Manyam, 2 others, Dubins paths through a sequence of points: Lower and upper bounds,2016,2016 International Conference on Unmanned Aircraft Systems (ICUAS), Arlington, VA, USA, 2016, P284-291

[0009] When planning a path that avoids obstacles, discrete path planning or simulation-based path planning is often used. However, with discrete path planning, the output path may not be smooth and the moving object may not be able to follow it. For example, the output path may require a right-angle turn, but the moving object may not be able to turn sharply. Therefore, in order to plan a path that can be followed and avoids obstacles, a geometric path planning method may be combined.

[0010] However, simulation-based methods and methods that combine discrete and geometric methods are types of optimization algorithms, and require calculations to select the optimal one from a large number of candidates.The longer the route length to be planned, the more route candidates there are, and as a result, the longer the calculation time.

[0011] An example of an objective of the present disclosure is to provide a mechanism for planning a path that can be followed and avoids obstacles at an earlier stage.

[0012] In order to achieve the above object, an information processing device according to one aspect of the present disclosure is characterized by having: an object detection means for detecting the position and shape of objects in the vicinity of a moving body; an obstacle determination means for determining that, among the objects, an object in the movement path of the moving body is an obstacle; an avoidance start / end point calculation means for calculating a start point and an end point of an avoidance path for avoiding collision with the obstacle based on the distance from the obstacle; a turning path calculation means for calculating a turning path that can be used to turn without colliding with the obstacle based on the distance from the obstacle; and an avoidance path calculation means for calculating the avoidance path by interpolating the path between the start point and the turning path, and the path between the turning path and the end point, based on a Dubins path.

[0013] In addition, to achieve the above object, a control method in one aspect of the present disclosure is characterized in that a computer detects the positions and shapes of objects present in the vicinity while a moving body is moving along a reference path, determines those of the objects that may collide with the moving body as obstacles, calculates the start and end points of an avoidance path that will avoid collision with the obstacle based on the distance from the obstacle, calculates a turning path that will allow the moving body to turn without colliding with the obstacle based on the distance from the obstacle, and calculates the avoidance path by interpolating the path between the start point and the turning path and the path between the turning path and the end point based on a Dubins path.

[0014] Furthermore, in order to achieve the above object, a computer-readable recording medium according to one aspect of the present disclosure is characterized in that it causes a computer to: detect the positions and shapes of objects present in the vicinity of a moving body while the moving body is moving along a reference path; determine, among the objects, those that may collide with the moving body as obstacles; calculate the start and end points of an avoidance path that will avoid collision with the obstacle based on the distance from the obstacle; calculate a turning path that will allow the moving body to turn without colliding with the obstacle based on the distance from the obstacle; and calculate the avoidance path by interpolating the path between the start point and the turning path and the path between the turning path and the end point based on a Dubins path.

[0015] According to the present disclosure, a route that can be followed by a moving body and that avoids obstacles can be planned at an earlier stage.

[0016] FIG. 1 is a diagram illustrating an example of an information processing device according to a first embodiment. FIG. 2 is a diagram illustrating the example of the information processing device according to the first embodiment in more detail. FIG. 3 is a diagram illustrating an example of a convex hull of an obstacle according to the first embodiment. FIG. 4 is a diagram illustrating an example of a start point and an end point of an avoidance path according to the first embodiment. FIG. 5 is a diagram illustrating an example of a turning path generated around a convex hull according to the first embodiment. FIG. 6 is a diagram illustrating an example of an avoidance path complemented based on a Dubins path according to the first embodiment. FIG. 7 is a diagram illustrating an example of an operation of the information processing device according to the first embodiment. FIG. 8 is a diagram illustrating an example of a convex hull of a plurality of obstacles according to a second embodiment. FIG. 9 is a diagram illustrating an example of an integrated convex hull in the example shown in FIG. 8. FIG. 10 is a diagram illustrating an example of multiple convex hulls including the integrated convex hull in the example shown in FIG. 9. FIG. 11 is a diagram illustrating an example of a further integrated convex hull in the example shown in FIG. 10. FIG. 12 is a diagram illustrating an example of multiple convex hulls including the further integrated convex hull in the example shown in FIG. 11. Fig. 13 is a diagram for explaining an example of an avoidance route complemented based on the Dubins route in the example shown in Fig. 12. Fig. 14 is a diagram for explaining an example of the operation of the information processing device in embodiment 2. Fig. 15 is a diagram for explaining an example of a computer that realizes embodiments 1 and 2.

[0017] (Embodiment 1) Hereinafter, an embodiment will be described with reference to the drawings. In the drawings described below, elements having the same or corresponding functions are denoted by the same reference numerals, and repeated description thereof may be omitted.

[0018] 1 is a diagram illustrating an example of an information processing device 10 in embodiment 1. As shown in FIG. 1, the information processing device 10 includes an object detection unit 12, an obstacle determination unit 13, an avoidance start / end point calculation unit 15, a turning path calculation unit 16, and an avoidance path calculation unit 17.

[0019] The object detection unit 12 detects the position and shape of an object 30 in the vicinity of the moving body 20. The object detection unit 12 functions as an object detection means.

[0020] The obstacle determining unit 13 determines that an object 30 that is on the movement path of the moving body 20 is an obstacle 31. The obstacle determining unit 13 functions as an obstacle determining means.

[0021] The avoidance start / end point calculation unit 15 calculates a start point 41 and an end point 42 of an avoidance path 40 that avoids a collision with the obstacle 31, based on the distance from the obstacle 31. The avoidance start / end point calculation unit 15 functions as an avoidance start / end point calculation means.

[0022] The turning path calculation unit 16 calculates a turning path 43 that can be turned without colliding with the obstacle 31 based on the distance from the obstacle 31. The turning path calculation unit 16 functions as turning path calculation means.

[0023] The avoidance path calculation unit 17 calculates the avoidance path 40 by interpolating a path 44 between the start point 41 and the turning path 43 and a path 45 between the turning path 43 and the end point 42 based on the Dubins path. The avoidance path calculation unit 17 functions as an avoidance path calculation means.

[0024] In the first embodiment, only a geometric method that allows for high-speed calculations is used, without performing exploratory calculations, so that a path that can be followed and that avoids obstacles can be planned at an earlier stage. The mobile object 20 is, for example, a mobile robot, an automatic guided vehicle, an autonomous vehicle, an autonomous flying object, an autonomous ship, or the like.

[0025] The information processing device 10 in embodiment 1 may also include an object detection unit 12 that detects the position and shape of objects 30 in the vicinity of the moving body 20, an obstacle determination unit 13 that identifies, among the objects 30, obstacles 31 that are in the movement path of the moving body 20, an avoidance start / end point calculation unit 15 that calculates a start point 41 and an end point 42 of an avoidance path 40 that avoids the obstacle 31 in the movement path based on the distance from the obstacle 31, a turning path calculation unit 16 that calculates a turning path 43 a certain distance away from the obstacle 31, and an avoidance path calculation unit 17 that calculates the avoidance path 40 from the start point 41 to the end point 42 via the turning path 43.

[0026] 2 is a diagram for more specifically explaining an example of an information processing device in embodiment 1. As shown in FIG. 2, the information processing device 10 may further include a path acquisition unit 11, a convex hull calculation unit 14, and an avoidance path output unit 18. The configuration and functions of the information processing in embodiment 1 will be specifically explained below.

[0027] The route acquisition unit 11 accepts input of and acquires a route (reference route) of the moving object 20 that is planned in advance. The reference route is a route that is determined, for example, before departure. The reference route is a route created from information such as known topography, but does not reflect all topography information. Therefore, when the moving object moves along the route, it may collide with an unknown obstacle.

[0028] Specifically, the object detection unit 12 detects the position and shape of the object 30 around the moving body 20 using an ultrasonic sensor, an infrared sensor, or the like. The detectable distance is determined by the sensor, and the object 30 can be detected only when the moving body 20 approaches within a certain distance of the object 30. In other words, the object 30 is detected while the moving body 20 is moving along the reference path. In many cases, the detection result of the sensor is given as a point cloud (a collection of multiple points).

[0029] Specifically, the obstacle determination unit 13 determines whether there is a risk of collision between the object 30 detected by the object detection unit 12 and the moving body 20 when the moving body 20 moves along the reference path. There are no limitations on the method for determining whether there is a risk of collision. A typical determination method is to compare the distance between the closest points between the reference path and the object 30 with a preset threshold. If the distance between the closest points is equal to or less than the threshold, it is determined that there is a risk of collision. If the obstacle determination unit 13 determines that there is no risk of the moving body 20 moving along the reference path colliding with the object 30, there is no need to change the reference path, and so the processing ends here. On the other hand, if the obstacle determination unit 13 determines that there is a risk of collision, it proceeds to planning an avoidance path to avoid the collision.

[0030] As a preliminary step for planning a collision avoidance path, the convex hull calculation unit 14 calculates the convex hull 32 of an obstacle 31 determined to be at risk of collision among the objects 30. FIG. 3 is a diagram illustrating an example of the convex hull of the obstacle 31. As shown in FIG. 3, the convex hull 32 of the obstacle 31 given as a point cloud is the smallest convex set that includes the obstacle. The convex hull 32 can be created for any shape, but in this specification, we consider the case where the convex hull 32 is a convex polygon. Incidentally, the convex hull 32 of a point cloud is always a convex polygon.

[0031] The avoidance start / end point calculation unit 15 calculates a start point 41 and an end point 42 of the avoidance path 40 from the convex hull 32 calculated by the convex hull calculation unit 14 and the reference path acquired by the path acquisition unit 11. FIG. 4 is a diagram for explaining an example of the start point 41 and the end point 42 of the avoidance path 40 in embodiment 1. The avoidance path 40 in the present disclosure starts by branching off from the reference path at the start point 41 and ends by merging with the reference path at the end point 42. More specifically, a first pseudo enlarged view 46 of the convex hull 32 at an arbitrary distance around the convex hull 32 is assumed. For example, when a distance equal to or greater than the minimum turning radius of the moving object 20 is defined as r, the first pseudo enlarged view 46 is generated so that the closest distance is 3r. The point where the reference path first intersects with the first pseudo enlarged view 46 is defined as the start point 41, and the point where the reference path last intersects with the first pseudo enlarged view 46 is defined as the end point 42. 3 shows an example in which the first pseudo enlarged view 46 is generated based on 3r, but the first pseudo enlarged view 46 may be generated so that the closest distance is 2r. The first pseudo enlarged view 46 does not necessarily have to be an enlarged view, and may have a shape that at least includes the convex hull 32.

[0032] Specifically, the turning path calculation unit 16 calculates a turning path around the obstacle 31. Specifically, it calculates a path by enlarging the convex hull 32 by a preset distance r. FIG. 5 is a diagram illustrating an example of a turning path 43 generated around the convex hull 32 in the first embodiment. As shown in FIG. 5, a second pseudo-enlarged view of the convex hull 32 is assumed, which is an arbitrary distance r away from the convex hull 32, and this is defined as the turning path 43. In the example shown in FIG. 5, if the convex hull 32 is a convex polygon, when circles having a radius of a preset value r centered on each vertex of the convex polygon are placed, the convex hull of all those circles becomes the turning path 43. This turning path 43 is a Dubins path composed only of straight lines and arcs.

[0033] Fig. 6 is a diagram illustrating an example of an avoidance path interpolated based on the Dubins path in embodiment 1. As shown in Fig. 6, the avoidance path calculation unit 17 calculates an avoidance path 40 by interpolating a path 44 between a start point 41 and a turning path 43 and a path 45 between the turning path 43 and an end point 42 based on the Dubins path. In Fig. 6, the avoidance path 40 is generated by Dubins interpolating the start point 41 and the clockwise turning path 43, and the clockwise turning path 43 to the end point 42. The avoidance path 40 becomes the Dubins path.

[0034] A Dubins path is a path consisting only of a combination of straight lines and arcs with a certain radius, and if the radius of the arc is set to be equal to or greater than the minimum turning radius of the mobile object 20, the path becomes one on which the mobile object 20 can turn (make a complete turn). Furthermore, a Dubins path can generally be generated to connect two directional points. In other words, it is possible to generate a path in which a mobile object that starts moving at a certain point in a certain orientation ends its movement at a certain point in a certain orientation.

[0035] More specifically, the avoidance path calculation unit 17 generates a Dubins path that connects the starting point 41 of the avoidance path 40 to an arbitrary point on the turning path 43. If the convex hull 32 of the obstacle 31 is a convex polygon, when the reference path and the convex polygon intersect for the first time, intersections 43a and 43c between the straight line extending the intersecting side of the convex polygon and the turning path 43 are set as candidates for points that connect the starting point 41 of the avoidance path 40.

[0036] Next, a Dubins path is generated that connects an arbitrary point on the turning path 43 to the end point of the avoidance path 40. If the convex hull 32 of the obstacle 31 is a convex polygon, when the reference path and the convex polygon finally intersect, intersections 43b and 43d between the straight line extending the intersecting side of the convex polygon and the turning path 43 are set as candidates for points that connect to the end point 42 of the avoidance path 40.

[0037] 6, when the start point 41 and end point 42 of the avoidance path 40 are calculated based on a first pseudo enlarged view 46 in which the convex hull 32 is enlarged by three times the turning radius, two avoidance paths, one clockwise and one counterclockwise, can be generated as the avoidance path 40. If the calculation were based on a first pseudo enlarged view in which the convex hull 32 is enlarged by two times the turning radius, it may be impossible to generate one of the paths, i.e., the path completed by Dubins may collide with an obstacle.

[0038] When a clockwise avoidance path 40 is generated, the path is supplemented by connecting the start point 41 and point 43a on the turning path 43, and by connecting point 43b on the turning path 43 and end point 42. Conversely, when a counterclockwise avoidance path is generated, the path is supplemented by connecting the start point 41 and point 43c on the turning path 43, and by connecting point 43c on the turning path 43 and end point 42. When a shorter avoidance path 40 is calculated, both clockwise and counterclockwise paths may be calculated, and the shorter path may be calculated as the avoidance path 40.

[0039] The avoidance path output unit 18 outputs the avoidance path 40 calculated by the turning path calculation unit 16. The avoidance path 40 output here is always a Dubins path because it connects the turning path 43, which is a Dubins path, with the start point 41 and the end point 42. In other words, the radius of the arc of the avoidance path 40 is equal to or greater than the minimum turning radius of the mobile object 20, and therefore the avoidance path 40 is a path that the mobile object 20 can turn around, i.e., can make the turn.

[0040] [Device Operation] Next, the operation of the information processing device 10 in embodiment 1 will be described. FIG. 7 is a flow diagram showing the operation of the information processing device in embodiment 1. In the following description, reference will be made to FIGS. 1 to 6 as appropriate. In embodiment 1, the control method is implemented by operating the information processing device. Therefore, the description of the control method in the embodiment will be replaced by the description of the operation of the information processing device below.

[0041] As shown in FIG. 7, first, the route acquisition unit 11 receives and acquires an input of a route (reference route) of the moving object 20 that is planned in advance (step S1).

[0042] The object detection unit 12 detects the position and shape of an object 30 present in the vicinity while the moving body 20 is moving along the reference path (step S2).

[0043] The obstacle determining unit 13 determines, among the objects 30, an object 30 that may collide with the moving body 20 as an obstacle 31 (step S3).

[0044] If there is no object 30 determined to be an obstacle 31 (NO), there is no need to change the reference path, so the operation is terminated. If there is an object 30 determined to be an obstacle 31 (YES), the process proceeds to step S4 below.

[0045] As a preliminary step for planning a collision avoidance path, the convex hull calculation unit 14 calculates the convex hull 32 of the obstacle 31 determined to be at risk of collision among the objects 30 (step S4).

[0046] The avoidance start / end point calculation unit 15 calculates a start point 41 and an end point 42 of an avoidance path 40 for avoiding a collision with the obstacle 31 based on the distance from the obstacle 31 (step S5).

[0047] Next, the turning path calculation unit 16 calculates a turning path 43 that can be turned without colliding with the obstacle 31 based on the distance from the obstacle 31. The turning path calculation unit 16 functions as turning path calculation means (step S6).

[0048] The avoidance path calculation unit 17 calculates the avoidance path 40 by interpolating the path 44 between the start point 41 and the turning path 43 and the path 45 between the turning path 43 and the end point 42 based on the Dubins path (step S7).

[0049] The avoidance path output unit 18 outputs the avoidance path 40 calculated by the turning path calculation unit 16 (step S7).

[0050] [Program] The program in embodiment 1 may be any program that causes a computer to execute steps S1 to S8 shown in Fig. 7. By installing and executing this program in a computer, the information processing device and control method in embodiment 1 can be realized. In this case, the processor of the computer functions as a path acquisition unit 11, an object detection unit 12, an obstacle determination unit 13, a convex hull calculation unit 14, an avoidance start / end point calculation unit 15, a turning path calculation unit 16, an avoidance path calculation unit 17, and an avoidance path output unit 18, and performs processing.

[0051] The program in embodiment 1 may be executed by a computer system constructed by a plurality of computers. In this case, for example, each computer may function as one of the path acquisition unit 11, object detection unit 12, obstacle determination unit 13, convex hull calculation unit 14, avoidance start / end point calculation unit 15, turning path calculation unit 16, avoidance path calculation unit 17, and avoidance path output unit 18.

[0052] (Embodiment 2) Next, an information processing device 10 in embodiment 2 will be described with reference to the drawings. [Device Configuration] In embodiment 1, a mechanism for calculating a path to avoid one obstacle 31 is provided. The basic configuration and functions of the information processing device in embodiment 2 are the same as those of the information processing device in embodiment 1. Embodiment 2 relates to a case where the object detection unit 12 detects multiple objects 30, and the obstacle determination unit 13 determines that there is an obstacle 31 among the multiple objects 30 that may collide. In this case, information about the multiple obstacles 31 is transmitted to the convex hull calculation unit 14. The configuration and functions of the convex hull calculation unit 14 that receives such information will be described below.

[0053] Roughly speaking, the following two steps are performed. 1) Among the objects, obstacles that may collide with the moving body moving along the reference path are listed. The convex hulls of these obstacles are calculated, and for each convex hull, a diagram identical to the first pseudo enlarged diagram of the convex hull calculated by the avoidance path start / end point calculation unit 15 is generated. 2) The first pseudo enlarged diagrams are checked for contact with each other and with other objects, and if contact is detected, they are integrated into a single convex hull and treated as a single obstacle.

[0054] The following is a specific description using the drawings. Fig. 8 is a diagram illustrating an example of a convex hull of a plurality of obstacles in embodiment 2. Fig. 9 is a diagram illustrating an example of an integrated convex hull in the example shown in Fig. 8. Fig. 10 is a diagram illustrating an example of a plurality of convex hulls including the integrated convex hull in the example shown in Fig. 9. Fig. 11 is a diagram illustrating an example of a further integrated convex hull in the example shown in Fig. 10. Fig. 12 is a diagram illustrating an example of a plurality of convex hulls including the further integrated convex hull in the example shown in Fig. 11. Fig. 13 is a diagram illustrating an example of an avoidance path complemented based on the Dubins path in the example shown in Fig. 12.

[0055] As shown in Fig. 8, the convex hull calculation unit 14 divides the transmitted multiple objects 30 into those for which an avoidance path 40 needs to be considered and those for which an avoidance path 40 does not need to be considered, and calculates a convex hull 32 for each of all obstacles 31 for which an avoidance path 40 needs to be considered. The example in Fig. 8 shows a case where there are three convex hulls 32 for obstacles determined to be at risk of collision, and two other objects 30. Then, it is checked whether there are any first pseudo enlarged views 46 of other convex hulls 32 or other objects 30 that come into contact with the first pseudo enlarged view 46 generated for the convex hull 32.

[0056] 9, if there is a first pseudo enlargement 46 of another convex hull 32 or another object 30 that comes into contact with the first pseudo enlargement 46 generated for the convex hull 32, these obstacles are integrated into a new convex hull 33. Then, the above process is repeated, that is, as shown in FIG. 10, a first pseudo enlargement 46 is generated again for the new convex hull 33, and it is checked whether there is a first pseudo enlargement 46 of another convex hull 32, 33 or another object 30 that comes into contact with the first pseudo enlargement 46.

[0057] As shown in Fig. 11 , if there are first pseudo enlargements 46 of other convex hulls 32 and 33 or other objects 30 that come into contact with the first pseudo enlargement 46 generated for the convex hull 33, these obstacles are integrated into a new convex hull 34. Then, as shown in Fig. 12 , a first pseudo enlargement 46 is generated again for the new convex hull 34, and it is checked whether there are first pseudo enlargements 46 of other convex hulls 32, 33, and 34 or other objects 30 that come into contact with the first pseudo enlargement 46. A first pseudo enlargement 46 is generated again for the new convex hull 34, and if there are no first pseudo enlargements 46 of other convex hulls 32, 33, and 34 or other objects 30 that come into contact with the first pseudo enlargement 46, this process ends.

[0058] The convex hull calculation unit 14 sequentially transmits the convex hulls 32, 33, and 34 of the obstacles 31 that will collide with the moving body 20 moving along the reference path. The avoidance start / end point calculation unit 15, the turning path calculation unit 16, and the avoidance path calculation unit 17 perform the same processing as in the first embodiment for the convex hull 32 for one obstacle 31 and the convex hulls 33 and 34 calculated based on the multiple obstacles 31.

[0059] 13 , the avoidance path 40 is always generated between the first pseudo enlarged image 46 and the original obstacle 31, so there is no risk of collision between the avoidance path 40 and other obstacles 31. Therefore, even if there are multiple obstacles 31, by integrating and dividing the obstacles 31 in this way, it is possible to calculate an avoidance path 40 that avoids all of the obstacles 31. According to the second embodiment, even when there are multiple obstacles, only a geometric method that can be calculated at high speed is used without performing exploratory calculations, so that a path that can be followed and avoids the obstacles can be planned at an earlier stage.

[0060] [Device Operation] Next, a description will be given of the operation of the convex hull calculation unit 14 of the information processing device in embodiment 2. Fig. 14 is a diagram for explaining an example of the operation of the information processing device in embodiment 2.

[0061] As shown in FIG. 14, the convex hull calculation unit 14 first divides the transmitted multiple objects 30 into those for which an avoidance path 40 needs to be considered and those for which an avoidance path 40 does not need to be considered, and calculates the convex hull 32 for each of all obstacles 31 for which an avoidance path 40 needs to be considered (step a1).

[0062] Next, for each convex hull 32, a diagram identical to the first pseudo enlarged diagram 46 of the convex hull calculated by the avoidance path start / end point calculation unit 15 is generated (step a2).

[0063] It is checked whether there are any other first pseudo enlarged views 46 of other convex hulls 32 or other objects 30 that come into contact with the generated first pseudo enlarged view 46 (step a3). If there is a corresponding convex hull 32 (YES), a new convex hull 33 is generated (step a4), and a first pseudo enlarged view 46 is generated for the newly generated convex hull (step a2). On the other hand, if there is no such convex hull 32 (NO), the process ends.

[0064] The convex hull calculation unit 14 outputs the convex hulls 32, 33, and 34 of the obstacle 31 that will collide with the moving body 20 moving along the reference path in order (step a5).

[0065] [Program] The program in embodiment 2 may be any program that causes a computer to execute steps a1 to a5 shown in Fig. 14. By installing and executing this program in a computer, the information processing device and control method in embodiment 2 can be realized. In this case, the processor of the computer functions as a path acquisition unit 11, an object detection unit 12, an obstacle determination unit 13, a convex hull calculation unit 14, an avoidance start / end point calculation unit 15, a turning path calculation unit 16, an avoidance path calculation unit 17, and an avoidance path output unit 18, and performs processing.

[0066] The program in embodiment 2 may be executed by a computer system constructed by a plurality of computers. In this case, for example, each computer may function as one of the path acquisition unit 11, object detection unit 12, obstacle determination unit 13, convex hull calculation unit 14, avoidance start / end point calculation unit 15, turning path calculation unit 16, avoidance path calculation unit 17, and avoidance path output unit 18.

[0067] [Physical Configuration] A computer that realizes the information processing device by executing the programs according to the first and second embodiments will now be described with reference to Fig. 15. Fig. 15 is a block diagram showing an example of a computer that realizes the information processing device according to the first and second embodiments.

[0068] 15, the computer 110 includes a CPU (Central Processing Unit) 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader / writer 116, and a communication interface 117. These components are connected to each other via a bus 121 so as to be able to communicate data with each other.

[0069] Furthermore, the computer 110 may include a GPU (Graphics Processing Unit) or an FPGA (Field-Programmable Gate Array) in addition to or instead of the CPU 111. In this aspect, the GPU or FPGA can execute the programs in the embodiments.

[0070] The CPU 111 loads a program in the embodiment, which is composed of a group of codes and stored in the storage device 113, into the main memory 112 and executes each code in a predetermined order to perform various calculations. The main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory).

[0071] The program in the embodiment is provided in a state stored in a computer-readable recording medium 120. The program in the embodiment may be distributed over the Internet connected via the communication interface 117.

[0072] Specific examples of the storage device 113 include a hard disk drive and a semiconductor storage device such as a flash memory. The input interface 114 mediates data transmission between the CPU 111 and input devices 118 such as a keyboard and a mouse. The display controller 115 is connected to a display device 119 and controls the display on the display device 119.

[0073] The data reader / writer 116 mediates data transmission between the CPU 111 and the recording medium 120, reads programs from the recording medium 120, and writes processing results from the computer 110 to the recording medium 120. The communication interface 117 mediates data transmission between the CPU 111 and other computers.

[0074] Specific examples of the recording medium 120 include general-purpose semiconductor storage devices such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), magnetic recording media such as flexible disks, and optical recording media such as CD-ROMs (Compact Disk Read Only Memory).

[0075] The information processing device 10 in the embodiment may be realized not by a computer on which a program is installed, but by hardware corresponding to each unit, such as an electronic circuit. Furthermore, the information processing device 10 may be partially realized by a program and the remaining unit by hardware. In the embodiment, the computer is not limited to the computer shown in FIG. 15 .

[0076] Some or all of the above-described embodiments can be expressed by (Supplementary Note 1) to (Supplementary Note 13) described below, but are not limited to the following descriptions.

[0077] (Supplementary Note 1) An information processing device having: an object detection means that detects the position and shape of objects present in the vicinity of a moving body while the moving body is moving on a reference path; an obstacle determination means that determines, among the objects, an object that may collide with the moving body as an obstacle; an avoidance start and end point calculation means that calculates a start point and an end point of an avoidance path that avoids collision with the obstacle based on the distance from the obstacle; a turning path calculation means that calculates a turning path that allows the moving body to turn without colliding with the obstacle based on the distance from the obstacle; and an avoidance path calculation means that calculates the avoidance path by interpolating the path between the start point and the turning path and the path between the turning path and the end point based on a Dubins path.

[0078] (Supplementary Note 2) The information processing device according to Supplementary Note 1, further comprising a convex hull calculation means for calculating a convex hull of the obstacle, wherein the avoidance start and end point calculation means generates a first pseudo enlarged view at an arbitrary distance around the convex hull, and calculates the start point and the end point based on an intersection of the first pseudo enlarged view and the reference path.

[0079] (Supplementary Note 3) The information processing device according to Supplementary Note 2, wherein the turning path calculation unit calculates the turning path along a second pseudo enlarged view that is smaller than the first pseudo enlarged view and is spaced an arbitrary distance around the convex hull.

[0080] (Supplementary Note 4) The information processing device according to Supplementary Note 2, wherein the convex hull calculation means calculates the convex hull by regarding a plurality of adjacent obstacles as a single obstacle.

[0081] (Supplementary Note 5) A control method in which a computer detects the positions and shapes of objects present in the vicinity of a moving body while the moving body is moving along a reference path, determines that among the objects, an object that may collide with the moving body is an obstacle, calculates the start point and end point of an avoidance path that will avoid collision with the obstacle based on the distance from the obstacle, calculates a turning path that will allow the moving body to turn without colliding with the obstacle based on the distance from the obstacle, and calculates the avoidance path by interpolating the path between the start point and the turning path and the path between the turning path and the end point based on a Dubins path.

[0082] (Supplementary Note 6) The control method according to Supplementary Note 5, further comprising: calculating a convex hull of the obstacle; generating a first pseudo enlarged view around the convex hull at an arbitrary distance; and calculating the start point and the end point based on an intersection of the first pseudo enlarged view and the reference path.

[0083] (Supplementary Note 7) The control method according to Supplementary Note 6, wherein the turning path is calculated along a second pseudo enlarged view that is smaller than the first pseudo enlarged view and is spaced an arbitrary distance around the convex hull.

[0084] (Supplementary Note 8) The control method according to Supplementary Note 5, wherein the convex hull is calculated by regarding adjacent obstacles as a single obstacle.

[0085] (Supplementary Note 9) A computer-readable recording medium having recorded thereon a program including instructions to cause a computer to: detect the positions and shapes of objects present in the vicinity of a moving body while the moving body is moving along a reference path; determine, among the objects, any object that may collide with the moving body as an obstacle; calculate, based on the distance from the obstacle, the start point and end point of an avoidance path that will avoid collision with the obstacle; calculate, based on the distance from the obstacle, a turning path that will allow the moving body to turn without colliding with the obstacle; and calculate the avoidance path by interpolating, based on a Dubins path, the path between the start point and the turning path and the path between the turning path and the end point.

[0086] (Supplementary Note 10) The computer-readable recording medium according to Supplementary Note 9, further comprising: calculating a convex hull of the obstacle; generating a first pseudo enlarged view around the convex hull at an arbitrary distance; and calculating the start point and the end point based on an intersection of the first pseudo enlarged view and the reference path.

[0087] (Supplementary Note 11) The computer-readable storage medium according to Supplementary Note 10, wherein the turning path is calculated along a second pseudo enlarged view that is smaller than the first pseudo enlarged view and is spaced an arbitrary distance around the convex hull.

[0088] (Supplementary Note 12) The computer-readable recording medium according to Supplementary Note 9, wherein the convex hull is calculated by regarding adjacent obstacles as a single obstacle.

[0089] (Supplementary Note 13) An information processing device having: an object detection means that detects the position and shape of an object around a moving body; an obstacle determination means that identifies an obstacle in a movement path of the moving body among the objects; an avoidance start / end point calculation means that calculates a start point and an end point of an avoidance path that avoids the obstacle in the movement path based on a distance from the obstacle; a turning path calculation means that calculates a turning path that is a certain distance away from the obstacle; and an avoidance path calculation means that calculates the avoidance path that reaches the end point from the start point via the line path.

[0090] Although the present invention has been described above with reference to the embodiments, the present invention is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.

[0091] According to the present disclosure, a route for a moving body to avoid obstacles can be planned earlier.

[0092] REFERENCE SIGNS LIST 10 Information processing device 11 Route acquisition unit 12 Object detection unit 13 Obstacle determination unit 14 Convex hull calculation unit 15 Avoidance start / end point calculation unit 16 Turning path calculation unit 17 Avoidance path calculation unit 18 Avoidance path output unit 20 Moving body 30 Object 31 Obstacle 32, 33, 34 Convex hull 40 Avoidance path 41 Start point 42 End point 43 Turning path (second pseudo enlarged view) 43a, 43b, 43c, 43d Intersection 44, 45 Route 46 First pseudo enlarged view 110 Computer 111 CPU 112 Main memory 113 Storage device 114 Input interface 115 Display controller 116 Data reader / writer 117 Communication interface 118 Input device 119 Display device 120 Recording medium 121 Bus

Claims

1. an object detection means for detecting the position and shape of an object in the vicinity of the moving body; an obstacle determination means for determining, among the objects, an object that is in a movement path of the moving body as an obstacle; an avoidance start / end point calculation means for calculating a start point and an end point of an avoidance path for avoiding a collision with the obstacle based on a distance from the obstacle; a turning path calculation means for calculating a turning path along which the vehicle can turn without colliding with the obstacle based on a distance from the obstacle; an avoidance path calculation means for calculating the avoidance path by interpolating a path between the start point and the turning path and a path between the turning path and the end point based on a Dubins path; An information processing device having the above.

2. Further, a convex hull calculation means is provided for calculating a convex hull of the obstacle, the avoidance start and end point calculation means generates a first pseudo enlarged view at an arbitrary distance around the convex hull, and calculates the start point and the end point based on an intersection between the first pseudo enlarged view and the reference path. The information processing device according to claim 1 .

3. the turning path calculation means calculates the turning path along the enlarged view of the convex hull; The information processing device according to claim 2 .

4. the convex hull calculation means calculates a convex hull by regarding a plurality of adjacent obstacles as a single obstacle. The information processing device according to claim 2 .

5. The computer While the moving body is moving along a reference path, the position and shape of an object present in the vicinity are detected; Among the objects, an object that may collide with the moving body is determined to be an obstacle; calculating a start point and an end point of an avoidance path for avoiding a collision with the obstacle based on a distance from the obstacle; Calculating a turning path that can be taken without colliding with the obstacle based on a distance from the obstacle; calculating the avoidance path by interpolating a path between the start point and the turning path and a path between the turning path and the end point based on the Dubins path; Control method.

6. Furthermore, a convex hull of the obstacle is calculated; generating a first pseudo enlarged view at an arbitrary distance around the convex hull, and calculating the start point and the end point based on an intersection between the first pseudo enlarged view and the reference path; The control method according to claim 5 .

7. calculating the turning path along a second pseudo-enlarged view that is smaller than the first pseudo-enlarged view and is spaced a given distance around the convex hull; The control method according to claim 6.

8. Calculate the convex hull by treating multiple adjacent obstacles as one obstacle. The control method according to claim 6.

9. On the computer, While the moving body is moving along a reference path, the position and shape of an object present in the vicinity are detected; Among the objects, an object that may collide with the moving body is determined to be an obstacle; calculating a start point and an end point of an avoidance path for avoiding a collision with the obstacle based on a distance from the obstacle; Calculating a turning path that allows the vehicle to turn without colliding with the obstacle based on the distance from the obstacle; calculating the avoidance path by interpolating a path between the start point and the turning path and a path between the turning path and the end point based on a Dubins path; A program containing instructions.

10. Furthermore, a convex hull of the obstacle is calculated; generating a first pseudo enlarged view at an arbitrary distance around the convex hull, and calculating the start point and the end point based on an intersection between the first pseudo enlarged view and the reference path; The program according to claim 9.