Information processing device, method for processing information, computer program, and storage medium
The information processing device optimizes obstacle destinations for autonomous mobile robots, improving group efficiency by minimizing movement and interference, and adhering to movement limits.
Patent Information
- Application Number
- JP2024066760
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-04-17
- Publication Date
- 2025-10-29
AI Technical Summary
Existing systems for autonomous mobile robots face decreased work efficiency when multiple robots operate together, and obstacles are sometimes moved beyond their movement limits, leading to interference with other robots' tasks.
An information processing device that acquires obstacle, route, and environmental information to determine an optimal destination for obstacles, minimizing their movement and reducing interference with other robots' tasks while adhering to movement restrictions.
The device efficiently determines obstacle destinations, enhancing overall robot efficiency by minimizing movement and interference, and ensuring obstacles stay within their movement limits.
Smart Images

Figure 2025163475000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing device, an information processing method, a computer program, a storage medium, and the like. [Background technology]
[0002] In recent years, autonomous mobile robots have been used in factory production lines, shipping warehouses, hospitals, homes, etc. to improve the efficiency of transporting goods and automate cleaning. When an autonomous mobile robot encounters an obstacle such as luggage on its travel route within the environment in which it operates, it responds by changing its travel route or moving the obstacle to another location.
[0003] Patent Document 1 discloses a technique in which a cleaning robot moves obstacles to a predetermined position where they do not get in the way of cleaning, and then starts cleaning. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent Publication No. 2015-009109 Summary of the Invention [Problem to be solved by the invention]
[0005] However, with the configuration of Patent Document 1, when multiple autonomous mobile robots are operating, the work efficiency of the group of robots as a whole may decrease. Also, with the method of Patent Document 1, there are cases where obstacles are moved beyond the movement limit.
[0006] The present invention has been made in view of the above, and one of its objects is to provide an information processing device that can efficiently determine the destination of an obstacle. [Means for solving the problem]
[0007] An information processing device according to one aspect of the present invention includes: obstacle information acquisition means for acquiring obstacle information relating to an obstacle; a route information acquisition means for acquiring route information along which a plurality of moving bodies travel; an environmental information acquisition means for acquiring environmental information relating to a movable range of the obstacle in the environment in which the moving object moves; obstacle destination determining means for determining a destination of the obstacle based on the environmental information and at least the distance traveled by the obstacle; The present invention is characterized by having the following. [Effects of the Invention]
[0008] According to the present invention, an information processing device that can efficiently determine the destination of an obstacle can be realized. [Brief explanation of the drawings]
[0009] [Figure 1] 1 is a diagram illustrating an example of the hardware configuration of an information processing apparatus 100 according to a first embodiment of the present invention. [Figure 2] FIG. 1 is a diagram illustrating an example of use of the first embodiment of the present invention. [Figure 3] 1 is a functional block diagram showing an example of the configuration of an information processing device according to a first embodiment. [Figure 4] 4 is a flowchart showing an example of an information processing method performed by the information processing device 100 according to the first embodiment. [Figure 5] FIG. 4 is a diagram showing an example of environmental information according to the first embodiment. [Figure 6] FIG. 3 is a diagram illustrating an example of a route information management database according to the first embodiment. [Figure 7] 10 is a flowchart showing an example of processing in step S404 for determining the destination of an obstacle in the first embodiment. [Figure 8] FIG. 10 is a diagram showing an example of association of the score of the penalty P1 according to the moving distance of the obstacle with each coordinate in the first embodiment. [Figure 9] 10 is a diagram showing an example of association of the score of a penalty P2 with each coordinate based on route information of a moving body in the first embodiment. FIG. [Figure 10] FIG. 10 is a functional block diagram showing an example of the configuration of an information processing device 1000 according to a second embodiment. [Figure 11] 10 is a flowchart showing an example of a processing flow of an information processing method according to the second embodiment. [Figure 12] 10 is a flowchart showing an example of processing in step S404 for determining the destination of an obstacle in the second embodiment. [Figure 13] FIG. 10 is a diagram showing an example of a classification database in the second embodiment. [Figure 14] FIG. 14 is a functional block diagram showing the configuration of an information processing device 1400 according to a third embodiment. [Figure 15] 11 is a flowchart showing an example of processing in the third embodiment. [Figure 16] FIG. 11 is a diagram illustrating an example of a mobile object information management database according to the third embodiment. [Figure 17] FIG. 11 is a diagram showing an example of a display on a GUI in the third embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the present invention is not limited to the following embodiments. In each drawing, the same members or elements are designated by the same reference numerals, and duplicate descriptions will be omitted or simplified.
[0011] <Embodiment 1> Fig. 1 is a diagram showing an example of the hardware configuration of an information processing device 100 according to the first embodiment of the present invention. In Fig. 1, 101 denotes a CPU serving as a computer that controls the entire information processing device 100, 102 denotes a ROM that stores programs and parameters, and 103 denotes a RAM that temporarily stores programs and data supplied from an external device or the like.
[0012] Reference numeral 104 denotes an external storage device such as a hard disk or a memory card. However, it may be built into the information processing device 100 or may be removable. For example, it may be an optical disk such as a CD, a magnetic or optical card, an IC card, or a memory card. Reference numeral 105 denotes an interface with an input device such as a pointing device or keyboard that receives user operations and inputs data.
[0013] Reference numeral 106 denotes a network interface for connecting to a network line such as the Internet 111. Reference numeral 107 denotes an output interface with an output device 110 such as a monitor for displaying data held by the information processing device 100 or data supplied thereto. Reference numeral 108 denotes a system bus for connecting the units 101 to 107 so that they can communicate with each other.
[0014] Fig. 2 is a diagram showing an example of use of the first embodiment of the present invention. In the image of use shown in Fig. 2, a plurality of mobile objects 202 to 204 are performing their respective tasks within an environment. It is assumed that the information processing device according to the first embodiment is installed in each of the mobile objects 202 to 204.
[0015] The moving body in the first embodiment is an autonomous moving body such as an AGV (Automated Guided Vehicle) or an AMR (Autonomous Mobile Robot).
[0016] However, the information processing device 100 according to this embodiment may be provided in a control terminal located away from the mobile objects, and a configuration may be adopted in which a plurality of mobile objects are remotely controlled via a wireless network.
[0017] 2, an obstacle 201 exists in the moving direction of the moving object 202, making it impossible for the moving object 202 to continue the task. In such a situation, in the first embodiment, a position that is unlikely to be used by multiple moving objects operating in the environment to perform the task and that does not move the obstacle from its current position as much as possible, i.e., a position that can minimize the amount of movement of the obstacle, is determined as the destination 205 of the obstacle.
[0018] By moving the obstacle to the above-described destination 205, the moving object 202 can continue executing the task. In addition, the destination of the obstacle does not have much impact on other moving objects moving in the environment, so it is unlikely to interfere with the execution of tasks by other moving objects. Furthermore, by minimizing the amount of movement of the obstacle, even if there is a limit to the obstacle's movement range, it can be kept within that limit.
[0019] Fig. 3 is a functional block diagram showing an example of the configuration of an information processing device according to embodiment 1. Note that some of the functional blocks shown in Fig. 3 are realized by causing a CPU or the like serving as a computer included in the information processing device to execute a computer program stored in a memory serving as a storage medium.
[0020] However, some or all of these functions may be implemented by hardware, such as a dedicated circuit (ASIC) or a processor (reconfigurable processor, DSP).
[0021] Furthermore, the functional blocks shown in Fig. 3 do not have to be housed in the same housing, but may be configured as separate devices connected to each other via signal paths. The above explanation regarding Fig. 3 also applies to Figs. 10 and 14.
[0022] The information processing device 100 of this embodiment has an obstacle information acquisition unit 301, a route information acquisition unit 302 that acquires route information along which multiple moving bodies operating in an environment move, and an environment information acquisition unit 303 that acquires information about the environment in which the moving bodies operate.
[0023] The obstacle information acquisition unit 301 functions as an obstacle information acquisition means for acquiring obstacle information related to obstacles. The route information acquisition unit 302 functions as a route information acquisition means for acquiring, for a plurality of moving objects, route information along which each moving object moves. The environment information acquisition unit 303 functions as an environment information acquisition means for acquiring environment information related to the movable range of obstacles in the environment in which the moving object moves.
[0024] The information processing device 100 also has an obstacle destination determination unit 304. The obstacle destination determination unit 304 functions as an obstacle destination determination means that determines the destination of an obstacle based on environmental information and at least the moving distance of the obstacle. Furthermore, the obstacle destination determination unit 304 may determine the destination of an obstacle based on at least one of obstacle information and route information.
[0025] In this embodiment, the obstacle destination determination unit 304 determines the destination of the obstacle based on the obstacle information acquired by the obstacle information acquisition unit 301, the route information acquired by the route information acquisition unit 302, and the environment information acquired by the environment information acquisition unit 303. Note that the obstacle information includes at least the position information of the obstacle.
[0026] The moving object control unit 305 controls the moving object so that the obstacle moves to the destination determined by the obstacle destination determination unit. The control for moving the obstacle includes, for example, motion control of pushing or lifting the obstacle. Note that the method for moving the obstacle is not limited to this, and the obstacle may be moved by any method.
[0027] Next, Fig. 4 is a flowchart showing an example of the information processing method performed by the information processing device 100 according to embodiment 1. Note that the operation of each step in the flowchart of Fig. 4 is performed sequentially by a CPU or the like serving as a computer in the information processing device executing a computer program stored in a memory.
[0028] In step S401, the obstacle information acquisition unit 301 recognizes the position and size of an obstacle present on the path of the moving object. In this embodiment, the position and size of the obstacle are recognized by image recognition of an image captured by a camera attached to the moving object. Here, step S401 functions as an obstacle information acquisition step for acquiring obstacle information related to the obstacle.
[0029] The position and size of an obstacle may be recognized using a LiDAR (Light Detection And Ranging) or TOF (Time Of Flight) sensor. The coordinate system for the obstacle position and the coordinate system for the route information (described later) use the same coordinate system as the coordinate system for the environmental information (described later).
[0030] In step S402, the environment information acquisition unit 303 acquires information about the environment in which the mobile object operates. The acquired environment information includes the movable range of obstacles in the environment, the movable range of obstacles, etc. The environment information is, for example, map information that represents the environment in which the mobile object operates in a coordinate system, and defines the movable range of obstacles and the movable range of obstacles.
[0031] Here, step S402 functions as an environmental information acquisition step for acquiring environmental information relating to the movable range of obstacles in the environment in which the mobile object moves. Note that the environmental information is managed in a database and acquired from the database, but the database is managed by each mobile object. The environmental information used is prepared in advance.
[0032] Fig. 5 is a diagram showing an example of environmental information according to embodiment 1. The acquired environmental information is expressed as a map, for example, as environmental information 500 shown in Fig. 5, and the environmental information 500 includes information on the shape, position, and orientation of a closed area 501 that corresponds to a "route range" indicating a movable range. The environmental information 500 also includes information on the shape, position, and orientation of a closed area 502 that corresponds to a "non-movable range" indicating a non-movable range.
[0033] In step S403, the route information acquisition unit 302 acquires route information. The route information includes information on routes that moving objects operating in the environment are scheduled to travel, and information on routes that each moving object operating in the environment has traveled in the past. Specifically, the acquired information includes waypoint coordinates, IDs of moving objects that pass through / have passed through the waypoint coordinates, and timestamps indicating the times when the moving objects passed through / have passed through the waypoint coordinates. Here, step S403 functions as a route information acquisition step that acquires route information along which multiple moving objects will travel.
[0034] As a method of acquisition, the route information of the mobile object is managed in, for example, a route information management database, and the information processing device 100 acquires the information from the route information management database. Note that the route information management database is managed by each mobile object.
[0035] The route information management database is created in advance. That is, information on previously traveled routes is created by acquiring coordinate information of each mobile body in advance and storing the collected coordinate information in the route information management database. Information on planned routes is determined by planning the routes that each mobile body will travel in advance and storing information on the determined planned routes in the route information management database.
[0036] Fig. 6 is a diagram showing an example of a route information management database according to the first embodiment, and the route information management database manages the route information management database in the format shown in Fig. 6. The "ID" column of the route information management database 601 shown in Fig. 6 manages IDs for uniquely identifying each piece of data. The route information management database 601 manages multiple sets each consisting of a moving object ID, a timestamp, and coordinates.
[0037] In step S404, the obstacle destination determination unit 304 determines the destination of the obstacle. Details of the process will be described with reference to Fig. 7. Note that step S404 functions as an obstacle destination determination step that determines the destination of the obstacle based on the environmental information and at least the movement distance of the obstacle.
[0038] Fig. 7 is a flowchart showing a processing example of step S404 for determining the destination of an obstacle in embodiment 1. Note that the operation of each step in the flowchart in Fig. 7 is performed sequentially by a CPU or the like serving as a computer in the information processing device executing a computer program stored in a memory.
[0039] In the flowchart in Figure 7, the penalty for moving an obstacle and the penalty for obstructing the movement of other moving objects are calculated separately, and the sum of these is used to evaluate the appropriateness of the obstacle's destination. This makes it possible to determine the destination of an obstacle while suppressing a decrease in the overall operational efficiency of multiple moving objects and complying with restrictions on the obstacle's movement.
[0040] That is, first, in step S701, using the obstacle information acquired in step S401 and the environmental information acquired in step S402, the score of the penalty P1 according to the obstacle's movement distance is calculated and associated with the environmental information. That is, the environmental information (the obstacle's movable range) is divided into, for example, a grid at equal intervals, and each grid point is defined as a candidate point, and the candidate point is associated with a penalty score according to the movement distance.
[0041] The width and height of the grid are defined in advance. The score of the penalty P1 based on the obstacle's movement distance represents the inappropriateness of the obstacle as a destination in the sense that movement is costly, and the higher the score, the more inappropriate the obstacle as a destination. In other words, the score of the penalty P1 based on the obstacle's movement distance represents the movement cost.
[0042] The score of the penalty P1 according to the obstacle's movement distance to be associated with the candidate point is a constant value defined in advance for each range of movement distance. In this embodiment, the penalty scores for the obstacle movement distance ranges of 0 m or more and less than 10 m, 10 m or more and less than 20 m, 20 m or more and less than 30 m, and 30 m or more are set to 1, 2, 3, and 4, respectively.
[0043] Fig. 8 is a diagram showing an example of association of the score of the penalty P1 according to the moving distance of an obstacle with each coordinate in embodiment 1. The example shown in Fig. 8 shows how the score of the penalty P1 according to the moving distance of an obstacle is associated with the environment information 500 shown in Fig. 5.
[0044] In Fig. 8, 801 represents an obstacle. Areas 802 to 804 shown in Fig. 8 each represent the score of the penalty P1 based on the obstacle's movement distance using different color intensities. Area 802 represents a movement distance of 0 m or more and less than 10 m, and indicates that the score of the penalty P1 based on the obstacle's movement distance is 1.
[0045] The area shown in area 803 is an area where the movement distance is equal to or greater than 10 m but less than 20 m, and indicates that the score of the penalty P1 based on the movement distance of the obstacle is 2. The area shown in area 804 is an area where the movement distance is equal to or greater than 20 m but less than 30 m, and indicates that the score of the penalty P1 based on the movement distance of the obstacle is 3.
[0046] In the example of Fig. 8, the penalty score is determined according to the distance from the center of the obstacle. That is, the score is calculated according to the distance from the position of the obstacle to the candidate destination point, and the destination of the obstacle is determined, but in reality, the length of the path along which the obstacle is moved varies due to walls, etc., so the penalty score may be determined according to the length of the path along which the obstacle is moved. That is, the distance from the position of the obstacle to the candidate destination point may be the distance of the path along which the obstacle is moved.
[0047] In step S702, the route information acquired in step S403 is used to calculate the score of the penalty P2 based on the route information of the moving object, and the score is associated with the environmental information. The association is performed by associating the score of the penalty P2 based on the route information with each candidate point defined in step S701.
[0048] The score of penalty P2 based on the route information of a moving object represents the inappropriateness of the obstacle as a destination in the sense that a moving object operating in the environment will use that route, and the higher the score, the more inappropriate the obstacle as a destination.
[0049] The score of the penalty P2 based on the route information of the moving body is calculated by adding a predetermined constant to an area with a predetermined width centered on the broken line connecting the waypoints for each route.
[0050] In other words, the penalty for each candidate point is the sum of the penalties for all routes. Note that, in this embodiment, the fixed width is the horizontal width of each moving object, but this is not limited to this and may be set manually by the user of the device of this embodiment, for example.
[0051] Fig. 9 is a diagram showing an example of association of the score of the penalty P2 based on the route information of the moving body with each coordinate in embodiment 1. The example shown in Fig. 9 shows, on the environment information 500, how the score of the penalty P2 based on the route information is associated with each candidate point defined in step S701.
[0052] Arrows 901 to 903 shown in Fig. 9 represent the routes acquired in step S403. For example, arrow 901 represents a route obtained by extracting data with a "mobile object ID" of "1" from the route information management database 601 shown in Fig. 6 and extracting the data as a series of coordinate information using the time information listed in the "timestamp" column.
[0053] Similarly, arrow 902 represents the route information of a mobile object whose "mobile object ID" is "2," and arrow 903 represents the route information of a mobile object whose "mobile object ID" is "3." Areas 904 and 905 shown in Fig. 9 represent the score of the penalty P2 based on the route information by the intensity of the color.
[0054] In this example, the area of the color shown in area 904 indicates that the score of the penalty P2 based on the route information is lower than the area of the color shown in area 905. Also, in Fig. 9, areas with no color on the environment information 500 indicate areas where the score of the penalty P2 based on the route information is 0.
[0055] 9, area 904 uses only the route information represented by arrow 902, so the score of the penalty P2 due to the route information of this area is 1. Area 905 has two pieces of route information represented by arrow 901 and arrow 902. Therefore, the scores of the penalty P2 due to the route information of both arrows 901 and 902 are added together, and the score of the penalty P2 due to the route information of this area 905 is 2.
[0056] In the area 906, there are two pieces of route information represented by the arrow 901 and the arrow 903. Therefore, the scores of the penalty P2 due to the route information of both the arrow 901 and the arrow 903 are added together, and the score of the penalty P2 due to the route information of this area 906 becomes 2.
[0057] In this embodiment, a high score is assigned to an area where multiple route information overlaps, but the closer the scheduled times at which each moving body will pass through the overlapping area where multiple routes overlap, the higher the score may be. Conversely, the further apart the scheduled times at which each moving body will pass through the overlapping area where multiple routes overlap, the lower the score may be.
[0058] In step S703, the destination of the obstacle is determined using the scores of each penalty associated with each candidate point in the environmental information calculated in steps S701 and S702. Specifically, using the information about the size of the obstacle acquired in step S401, the position (area) where the total of each penalty of the coordinates occupied when the obstacle is moved is the smallest is searched for within the movable range, and this position (area) is determined as the destination of the obstacle.
[0059] At this time, the greater the overlapping range between the route information of the moving body and the area occupied by the obstacle, the higher the score, and the narrower the overlapping range, the lower the score. In other words, the destination of the obstacle is determined based on the overlapping range between the transit area of the moving body and the area occupied by the obstacle at the destination candidate point. This makes it possible to determine the destination of the obstacle while simultaneously reducing the decrease in operational efficiency of the entire group of moving bodies consisting of multiple moving bodies (autonomous mobile robots, etc.) and complying with movement restrictions.
[0060] In this embodiment, the score is calculated based on the obstacle information and the route information, but it is sufficient if the score for each candidate destination point is calculated based on at least one of the obstacle information and the route information, and the destination of the obstacle is determined based on the score.
[0061] In the first embodiment, the obstacle information acquisition unit 301 acquires the position and size of an obstacle by image recognition using a camera attached to the mobile object, but this is not limiting. Image recognition may also be performed using, for example, multiple network cameras installed in the environment in which the mobile object operates.
[0062] The image recognition method may use a model created using machine learning. Object recognition may also be performed using a pressure sensor attached to the moving object or a laser sensor as described above. The obstacle information acquisition unit 301 may acquire only the position of the obstacle, and the size of the obstacle may be a predefined fixed value.
[0063] In this embodiment, the route information management database is created in advance, but the route information management database may be continuously updated. In this case, information on previously used routes may be updated by continuously acquiring coordinate information of each moving object and storing that information in the route information management database.
[0064] Information about the planned route to be used by a moving object may be updated by searching for a route from the moving object's current coordinates to the coordinates of the planned destination, calculating the time of passing each coordinate from the speed of each moving object, and storing the results in the route information management database.
[0065] This makes it possible to determine the destination of an obstacle using the latest route information. In the above example, when it is necessary to obtain the position information of moving objects operating in the environment, the position information of each moving object may be obtained by installing a GPS sensor on each moving object, or the position information of each moving object may be obtained using SLAM using an acceleration sensor or a camera.
[0066] In this embodiment, timestamp information is managed in the route information management database 601, but instead of managing timestamps in the route information management database 601, information on the order in which the route points are passed through may be added to the coordinates of each route point in the route information management database.
[0067] Furthermore, in this embodiment, the environmental information (movable range of the obstacle) was created in advance, but it may be continuously updated in real time. In this case, for example, changes in the position of the object in the environment may be detected by object recognition using a camera installed in the environment or on a mobile object operating in the environment, and the immovable range may be updated. In this way, the destination of the obstacle can be determined using the latest environmental information.
[0068] In this embodiment, when each penalty is associated with environmental information, the candidate points (grid points) defined in step S701 are used for the association. However, it is also possible to associate each penalty with a separate candidate point defined for each penalty, and then convert the penalties into a common coordinate system before adding them up when calculating the total penalty in the processing of step S703.
[0069] In addition, in this embodiment, the score of the penalty P1 based on the distance traveled by the obstacle is calculated by associating areas at regular distances centered on the position of the obstacle with environmental information and assigning a predefined constant to each area, but this is not limited to this.
[0070] The penalty score may be calculated so as to increase in proportion to the distance from the obstacle position. In this case, a predetermined constant may be used as the coefficient used to increase the penalty score P1 according to the obstacle movement distance.
[0071] In this embodiment, the score of the penalty P2 based on the route information of the moving object is calculated by adding a predetermined constant to a predetermined range centered on each route information of the moving object. However, the route information of the moving object may be used to calculate the stay time at the coordinates used as a route by each moving object, and the longer the stay time, the higher the penalty score.
[0072] This allows the location where the obstacle will be moved to be the location where the staying time is shorter. Also, the score of the penalty P2 based on the route information of the moving object may be increased or decreased depending on the priority of the task when each moving object uses that route.
[0073] That is, the higher the priority of the task, the higher the penalty score is assigned, and the lower the priority of the task, the lower the penalty score is assigned. This makes it possible to determine the destination of the obstacle so as not to obstruct the execution of the task of a mobile object that is performing a task with a higher priority.
[0074] Furthermore, the score of the penalty P2 based on the route information of each mobile unit may be increased or decreased depending on the difference between the route and the task schedule when the mobile unit uses that route. A higher penalty score is assigned to a route used by a mobile unit whose task is behind schedule, and a lower penalty score is assigned to a route used by a mobile unit whose task is ahead of schedule.
[0075] This allows the destination of the obstacle to be determined so as not to obstruct the moving object that is performing the task that is behind schedule.In addition, the score of the penalty P2 based on the route information may be increased or decreased using information on the time when each moving object last used the route.
[0076] In addition, the closer the time when each route was last used is to the current time, the higher the score of the penalty P2 based on the route information is. This makes it possible to determine the destination of an obstacle taking into account the most recent usage status.
[0077] In this embodiment, the total value of each penalty is used to determine the destination of the obstacle in step S703, but this is not limited to this. A value obtained by multiplying each penalty may also be used. Furthermore, each penalty may be multiplied by a weighting coefficient in consideration of the priority of each penalty.
[0078] That is, a high coefficient is applied to a penalty that should be emphasized, and a low coefficient is applied to a penalty that does not need to be emphasized. This allows the destination of the obstacle to be determined taking into account the priority of each penalty.
[0079] The penalty for each penalty may be defined in advance or determined dynamically. For example, the total time of the schedule delay for each moving object may be calculated, and the coefficient of the score for the penalty P2 based on the route information may be increased in proportion to that time. This makes it possible to determine the destination of the obstacle so that it does not hinder the execution of the task of each moving object, so that the longer the schedule is delayed from the scheduled time, the greater the delay will be.
[0080] In addition, in this embodiment, various databases are used to store and retrieve information, but the number of columns and rows of the various databases described in this embodiment is not limited to those described. They may be more or less.
[0081] In addition, although the various databases are managed by each mobile entity in the above embodiment, this is not limited to this. The various databases may be managed by a central management device such as a server, and each mobile entity may obtain information managed in the various databases by communicating with the central management device.
[0082] <Embodiment 2> In the first embodiment, the score of the penalty P1 according to the moving distance of the obstacle is calculated according to the distance the obstacle moves from its original position using the obstacle moving destination determination unit 304. At that time, the rate of increase of the penalty score according to the moving distance is constant.
[0083] In contrast, in the second embodiment, an obstacle attribute information acquisition unit 1001 is added to the configuration of the first embodiment, and the coefficient used to calculate the score of the penalty P1 based on the obstacle's movement distance is changed depending on the obstacle's attributes.
[0084] That is, the destination of the obstacle is determined based on the attribute information of the obstacle. Specifically, the destination of the obstacle is determined depending on whether the attribute information includes, for example, information regarding a road ban. Alternatively, the destination of the obstacle is determined depending on the weight of the obstacle based on the attribute information.
[0085] This makes it possible to prevent the movement of obstacles that would cause problems if moved too far from the current position, such as traffic cones and road signs indicating no entry, as well as heavy objects that are costly to move.
[0086] Fig. 10 is a functional block diagram showing an example of the configuration of an information processing device 1000 according to embodiment 2. The information processing device 1000 of this embodiment additionally includes an obstacle attribute information acquisition unit 1001 in addition to the configuration of the information processing device 100 described in embodiment 1. That is, in embodiment 2, as shown in Fig. 10, the obstacle attribute information acquisition unit 1001 is disposed, for example, between the moving object control unit 305 and the obstacle destination determination unit 304.
[0087] Fig. 11 is a flowchart showing an example of the processing flow of an information processing method according to the second embodiment, and the flowchart in Fig. 11 differs from the flowchart showing the basic flow of the first embodiment described with reference to Fig. 4 in that processing in step S1101 has been added. Also, the processing content of step S404 is different.
[0088] The CPU or the like serving as a computer in the information processing device executes a computer program stored in memory, thereby sequentially performing the operations of the steps in the flowchart of FIG.
[0089] In step S1101, obstacle attribute information is acquired by the obstacle attribute information acquisition unit 1001. That is, the obstacle information acquisition unit 301 performs image recognition based on an image captured by a camera mounted on a moving object, and recognizes at least one attribute of the obstacle, such as the type, size, estimated weight, etc.
[0090] Specific examples of attributes to be classified include at least one of road signs, heavy objects, portable objects, etc. As examples of classification, for example, a triangular cone or road sign indicating no entry is classified as a sign, an object whose size acquired by the obstacle information acquisition unit 301 is equal to or larger than a certain size is classified as a heavy object, and other objects are classified as portable objects.
[0091] Fig. 12 is a flowchart showing an example of processing in step S404 for determining the destination of an obstacle in embodiment 2. Note that the operation of each step in the flowchart in Fig. 12 is performed sequentially by a CPU or the like serving as a computer in the information processing device executing a computer program stored in a memory.
[0092] The flowchart of step S404 of the second embodiment shown in FIG. 12 differs from the flowchart of the first embodiment shown in FIG. 7 in that processing of step S1201 is added.
[0093] In step S1201, a coefficient for calculating the score based on the movement distance is determined. That is, based on the attributes such as the classification of the obstacle acquired in step S1101, a coefficient to be used in calculating the score of the penalty P1 based on the movement distance of the obstacle in step S701 is determined.
[0094] Fig. 13 is a diagram showing an example of a classification database in embodiment 2. In embodiment 2, for example, a coefficient used to calculate the score of the penalty P1 is associated with the classification of the obstacle and stored in a classification database 1301 as shown in Fig. 13. Therefore, in step S1201, the coefficient is determined by obtaining a coefficient according to the classification of the obstacle from the classification database 1301.
[0095] The "ID" column of the classification database 1301 indicates the ID for each classification. The "Classification" column manages the classification of obstacles. The "Coefficient" column manages, for each classification managed in each row, a coefficient used to calculate the score of the penalty P1 based on the obstacle's travel distance. The coefficient is set to a larger value for obstacle classifications that require a shorter travel distance, and a smaller value for obstacle classifications that do not require a longer travel distance.
[0096] In this embodiment, the obstacle attribute information acquisition unit 1001 classifies obstacles by image recognition using a camera attached to the moving object, but the method is not limited to this. Image recognition may also be performed using, for example, multiple network cameras installed in the environment in which the moving object operates.
[0097] Alternatively, a model created by machine learning may be used as a classification method based on image recognition. Object recognition may also be performed using a pressure sensor or laser sensor attached to the moving object. Classification may also be performed based on the size of the obstacle acquired by the obstacle information acquisition unit 301.
[0098] The number of columns and rows in the classification database 1301 shown in Fig. 13 may be greater or less. The classification database 1301 may be managed by each mobile entity, or may be managed by a central management device such as a server, and each mobile entity may obtain the information managed in the classification database 1301 by communicating with the central management device.
[0099] <Embodiment 3> In the second embodiment, the obstacle attribute information acquisition unit 1001 acquires attribute information of the obstacle, and classifies the obstacle to change the coefficient used to calculate the score of the penalty P1 according to the moving distance of the obstacle. That is, a more suitable position is determined as the moving destination depending on the attribute of the obstacle.
[0100] In addition to the configuration of the second embodiment, the third embodiment further includes a plan modification unit 1403, an obstacle moving object determination unit 1402, and a moving object information acquisition unit 1401. This makes it possible to create a plan for moving obstacles to a destination according to the classification of obstacles that each moving object can move.
[0101] 14 is a functional block diagram showing the configuration of an information processing device 1400 according to embodiment 3. The information processing device 1400 according to embodiment 3 differs from the information processing device 1000 described in embodiment 2 in that it includes a moving object information acquisition unit 1401, an obstacle moving object determination unit 1402, and a plan change unit 1403.
[0102] That is, in the example of FIG. 14, the moving object information acquisition unit 1401 is connected to the plan change unit 1403 via the obstacle moving object determination unit 1402 , and the plan change unit 1403 is connected to the obstacle attribute information acquisition unit 1001 .
[0103] Fig. 15 is a flowchart showing a processing example in embodiment 3. The flowchart shown in Fig. 15 is obtained by adding three processes, step S1501, step S1502, and step S1503, to the flowchart showing the basic flow of embodiment 2 described using Fig. 11.
[0104] The CPU or the like serving as a computer in the information processing device executes a computer program stored in memory, thereby sequentially performing the operations of the steps in the flowchart of FIG.
[0105] 15, after determining the destination of the obstacle in step S404, in step S1501, the moving object information acquisition unit 1401 acquires moving object information (attribute information) of each moving object operating in the environment. The acquired information is the classification of obstacles that each moving object can move.
[0106] Fig. 16 is a diagram showing an example of a mobile object information management database in embodiment 3. In embodiment 3, attribute information for each mobile object is managed in a database format by a mobile object information management database 1601 as shown in Fig. 16.
[0107] The "ID" column of the mobile object information management database 1601 indicates the ID for each piece of mobile object information. The "Mobile object information" column manages the unique name of the mobile object. The "Corresponding obstacle classification" column manages the mobile object attribute information managed in each row, relating to the classification (type) of obstacles that the mobile object can move through.
[0108] In step S1501, the "corresponding obstacle classification" which is attribute information for each moving object is acquired from the moving object information management database 1601, thereby acquiring the classification of obstacles that each moving object can move.
[0109] In step S1502, the obstacle moving object determination unit 1402 determines a moving object that will move the obstacle based on the information about the obstacle classified by the obstacle attribute information acquisition unit 1001 and the attribute information of the moving object acquired by the moving object information acquisition unit 1401. The obstacle moving object determination unit 1402 functions as obstacle moving object determination means that determines a moving object that will move the obstacle based on the attribute information of the moving object.
[0110] That is, using the mobile object information management database 1601 shown in FIG. 16, the mobile objects whose "corresponding obstacle classification" column includes the classification of the obstacle acquired in step S1101 are extracted, and the mobile object for moving over the obstacle is determined.
[0111] For example, if the classification of the obstacle acquired in step S1101 is "C," the "ID" of the moving object that has "C" in the "Corresponding Obstacle Classification" column is "3," and the "Moving Object Information" is "c." Therefore, "c" is determined as the moving object that will move the obstacle. Note that if there are multiple extracted moving objects, the moving object that is closest to the obstacle is selected.
[0112] In step S1503, the plan change unit 1403 changes the movement plan of the moving body, which is the obstacle movement means determined in step S1502, and adds, by interruption, a plan to move the obstacle recognized in step S401 to the obstacle movement destination determined in step S404.
[0113] In the third embodiment, when multiple moving bodies are extracted as means of moving an obstacle in step S1502, the moving body closest to the obstacle is selected, but this is not limited to this. Based on the plan of the tasks assigned to each moving body, the task may be assigned to the moving body with the lowest priority of the currently executing task, or the task priority may be equal to or lower than a predetermined value.
[0114] Furthermore, the schedules of each task currently being performed by each mobile body may be compared, and the task may be allocated to the mobile body with the least delay in the schedule, the most leeway in the schedule, or the latest task deadline.
[0115] Alternatively, the task may be allocated to a mobile unit that satisfies at least one of the following conditions: the schedule delay is less than a predetermined value, the schedule margin is greater than or equal to a predetermined value, the task deadline is after a predetermined time point, and the remaining battery charge is greater than or equal to a predetermined value. In this case, priority may be given to the mobile unit that satisfies more of the above conditions.
[0116] In the third embodiment, three components, namely, the plan modification unit 1403, the obstacle moving object determination unit 1402, and the moving object information acquisition unit 1401, are added to the configuration of Fig. 10, but the present invention is not limited to this. At least the plan modification unit 1403 may be added, and a plan to move to the obstacle destination determined in step S404 may be added to the plan of the moving object that recognized the obstacle in step S401.
[0117] 16 may have more or fewer columns and rows. Also, the mobile object information management database 1601 may be managed by each mobile object, or may be managed by a central management device such as a server, and each mobile object may obtain information managed in the mobile object information management database 1601 by communicating with the central management device.
[0118] <Embodiment 4> In the first embodiment, an appropriate destination for the obstacle is determined, but in the fourth embodiment, an information notification unit (not shown) is added to the configuration of the first embodiment, and the destination of the obstacle determined by the obstacle destination determination unit 304 is notified to the outside.
[0119] The information notification unit notifies those in the vicinity by voice, for example, of at least one of the type of obstacle, the fact that the obstacle will be moved, and the destination to which the obstacle will be moved. Alternatively, the notification content may be sent to a central management device such as a server and displayed on a screen using a GUI. Alternatively, notification may be performed by a combination of voice and screen display.
[0120] Fig. 17 is a diagram showing an example of display on the GUI in embodiment 3. In the display example shown in Fig. 17, an obstacle 1701 present on the environment information 500 and its destination 1702 are shown as images.
[0121] 17 may further display the type of obstacle 170, a means for moving the obstacle 170, etc. Furthermore, a GUI may be displayed to allow the user to select or decide the means for moving the obstacle, the destination, and whether or not to move it.
[0122] The present invention has been described above in detail based on its preferred embodiments, but the present invention is not limited to the above embodiments, and various modifications and combinations of the above embodiments are possible based on the spirit of the present invention, and these are not excluded from the scope of the present invention.
[0123] The present invention also includes those that realize the functions of the above-described embodiments using at least one processor such as a CPU or circuit, and may also use multiple processors for distributed processing.
[0124] In order to realize part or all of the control in the above-described embodiments, a computer program that realizes the functions of the above-described embodiments may be supplied to an information processing device or the like via a network or various storage media. Then, a computer (or a CPU, MPU, or the like) in the information processing device or the like may read and execute the program. In this case, the program and the storage medium storing the program constitute the present invention. The present invention also includes the following combinations.
[0125] (Configuration 1) An information processing device characterized by having an obstacle information acquisition means for acquiring obstacle information regarding obstacles, a route information acquisition means for acquiring, for a plurality of moving bodies, route information along which the moving bodies will move, an environment information acquisition means for acquiring environmental information regarding the movable range of the obstacle in the environment in which the moving bodies move, and an obstacle destination determination means for determining the destination of the obstacle based on the environmental information and at least the distance traveled by the obstacle.
[0126] (Configuration 2) The information processing device according to Configuration 1, wherein the obstacle destination determining means determines the destination based on at least one of the obstacle information and the route information.
[0127] (Configuration 3) The information processing device according to Configuration 2, wherein the obstacle destination determination means calculates a score for each candidate destination point based on at least one of the obstacle information and the route information, and determines the destination based on the score.
[0128] (Configuration 4) An information processing device described in any one of configurations 1 to 3, characterized in that the obstacle information includes position information of the obstacle, and the obstacle destination determination means determines the destination based on the distance from the position of the obstacle to a candidate destination point.
[0129] (Configuration 5) An information processing device described in any one of configurations 1 to 4, characterized in that the obstacle destination determination means determines the destination based on the overlapping range between the passing area of the moving body and the area occupied by the obstacle at the destination candidate point.
[0130] (Configuration 6) The information processing device according to any one of configurations 1 to 5, wherein the obstacle destination determining means determines the destination based on attribute information of the obstacle.
[0131] (Configuration 7) The information processing device according to configuration 6, wherein the obstacle destination determining means determines the destination depending on whether the attribute information includes information relating to a no-entry road.
[0132] (Configuration 8) The information processing device according to configuration 6 or 7, wherein the obstacle destination determination means determines the destination in accordance with the weight of the obstacle based on the attribute information.
[0133] (Configuration 9) The information processing device according to any one of configurations 1 to 8, further comprising obstacle moving body determining means for determining a moving body that will move the obstacle based on attribute information of the moving body.
[0134] (Configuration 10) The information processing device according to any one of configurations 1 to 9, further comprising an information notification unit that notifies the destination.
[0135] (Method) An information processing method comprising: an obstacle information acquisition step for acquiring obstacle information regarding an obstacle; a route information acquisition step for acquiring, for a plurality of moving bodies, route information along which the moving bodies will move; an environmental information acquisition step for acquiring environmental information regarding the movable range of the obstacle in the environment in which the moving bodies move; and an obstacle destination determination step for determining the destination of the obstacle based on the environmental information and at least the distance traveled by the obstacle.
[0136] (Program) A computer program for controlling each means of the information processing device according to any one of configurations 1 to 10 by a computer. [Explanation of symbols]
[0137] 100: Information processing device 201, 801, 1701: Obstacles 202~204: Mobile 205, 1702: Destination 802~804: Area 901~903: Route
Claims
1. obstacle information acquisition means for acquiring obstacle information relating to an obstacle; a route information acquisition means for acquiring route information along which a plurality of moving bodies travel; an environmental information acquisition means for acquiring environmental information relating to a movable range of the obstacle in the environment in which the moving object moves; obstacle destination determining means for determining a destination of the obstacle based on the environmental information and at least the distance traveled by the obstacle; An information processing device comprising:
2. the obstacle destination determination means determines the destination based on at least one of the obstacle information and the route information; 2. The information processing device according to claim 1,
3. the obstacle destination determination means calculates a score for each destination candidate point based on at least one of the obstacle information and the route information, and determines the destination based on the score; 3. The information processing device according to claim 2, wherein:
4. the obstacle information includes position information of the obstacle, the obstacle destination determination means determines the destination according to a distance from the position of the obstacle to a destination candidate point; 2. The information processing device according to claim 1,
5. the obstacle destination determination means determines the destination according to an overlapping range between a passing area of the moving body and an area occupied by the obstacle at the destination candidate point; 2. The information processing device according to claim 1,
6. the obstacle destination determination means determines the destination based on attribute information of the obstacle; 2. The information processing device according to claim 1,
7. the obstacle destination determination means determines the destination depending on whether the attribute information includes information regarding a road ban; 7. The information processing device according to claim 6,
8. the obstacle destination determination means determines the destination of the obstacle in accordance with a weight of the obstacle based on the attribute information; 7. The information processing device according to claim 6,
9. an obstacle moving body determining means for determining a moving body that will move the obstacle based on attribute information of the moving body; 2. The information processing device according to claim 1,
10. an information notification unit that notifies the destination; 2. The information processing device according to claim 1,
11. an obstacle information acquisition step of acquiring obstacle information relating to an obstacle; a route information acquisition step of acquiring route information along which a plurality of moving bodies travel; an environmental information acquisition step of acquiring environmental information regarding a movable range of the obstacle in an environment in which the moving object moves; an obstacle destination determination step of determining a destination of the obstacle based on the environmental information and at least the moving distance of the obstacle; An information processing method comprising:
12. A computer program for controlling each means of the information processing apparatus according to any one of claims 1 to 10 by a computer.
13. A computer-readable storage medium storing the computer program according to claim 12.
Citation Information
Patent Citations
Self-propelled vacuum cleaner
JP2015009109A