Mobile control device
The mobile body control device uses dynamic information transmission rates and real-time updates to prevent local minima, ensuring reliable navigation in dynamic environments.
Patent Information
- Application Number
- JP2022166820
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-10-18
- Publication Date
- 2025-12-12
- Estimated Expiration
- 2042-10-18
AI Technical Summary
Existing mobile body control technologies struggle with responsiveness in dynamic environments, leading to potential collisions due to local minima and the inability to adapt quickly to changes in the surrounding environment.
A mobile body control device that generates a potential field using a differential equation with dynamic information transmission rates, allowing for real-time updates based on environmental observations, preventing local minima and ensuring rapid response to environmental changes.
The solution effectively prevents local minima and ensures high responsiveness, reliably guiding the mobile body to its destination even in dynamic environments.
Smart Images

Figure 0007784979000007 
Figure 0007784979000008 
Figure 0007784979000009
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a control device for a moving body. [Background technology]
[0002] When an autonomously moving body moves to a destination, the body generates a travel route that can reach the destination from its current location while avoiding obstacles based on an environmental map that is stored in advance to determine whether the body can pass through a specific space and the positions of surrounding obstacles observed while moving, and moves by following that route.
[0003] A common route generation method is to calculate an evaluation function (potential function) from the sum of an attractive function that monotonically decreases toward the destination and a repulsive function that monotonically increases toward an unmovable area or obstacle in an environmental map, and then generate a route based on that evaluation function. For example, there is a method of generating a route using Dijkstra's algorithm with the evaluation function as a weight, and a method of generating a route by calculating a route that minimizes the evaluation function using the steepest descent method, as proposed in Non-Patent Document 1 below. The latter method is also called the artificial potential method. There is also a method that uses only a repulsive function as the evaluation function.
[0004] In the artificial potential method, there may be a local solution called a local minimum that does not reach the destination. A local minimum occurs when multiple repulsive functions overlap due to the proximity of obstacles, or when it is difficult to solve using a monotonic attractive function, such as in an environment where a detour is required (e.g., a maze). One technique for suppressing the occurrence of local minima is to use a potential function without a minimum point as an evaluation function. For example, Non-Patent Document 2 proposes a method using the Laplace equation, the solution of which has been proven to have no minimum value, and Patent Document 1 below, for example, discloses a technique for generating a route using this method.
[0005] Furthermore, Patent Document 2 below discloses a technique for suppressing the overlap of multiple repulsive force functions by increasing the gradient of the repulsive force function in a narrow space. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] Japanese Patent Application Publication No. 8-22324 [Patent Document 2] Japanese Patent Application Publication No. 2018-185633 [Patent Document 3] Japanese Patent Application Laid-Open No. 2017-111473 [Non-patent literature]
[0007] [Non-Patent Document 1] Oussama Khatib, "Real-Time Obstacle Avoidance for Manipulators and Mobile Robots", Proceedings of the 1985 IEEE International Conference on Robotics & Automation, pp. 500-505, 1985. [Non-patent document 2] Keisuke Sato, "Robot Motion Planning Using Potential Fields Without Minima," Journal of the Robotics Society of Japan, 1993 Summary of the Invention [Problem to be solved by the invention]
[0008] The technology in Patent Document 1 uses a potential function based on the Laplace equation as an evaluation function, and generates a potential field that determines the guiding direction of a moving object by performing iterative calculations with the termination condition being that the change in the numerical solution is below a certain level. This takes time to generate the potential field. Therefore, this technology is difficult to use in dynamic environments because it cannot respond in time to changes in the surrounding environment while the moving object is moving, which could result in the moving object colliding with an obstacle. Non-Patent Document 2 uses the Gauss-Seidel method to solve the Laplace equation, taking advantage of the property that no local minima occur even if the termination condition is not met, and limits the number of iterations to improve responsiveness. However, it is known that the computational cost increases exponentially as the range of the moving space increases.
[0009] The present disclosure has been made to solve the above-mentioned problems, and aims to provide a mobile body control device that can prevent a mobile body from falling into a local minimum and is highly responsive to changes in the surrounding situation. [Means for solving the problem]
[0010] A mobile body control device according to the present disclosure is a mobile body control device that generates a potential field that determines a guiding direction of a mobile body on a plurality of nodes obtained by discretizing a space in which the mobile body moves, and includes an information transmission rate determination unit that determines an information transmission rate of the potential field for each of the nodes, a potential field update unit that updates the potential field in accordance with the information transmission rate based on observation information about the surroundings of the mobile body, and a command value calculation unit that calculates a command value for the mobile body based on a gradient vector of the potential field, the information transmission speed of the potential field is a speed at which the potential field update unit transmits the observation information to the potential field and updates the potential field, The information transmission rate determination unit determines the information transmission rate of each of the nodes in accordance with the location of the mobile unit. [Effects of the Invention]
[0011] The mobile body control device according to the present disclosure can prevent a mobile body from falling into a local minimum and can control the mobile body in a manner that is highly responsive to changes in the surrounding situation, thereby making it possible to more reliably guide the mobile body to its destination. [Brief explanation of the drawings]
[0012] [Figure 1] 1 is a block diagram showing an example of a configuration of a mobile object control device according to an embodiment; [Figure 2] FIG. 1 is a schematic diagram illustrating an example of an environment in which a mobile object control device according to an embodiment operates. [Figure 3] 1 is a block diagram showing an example of a system configuration of a mobile body equipped with a mobile body control device according to an embodiment. [Figure 4] FIG. 2 is a schematic diagram illustrating an example of the configuration of a potential field storage unit according to the first embodiment. [Figure 5] FIG. 10 is a block diagram showing an example of the configuration of a potential field update unit according to a second embodiment. [Figure 6] FIG. 10 is a schematic diagram illustrating an example of a movement cost calculated by a movement cost calculation unit according to the second embodiment. [Figure 7] FIG. 10 is a schematic diagram illustrating an example of a method for updating a potential value of each node in a potential value updating unit according to the second embodiment. [Figure 8] FIG. 10 is a schematic diagram illustrating an example of an order in which the potential value of each node is updated in the potential value update unit according to the second embodiment. [Figure 9] FIG. 10 is a block diagram showing an example of the configuration of a potential field update unit according to a modified example of the second embodiment. [Figure 10] FIG. 10 is a schematic diagram showing an example of a method for calculating an estimated movement cost when updating a potential field in a modified example of the second embodiment. [Figure 11] FIG. 11 is a schematic diagram illustrating an example of a process performed by an information transmission rate determiner according to the third embodiment. [Figure 12] FIG. 11 is a schematic diagram illustrating an example of a process performed by an information transmission rate determiner according to a first modified example of the third embodiment. [Figure 13] FIG. 11 is a schematic diagram illustrating an example of a process performed by an information transmission rate determiner according to a second modified example of the third embodiment. [Figure 14] FIG. 10 is a block diagram showing an example of the configuration of a command value calculation unit according to a fourth embodiment. [Figure 15] 13 is a schematic diagram showing an example of correction of a command value for a moving body in the fourth embodiment. FIG. [Figure 16] FIG. 10 is a schematic diagram illustrating an example of processing by a command value initial value calculation unit according to the fourth embodiment. [Figure 17] FIG. 2 is a diagram illustrating an example of a hardware configuration of a mobile object control device. [Figure 18] FIG. 2 is a diagram illustrating an example of a hardware configuration of a mobile object control device. DETAILED DESCRIPTION OF THE INVENTION
[0013] Hereinafter, embodiments of a mobile object control device according to the present disclosure will be described with reference to the accompanying drawings.
[0014] 1 is a block diagram showing an example of the configuration of a mobile object control device S5 (hereinafter simply referred to as "control device S5") according to an embodiment. As shown in FIG. 1, the control device S5 includes an initial potential field generation unit C1, a potential field storage unit C2, a potential field update unit C4, and an information transmission speed determination unit C5.
[0015] The initial potential field generation unit C1 generates an initial potential field that determines the guiding direction of the moving body from an environmental map. The potential field memory unit C2 stores the potential field generated by the initial potential field generation unit C1. The command value calculation unit C3 calculates a command value for the moving body from the potential field stored in the potential field memory unit C2. The potential field update unit C4 updates the potential field stored in the potential field memory unit C2. The information transmission speed determination unit C5 dynamically determines the information transmission speed of the potential field of each node. In other words, the information transmission speed determination unit C5 determines the information transmission speed of the potential field for each node.
[0016] Here, the information transmission speed refers to the speed at which environmental information is transmitted to the potential field in the potential field update unit C4 and the potential field is updated based on the environmental information. Furthermore, the environmental information is information about the surroundings of the moving object, such as the positions of obstacles, and is acquired by the observation device S2, which will be described later. The potential field stored in the potential field storage unit C2 can be defined in any coordinate system and in any dimension, and may be a multi-layer or multi-layer potential field.
[0017] In this example, the potential field storage unit C2 is incorporated into the control device S5, but it may also be provided outside the control device S5. By using a differential equation whose solution does not take a local minimum, such as the Laplace equation or the eikonal equation, as the potential function used by the initial potential field generation unit C1 and the potential field update unit C4 when generating or updating the potential field, it is possible to guide the mobile object to the destination without it falling into a local minimum.
[0018] Fig. 2 is a schematic diagram showing an example of an environment in which the control device S5 operates. The environment shown in Fig. 2 includes a moving object E1 controlled by the control device S5, a destination E2 to which the moving object is heading, and a movement space E3 in which the moving object E1 operates, and has world coordinates E4 fixed to the movement space E3 and moving object coordinates E5 fixed to the moving object E1. The control device S5 operates with the purpose of guiding the moving object E1 to the destination E2.
[0019] The destination E2 may be given as multiple points or an area, and its position or shape may change over time. For example, if the moving object E1 is a cleaning robot and its task is to fill in the moving space E3, the task can be performed by giving the unexplored area as the area of the destination E2 and excluding the traversed area from the area of the destination E2. Alternatively, the destination E2 can be given as a point at a certain period, and the destination E2 can be made to form the shape of a route, allowing the moving object E1 to follow the route.
[0020] There may be multiple moving bodies E1 and multiple types of moving bodies E1, and the type of moving body E1 may be any type that is equipped with a drive mechanism that can move the moving body E1, such as a differential two-wheel mechanism, a leg mechanism, a propeller mechanism, etc. The moving space E3 may be defined in any dimension, and for example, if the drive mechanism of the moving body E1 is a differential two-wheel mechanism, it may be a three-dimensional space defined by the x-axis and y-axis that represent the position of the moving body and the θ-axis that represents the attitude.
[0021] Fig. 3 is a block diagram showing an example of the system configuration of a mobile object E1 equipped with a control device S5. As shown in Fig. 3, the mobile object E1 includes an environmental map distribution device S1, an observation device S2, a destination distribution device S3, a mobile object position distribution device S4, a control device S5, and a drive device S6.
[0022] The environmental map distribution device S1 issues an environmental map. The observation device S2 observes the conditions around the moving body E1 and issues observation information that is the result of the observation. The destination distribution device S3 issues a destination E2 for the moving body E1. The mobile body position distribution device S4 issues the position of the moving body E1. The control device S5 calculates command values for the moving body E1 using information issued by the environmental map distribution device S1, the observation device S2, the destination distribution device S3, and the mobile body position distribution device S4. The driving device S6 controls the moving body E1 according to the command values calculated by the control device S5, thereby moving the moving body E1 and guiding it to the destination E2.
[0023] The environmental map issued by the environmental map distribution device S1 may be created in advance using SLAM (Simultaneous Localization and Mapping), or may be created online using information from the observation device S2. The observation device S2 does not necessarily have to be a device capable of acquiring distance, such as an RGB-D camera or LIDAR, but may also be configured with an RGB camera or an infrared thermography camera. Furthermore, the number of each of the environmental map distribution devices S1, observation devices S2, destination distribution devices S3, and mobile object position distribution devices S4 may be any number, and they do not have to be located on the mobile object E1, but may be located, for example, in the moving space E3 or outside thereof.
[0024] The specific processing flow of this embodiment will be explained using as an example a scenario in which a potential field held in a two-dimensional rectangular grid fixed to world coordinates E4 is updated based on the eikonal equation, and a mobile object E1 with differential two wheels is guided to a destination E2.
[0025] First, the environmental map distribution device S1 issues a two-dimensional occupancy grid map as an environmental map, which describes static information about the movement space E3 in which the moving body E1 can move, and the destination distribution device S3 issues the position of the destination E2 of the moving body E1.
[0026] When this information is input to the control device S5, the initial potential field generation unit C1 generates a potential field that monotonically decreases toward destination E2 while avoiding obstacles, based on the occupancy grid map and the position of destination E2, and the potential field storage unit C2 stores this as the initial potential field.Whether the information in the occupancy grid map indicates an obstacle can be determined, for example, by regarding it as an obstacle if the occupancy of each node is equal to or greater than a predetermined threshold.
[0027] Next, a command value calculation unit C3 calculates a target speed of the moving object E1, specifically, a target value for each of a translation speed and a rotation speed, from the potential field information stored in the potential field storage unit C2. Then, a driving unit S6 moves the moving object E1 so as to follow the target speed by speed tracking control. For example, PID (Proportional-Integral-Differential) control can be used for the speed tracking control.
[0028] Next, the information transmission rate determination unit C5 determines the information transmission rate of each node based on the information issued by the observation device S2 and the mobile object position distribution device S4. The potential field update unit C4 dynamically adjusts the update period and discretization width of each node according to the information transmission rate, and updates the potential field stored in the potential field memory unit C2 based on the observation information issued by the observation device S2.
[0029] The control device S5 according to this embodiment can dynamically limit the information transmission speed of the potential field in the control loop of the moving object E1 for each node. This reduces the calculation load imposed on the control of the moving object E1, allowing for emphasis on calculations in more important areas. As a result, the control cycle can be maintained at a constant level or less, real-time performance can be guaranteed, and immediate response to dynamic changes in surrounding information can be achieved.
[0030] The processing of the command value calculation unit C3 and the processing of the potential field update unit C4 are executed asynchronously, and the execution cycle of the command value calculation unit C3 is set to be sufficiently short relative to the movement speed of the moving object E1, for example, 100 ms. Furthermore, the eikonal equation can be solved efficiently by using the fast marching method in the processing of the initial potential field generation unit C1 and the potential field update unit C4. Here, the potential field is fixed to the world coordinate system E4, but it can also be fixed to another coordinate system, such as the moving object coordinate system E5 or the coordinate system that serves as the reference for the odometry of the moving object E1.
[0031] As a supplement, we will explain the outline of solving the eikonal equation using the Fast Marching Method. Equation (1) below is the two-dimensional eikonal equation.
[0032]
number
[0033] In equation (1), U is the eikonal and n is the refractive index. The equation obtained by discretizing equation (1) with the grating width h is shown below in equation (2).
[0034]
number
[0035] In equation (2), U i,j (i=0,1,2,…)(j=0,1,2,…) is the potential value of the i-th and j-th nodes, U H Ui-1,j Or U i+1,j , U V U i,j-1 Or U i,j+1 is.
[0036] In the Fast Marching Method, the equation (2) can be solved efficiently by applying the Dijkstra algorithm. Specifically, the destination E2 is constrained to U = 0, and U H =min(U i-1,j ,U i+1,j ), U V =min(U i,j-1 ,U i,j+1 ) and update the potential value of each node using the formula (3) below. Note that min(a,b) is a function that returns the smaller value of a and b.
[0037]
number
[0038] The Fast Marching Method is known to enable efficient information transmission by updating the potential values of each node in ascending order using a sorting algorithm. However, sorting the potential values of each node requires synchronous updating of all nodes. Therefore, in this embodiment, this method can only be used in the processing of the initial potential field generation unit C1 and the processing of the potential field update unit C4 within regions with the same update period.
[0039] Example 1 Example 1 shows a specific example of the potential field storage unit C2 included in the control device S5 according to the embodiment. Fig. 4 is a schematic diagram showing an example of the configuration of the potential field storage unit C2 according to Example 1. The potential field storage unit C2 shown in Fig. 4 has a function of storing a potential field on nodes N1 obtained by discretizing the movement space E3, and asynchronously updating the potential value of each node according to an information transmission speed determination unit C5, for example, by dividing the potential value into high-speed information transmission N2, medium-speed information transmission N3, and low-speed information transmission N4.
[0040] For discretization, division using a rectangular grid, a hexagonal grid, or a Voronoi diagram can be used. However, it is not necessary to discretize the movement space, and the potential field can also be maintained using continuous functions such as NURBS surfaces or neural networks. Furthermore, the potential field storage unit C2 of this embodiment has a function to calculate the potential value of any coordinate by interpolating from the potential values of the surrounding nodes.
[0041] <Example 2> Example 2 shows a specific example of a potential field update unit C4 included in a control device S5 according to an embodiment. Fig. 5 is a block diagram showing an example of the configuration of the potential field update unit C4 according to Example 2. The potential field update unit C4 shown in Fig. 5 includes a movement cost calculation unit U1, an update period calculation unit U2, an update discretization width calculation unit U3, and a potential value update unit U4.
[0042] The movement cost calculation unit U1 calculates the movement cost, which indicates the difficulty of passing through each node, from the information issued by the environmental map distribution device S1 and the observation device S2. The update period calculation unit U2 calculates the potential update period from the information transmission rate set by the information transmission rate determination unit C5. The update discretization width calculation unit U3 calculates the update discretization width from the information transmission rate. The potential value update unit U4 calculates and issues the potential value of each node from the movement cost of each node calculated by the movement cost calculation unit U1, the update period calculated by the update period calculation unit U2, and the update discretization width calculated by the update period calculation unit U2.
[0043] The information transmission speed of each node is determined by the update period and the update discretization width, and the following relational expression (4) holds true.
[0044]
number
[0045] In equation (4), v I is the information transmission speed, ΔT U is the update period, Δe Uis the update discretization width. The update period calculation unit U2 and the update discretization width calculation unit U3 determine the update period and the update discretization width, respectively, based on the relational expression in equation (4). Since the relational expression in equation (4) is redundant, for example, in an area where the resolution cannot be made coarse, the update period can be determined by fixing the update discretization width. Furthermore, to eliminate redundancy, the potential field update unit C4 may be configured to include only either the update period calculation unit U2 or the update discretization width calculation unit U3.
[0046] Fig. 6 is a schematic diagram showing an example of the movement cost calculated by the movement cost calculation unit U1. In the example of Fig. 6, the maximum movement cost is assigned to the range from 0 to the radius of the moving body E1, and the movement cost is calculated using a function that exponentially decays according to the distance from the obstacle beyond that. By assigning the maximum movement cost to the range from 0 to the radius of the moving body E1, the moving body E1 can be treated as a mass point, thereby reducing the calculation cost.
[0047] The movement cost calculated by the movement cost calculation unit U1 is applied as a constraint or weighting factor to the differential equation used in the potential value update unit U4. For example, if the differential equation is the two-dimensional eikonal equation, Equation (1), the calculated movement cost can be used as the refractive index n to reflect it in the potential field.
[0048] 7 is a schematic diagram showing an example of a method for updating the potential value of each node N1 in the potential value update unit U4. As shown in Fig. 7, the potential value update unit U4 updates the potential value of each node N1 using the potential interpolation values of the potential field storage unit C2 located at positions (±Δx, 0) and (0, ±Δy) relative to each node N1 on the x-axis and y-axis.
[0049] Figure 8 is a schematic diagram showing an example of the order in which the potential value of each node is updated by the potential value update unit U4. Within a specific region with the same update period, environmental information can be transmitted efficiently by determining the order in which the nodes update the potential field using a search algorithm in each update loop. For example, within a region centered on moving body E1 as shown in Figure 8, surrounding environmental information can be transmitted efficiently to moving body E1.
[0050] The search algorithm may be the Dijkstra algorithm, as in the Fast Marching Method described above, but by using a breadth-first search or other algorithm with low computational costs, transmission efficiency can be improved without increasing the amount of calculation. For example, if the road to destination E2 is blocked and a long detour is required, requiring a major change in the potential field, the former Dijkstra algorithm can be used, and if the change in potential is small, the latter breadth-first search can be used, allowing for efficient information transmission.
[0051] When the node update order is determined by a search algorithm, the information transmission speed toward the center within a specific region will be equal to or greater than the value set by the information transmission speed determination unit C5. Specifically, when a search algorithm is used, the information transmission speed in the direction of the arrow in Figure 8 is equal to or greater than the value set by the information transmission speed determination unit C5 because the speed transmitted by the search algorithm is added to the original transmission speed. On the other hand, the information transmission speed in the direction perpendicular to the arrow direction in Figure 8 will be the speed set by the information transmission speed determination unit C5.
[0052] Therefore, it is advisable to determine the order in which the potential field of each node is updated using a search algorithm that uses a node located on the boundary of a specific area as the initial node, as shown in Fig. 8. In this case, the gradual transmission of information from the boundary of the area centered on mobile unit E1 allows peripheral information to be transmitted to mobile unit E1 more quickly, thereby improving responsiveness to the surrounding environment.
[0053] However, if a parallel computing device such as a GPU (Graphics Processing Unit) can be used to update each node, it may be preferable to perform parallel calculations for each node without using a search algorithm within regions with the same update period.
[0054] <Modification of Example 2> Fig. 9 is a block diagram showing an example of the configuration of a potential field update unit C4 according to a modified example of Example 2. The configuration of the potential field update unit C4 in Fig. 9 is obtained by adding an estimated movement cost calculation unit U5 to the configuration in Fig. 5.
[0055] The estimated movement cost calculation unit U5 calculates an estimated movement cost, which is an estimate of the movement cost to destination E2. The potential value update unit U4 calculates and issues a potential value for each node based on the movement cost of each node calculated by the movement cost calculation unit U1, the update period calculated by the update period calculation unit U2, the update discretization width calculated by the update period calculation unit U2, and the estimated movement cost calculated by the estimated movement cost calculation unit U5. By using the estimated movement cost to destination E2, the potential value update unit U4 can quickly form a potential field with a gradient toward destination E2 without waiting for information about destination E2 to be transmitted.
[0056] This modification is particularly effective when it is desired to retransmit information about destination E2 without generating an initial potential by initial potential field generation unit C1, for example, when the movement route to destination E2 becomes passable again after being blocked by an obstacle. Because the potential field as an attractive force generated by estimated movement cost calculation unit U5 is added to the potential field as a repulsive force generated by movement cost calculation unit U1, it is possible for moving object E1 to reach destination E2 more smoothly.
[0057] 10 is a schematic diagram showing an example of a method for calculating an estimated movement cost when updating a potential field, and shows an example in which the estimated movement cost is calculated as a value corresponding to the straight-line distance (Euclidean distance) from destination E2. For example, the potential value update unit U4 can easily update the potential field by adding the movement cost calculated by movement cost calculation unit U1 and the estimated movement cost calculated by estimated movement cost calculation unit U5 multiplied by a small coefficient as a new movement cost.
[0058] In this modified example, based on a differential equation that can assign weights to the interior of space, the sum of the repulsive force function from the obstacle calculated from the observation information and the attractive force function toward destination E2 is assigned as a weight. This makes it possible to approximately determine a potential field with a gradient toward destination E2 without waiting for information about destination E2 to be transmitted by potential updating, thereby improving responsiveness to surrounding information.
[0059] Example 3 Example 3 shows a specific example of the information transmission rate determination unit C5 included in the control device S5 according to the embodiment. FIG. 11 is a schematic diagram showing an example of the processing of the information transmission rate determination unit C5 according to Example 3. In this example, a high-speed information transmission area A1 and a low-speed information transmission area A2 surrounding the high-speed information transmission area A1 are defined with the moving object E1 at the center, and an information transmission rate is defined for each of these areas (the information transmission rate in the high-speed information transmission area A1 is set to be faster than the information transmission rate in the low-speed information transmission area A2). Therefore, in this example, the information transmission rate of each node changes dynamically depending on the position of the moving object E1.
[0060] In this way, by defining a high-speed information transmission area A1 near the moving body E1 and defining a low-speed information transmission area A2 surrounding it, the potential field in the area close to the moving body E1 can be updated in a focused manner, making it possible to respond immediately, for example, if a person suddenly appears near the moving body E1.
[0061] 11 shows an example in which two information transmission areas with different information transmission speeds are defined, but the number of information transmission areas may be three or more, and the information transmission speed of each area is set so that the closer the area is to the mobile unit E1, the faster the information transmission speed. Also, it is not necessary to define the information transmission speed for each area, and for example, the information transmission speed may be defined as a continuous function centered on the mobile unit E1, so that the further the location is from the mobile unit E1, the slower the information transmission speed becomes.
[0062] <First Modification of the Third Embodiment> FIG. 12 shows a first modified example of the third embodiment, and is a schematic diagram showing an example of the processing of the information transmission rate determination unit C5. In this modified example, the information transmission rate of each node is calculated based on the potential update amount around the node (i.e., the amount of change in potential due to the update of the potential field). FIG. 12 shows an example of calculating the information transmission rate using a sigmoid function. Note that, since the potential field will no longer be updated if the information transmission rate becomes zero, a minimum transmission rate is set as the lower limit of the information transmission rate in FIG. 12.
[0063] According to this modification, the information transmission speed of each node increases as the amount of update of the surrounding potential increases. Therefore, the information transmission speed increases in nodes in dynamic environments where environmental changes occur frequently, and responsiveness in dynamic environments can be improved.
[0064] <Second Modification of the Third Embodiment> 13 is a second modified example of the third embodiment, and is a schematic diagram showing an example of the processing of the information transmission rate determination unit C5. In this modified example, the information transmission rate of each node is increased to the maximum transmission rate when an environmental change occurs at that node, and then exponentially decays over time. In this modified example, the information transmission rate is also increased in nodes in dynamic environments where environmental changes occur frequently, thereby improving responsiveness in dynamic environments.
[0065] In addition, the nodes that increase the transmission speed when an environmental change occurs may be only the nodes where the environmental change has occurred, or they may also increase the information transmission speed of nodes where no environmental change has occurred.
[0066] Example 4 Example 4 shows a specific example of a command value calculation unit C3 included in a control device S5 according to an embodiment. Fig. 14 is a block diagram showing an example of the configuration of the command value calculation unit C3 according to Example 4. The command value calculation unit C3 includes a gradient vector calculation unit M1, an initial command value calculation unit M2, an evaluation value calculation unit M3, a command value correction unit M4, and a convergence determination unit M5.
[0067] A gradient vector calculation unit M1 calculates a gradient vector of the potential field at the position of the moving body E1 (hereinafter referred to as a "potential gradient vector") from the potential field. An initial command value calculation unit M2 calculates an initial value of a command value for the moving body E1 from the potential gradient vector at the position of the moving body E1 calculated by the gradient vector calculation unit M1. An evaluation value calculation unit M3 calculates an evaluation value of the command value for the moving body E1. A command value correction unit M4 corrects the command value for the moving body E1 in a direction that increases the evaluation value. A convergence determination unit M5 determines a command value that maximizes the evaluation value by having the evaluation value calculation unit M3 and the command value correction unit M4 perform iterative calculations until a convergence condition is satisfied. The evaluation value is calculated based on the potential field, and in this embodiment, the evaluation value is the integral of the movement path of the potential. However, the evaluation value is not limited to this.
[0068] The gradient vector calculation unit M1 may be implemented as one function of the potential field storage unit C2, rather than being implemented in the command value calculation unit C3.
[0069] Fig. 15 is a schematic diagram showing an example of correction of a command value for a moving object E1. Fig. 15 shows a moving object E1, a destination E2, an obstacle O1 that the moving object E1 needs to avoid, a potential field O2 stored in a potential field storage unit C2, an initial predicted trajectory O3 which is a predicted trajectory of the moving object E1 when using the initial command value calculated by the command value initial value calculation unit M2, and a corrected predicted trajectory O4 which is a predicted trajectory of the moving object E1 when using a command value corrected by iterative calculation. The predicted trajectory of the moving object E1 can be obtained, for example, by calculating the trajectory of the moving object E1 based on a control model of the moving object E1, assuming that the moving object E1 operates with the same command value for a predetermined time.
[0070] FIG. 16 is a schematic diagram showing an example of the processing of the command value initial value calculation unit M2. FIG. 16 shows an initial predicted trajectory O3 of the moving object E1 calculated from the potential gradient vector, a maximum forward predicted trajectory O3-1, which is a predicted trajectory of the moving object E1 when the maximum forward speed is set as a command value, and a maximum backward predicted trajectory O3-2, which is a predicted trajectory of the moving object E1 when the maximum backward speed is set as a command value. The command value initial value calculation unit M2 calculates not only the initial predicted trajectory O3, but also the maximum forward predicted trajectory O3-1 and the maximum backward predicted trajectory O3-2 as initial values (initial trajectories) of the command value used in the iterative calculation. By adding the maximum forward predicted trajectory O3-1 and the maximum backward predicted trajectory O3-2 to the candidates for the initial trajectory, it is possible to output a stable command value regardless of the convergence of the potential field.
[0071] One method for determining which of the initial predicted trajectory O3, the maximum forward predicted trajectory O3-1, and the maximum backward predicted trajectory O3-2 to use as the initial trajectory is to, for example, modify the command value for each of the initial trajectory candidates and select the one with the highest evaluation value after convergence as the initial trajectory. The maximum forward predicted trajectory O3-1 and the maximum backward predicted trajectory O3-2 do not necessarily need to be added, and in order to reduce calculation costs, only the initial predicted trajectory O3 based on the potential gradient vector may be used as the initial trajectory.
[0072] A specific flow of processing performed by the command value calculation unit C3 according to this embodiment will be described. Here, an example is shown in which a speed command value for a moving body E1 having a differential two-wheel mechanism is calculated based on a potential field defined two-dimensionally.
[0073] First, the gradient vector calculation unit M1 calculates the potential gradient vector at the position of the moving object E1 from the potential field information stored in the potential field storage unit C2 and the position information of the moving object E1 issued by the moving object position distribution device S4. The potential gradient vector is calculated using the following formula (5).
[0074]
number
[0075] In equation (5), v N is the potential gradient vector, U is the potential value, and the moving direction axis of the moving body coordinate E5 is the x component, and the horizontal axis is the y component.
[0076] Next, the command value initial value calculation unit M2 calculates the initial value of the speed command value for the moving object E1 based on the potential gradient vector calculated by the gradient vector calculation unit M1. The speed command value is calculated, for example, by the following equation (6).
[0077]
number
[0078] In equation (6), v N [0] is the first component of the potential gradient vector, v N [1] is the second component of the potential gradient vector, u x is the initial value of the speed command value in the forward direction (x-axis direction in the moving body coordinate system E5), u xmax is the maximum translational velocity, u θ is the initial value of the speed command value in the turning direction, u θmax is the maximum turning speed.
[0079] When the moving object E1 moves forward, the y-axis component of the potential gradient vector is used as the turning speed, and when the moving object E1 moves backward, the moving object E1 turns at the maximum value in the direction of the y-axis component of the potential gradient vector. As described above, the command value initial value calculation unit M2 sets the maximum forward predicted trajectory O3-1 and the maximum backward predicted trajectory O3-2 as candidates for the initial value of the iterative calculation in addition to the initial predicted trajectory O3 based on the speed command value.
[0080] Next, the evaluation value calculation unit M3 evaluates the initial value of each speed command value. For example, an evaluation function may be used in which the integral value of the potential on each predicted trajectory is the penalty.
[0081] Next, a command value correcting unit M4 corrects the speed command value in a direction that increases the evaluation value calculated by the evaluation value calculating unit M3. As a method for correcting the speed command value, for example, a hill-climbing method can be applied.
[0082] Next, the convergence determination unit M5 determines whether the corrected speed command value has converged. As a convergence condition, for example, a condition that the amount of correction by the command value correction unit M4 is equal to or less than a predetermined threshold can be used.
[0083] In this embodiment, three candidates for initial values of the iterative calculation are used: the initial predicted trajectory O3 based on the potential gradient vector, the maximum forward predicted trajectory O3-1, and the maximum reverse predicted trajectory O3-2. However, other candidates for initial values, such as a maximum turning predicted trajectory, may be added. Furthermore, in the above-described specific example, the attitude of the moving body E1 is not evaluated. However, it is also possible to evaluate the turning operation of the moving body E1 by adding, for example, the magnitude of the angle between the potential gradient vector and the x-axis of the moving body coordinate system to the evaluation function.
[0084] In this embodiment, it is assumed that a more ideal movement trajectory exists near the potential gradient vector, and by evaluating the predicted trajectory up to a certain time ahead and finely adjusting the command value, it is possible to efficiently calculate a command value suitable for the environment. This makes it possible to smoothly guide the moving object E1 even in severe environments such as narrow spaces.
[0085] Although this embodiment is directed to a potential field generated by a differential equation that requires iterative calculation, this embodiment may also be applied to an artificial potential method.
[0086] <Hardware configuration example> 17 and 18 are diagrams showing examples of the hardware configuration of the control device S5. The functions of the components of the control device S5 shown in FIG. 1 are realized, for example, by a processing circuit 100 shown in FIG. 17. That is, the control device S5 includes a processing circuit 100 for determining the information transmission speed of the potential field for each node, updating the potential field in accordance with the information transmission speed based on observation information about the surroundings of the mobile object, and calculating a command value for the mobile object based on the gradient vector of the potential field. The processing circuit 100 may be dedicated hardware, or may be configured using a processor (also called a central processing unit (CPU), processing device, arithmetic device, microprocessor, microcomputer, or DSP (Digital Signal Processor)) that executes a program stored in memory.
[0087] When the processing circuit 100 is dedicated hardware, the processing circuit 100 may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a combination thereof. The functions of the components of the control device S5 may be realized by individual processing circuits, or these functions may be realized together by a single processing circuit.
[0088] FIG. 18 shows an example of the hardware configuration of the control device S5 when the processing circuit 100 is configured using a processor 101 that executes a program. In this case, the functions of the components of the control device S5 are realized by software, etc. (software, firmware, or a combination of software and firmware). The software, etc. is written as a program and stored in memory 102. The processor 101 realizes the functions of each unit by reading and executing the program stored in memory 102. That is, the control device S5 includes memory 102 for storing a program that, when executed by the processor 101, results in the following: determining the information transmission speed of the potential field for each node; updating the potential field in accordance with the information transmission speed based on observation information about the surroundings of the moving object; and calculating a command value for the moving object based on the gradient vector of the potential field. In other words, this program can be said to cause a computer to execute the procedures and methods of the operation of the components of the control device S5.
[0089] Here, memory 102 may be, for example, a non-volatile or volatile semiconductor memory such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), HDD (Hard Disk Drive), magnetic disk, flexible disk, optical disk, compact disk, mini disk, DVD (Digital Versatile Disc) and its drive device, or any other storage medium that will be used in the future.
[0090] The above describes a configuration in which the functions of the components of the control device S5 are realized either by hardware or software, etc. However, this is not limited to this, and the configuration may be such that some of the components of the control device S5 are realized by dedicated hardware and other components are realized by software, etc. For example, it is possible to realize the functions of some of the components by the processing circuit 100 as dedicated hardware, and to realize the functions of other components by the processing circuit 100 as the processor 101 reading and executing a program stored in the memory 102.
[0091] As described above, the control device S5 can realize the above-mentioned functions by hardware, software, or a combination of these.
[0092] It is possible to freely combine the embodiments, and to modify or omit the embodiments as appropriate.
[0093] <Additional Notes> Various aspects of the present disclosure are summarized below as appendices.
[0094] (Appendix 1) A mobile object control device that generates a potential field that determines a guiding direction of a mobile object on a plurality of nodes obtained by discretizing a space in which the mobile object moves, an information transmission rate determination unit that determines an information transmission rate of the potential field for each of the nodes; a potential field update unit that updates the potential field in accordance with the information transmission speed based on observation information about the surroundings of the moving object; a command value calculation unit that calculates a command value for the moving object based on a gradient vector of the potential field; Equipped with the information transmission rate determination unit determines the information transmission rate of each of the nodes in accordance with a position of the mobile object; Mobile control device.
[0095] (Appendix 2) A mobile object control device that generates a potential field that determines a guiding direction of a mobile object on a plurality of nodes obtained by discretizing a space in which the mobile object moves, an information transmission rate determination unit that determines an information transmission rate of the potential field for each of the nodes; a potential field update unit that updates the potential field in accordance with the information transmission speed based on observation information about the surroundings of the moving object; a command value calculation unit that calculates a command value for the moving object based on a gradient vector of the potential field; Equipped with the information transmission rate determination unit determines the information transmission rate of each of the nodes based on an update amount of the potential field in each of the nodes. Mobile control device.
[0096] (Appendix 3) A mobile object control device that generates a potential field that determines a guiding direction of a mobile object on a plurality of nodes obtained by discretizing a space in which the mobile object moves, an information transmission rate determination unit that determines an information transmission rate of the potential field for each of the nodes; a potential field update unit that updates the potential field in accordance with the information transmission speed based on observation information about the surroundings of the moving object; a command value calculation unit that calculates a command value for the moving object based on a gradient vector of the potential field; Equipped with the information transmission rate determination unit determines the information transmission rate of each of the nodes based on a timing of an environmental change in each of the nodes. Mobile control device.
[0097] (Appendix 4) the potential field update unit updates the potential field by assigning, as the weight of a differential equation that can assign weights to the interior of space, a sum of a repulsive function calculated from the observation information around the moving object and an attractive function toward the destination of the moving object. 4. A mobile object control device according to any one of Supplementary Note 1 to Supplementary Note 3.
[0098] (Appendix 5) the information transmission rate determination unit defines a plurality of areas centered on the position of the moving object, and determines the information transmission rate of each of the nodes for each of the areas. 2. A mobile object control device according to claim 1.
[0099] (Appendix 6) the potential field update unit determines an order of updating the potential field of each of the nodes within the specific region by a search algorithm in which the node located on the boundary of the specific region is set as an initial node; 4. A mobile object control device according to any one of Supplementary Note 1 to Supplementary Note 3.
[0100] (Appendix 7) the command value calculation unit sets a command value for the moving body calculated from the gradient vector of the potential field as an initial value, and corrects the command value based on an evaluation value of the command value calculated based on the potential field. 4. A mobile object control device according to any one of Supplementary Note 1 to Supplementary Note 3. [Explanation of symbols]
[0101] C1 initial potential field generation unit, C2 potential field memory unit, C3 command value calculation unit, C4 potential field update unit, C5 information transmission speed determination unit, E1 mobile unit, E2 destination, E3 movement space, E4 world coordinates, E5 mobile unit coordinates, S1 environmental map distribution device, S2 observation device, S3 destination distribution device, S4 mobile unit position distribution device, S5 control device, S6 drive unit, N1 node, N2 high-speed information transmission, N3 medium-speed information transmission, N4 low-speed information transmission, U1 movement cost calculation unit, U2 update period calculation unit, U3 update discretization width calculation unit, U4 potential value update unit, U5 estimated movement cost calculation unit, A1 high-speed information transmission area, A2 low-speed information transmission area, M1 gradient vector calculation unit, M2 command value initial value calculation unit, M3 evaluation value calculation unit, M4 command value correction unit, M5 convergence judgment unit, O1 Obstacle, O2 potential field, O3 initial predicted trajectory, O3-1 maximum forward predicted trajectory, O3-2 maximum backward predicted trajectory, O4 corrected predicted trajectory, 100 processing circuit, 101 processor, 102 memory.
Claims
1. A mobile object control device that generates a potential field that determines a guiding direction of a mobile object on a plurality of nodes obtained by discretizing a space in which the mobile object moves, an information transmission rate determination unit that determines an information transmission rate of the potential field for each of the nodes; a potential field update unit that updates the potential field in accordance with the information transmission speed based on observation information about the surroundings of the moving object; a command value calculation unit that calculates a command value for the moving object based on a gradient vector of the potential field; Equipped with the information transmission speed of the potential field is a speed at which the potential field update unit transmits the observation information to the potential field and updates the potential field, the information transmission rate determination unit determines the information transmission rate of each of the nodes in accordance with a position of the mobile object; Mobile control device.
2. A mobile object control device that generates a potential field that determines a guiding direction of a mobile object on a plurality of nodes obtained by discretizing a space in which the mobile object moves, an information transmission rate determination unit that determines an information transmission rate of the potential field for each of the nodes; a potential field update unit that updates the potential field in accordance with the information transmission speed based on observation information about the surroundings of the moving object; a command value calculation unit that calculates a command value for the moving object based on a gradient vector of the potential field; Equipped with the information transmission speed of the potential field is a speed at which the potential field update unit transmits the observation information to the potential field and updates the potential field, the information transmission rate determination unit determines the information transmission rate of each of the nodes based on an update amount of the potential field in each of the nodes. Mobile control device.
3. A mobile object control device that generates a potential field that determines a guiding direction of a mobile object on a plurality of nodes obtained by discretizing a space in which the mobile object moves, an information transmission rate determination unit that determines an information transmission rate of the potential field for each of the nodes; a potential field update unit that updates the potential field in accordance with the information transmission speed based on observation information about the surroundings of the moving object; a command value calculation unit that calculates a command value for the moving object based on a gradient vector of the potential field; Equipped with the information transmission speed of the potential field is a speed at which the potential field update unit transmits the observation information to the potential field and updates the potential field, the information transmission rate determination unit determines the information transmission rate of each of the nodes based on a timing of an environmental change in each of the nodes. Mobile control device.
4. the potential field update unit updates the potential field by assigning, as the weight of a differential equation that can assign weights to the interior of space, a sum of a repulsive function calculated from the observation information around the moving object and an attractive function toward the destination of the moving object. The mobile object control device according to any one of claims 1 to 3.
5. the information transmission rate determination unit defines a plurality of areas centered on the position of the moving object, and determines the information transmission rate of each of the nodes for each of the areas. The mobile object control device according to claim 1 .
6. the potential field update unit determines an order of updating the potential field of each of the nodes within the specific region by a search algorithm in which the node located on the boundary of the specific region is set as an initial node; The mobile object control device according to any one of claims 1 to 3.
7. the command value calculation unit sets a command value for the moving body calculated from the gradient vector of the potential field as an initial value, and corrects the command value based on an evaluation value of the command value calculated based on the potential field. The mobile object control device according to any one of claims 1 to 3.
Citation Information
Patent Citations
Indoor and outdoor mobile robot, vehicle body dual-purpose device, management system and method
CN112783177A
JP,1993
Method for generating track of moving robot
JP1996022324A
Traveling object route generating device
JP2006350776A
Map creation method
JP2017111473A