MOBILE BODY CONTROL DEVICE, MOBILE BODY CONTROL METHOD, MOBILE BODY CONTROL SYSTEM, AND MOBILE BODY CONTROL PROGRAM
The mobile object control device optimizes control inputs by simulating stochastic noise to improve accuracy and safety in mobile object control, addressing practicality issues with existing techniques.
Patent Information
- Application Number
- JP2022553318
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2020-09-30
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2040-09-30
AI Technical Summary
Existing control techniques for mobile objects, such as robots, struggle with maintaining control accuracy due to differences between actual and logical instruction values, and are hindered by complex mathematical formulas that are impractical for real-world applications.
A mobile object control device and method that calculates a second control input value by simulating stochastic noise for predicted control inputs, using a route cost calculation to optimize control inputs and account for stochastic noise, thereby improving control accuracy and practicality.
The solution enhances control accuracy and safety by balancing performance and safety, even in situations with stochastic errors, without relying on overly complex mathematical formulas.
Smart Images

Figure 0007601105000003 
Figure 0007601105000004 
Figure 0007601105000005
Abstract
Description
[Technical field]
[0001] The present invention relates to a mobile body control device, a mobile body control method, a mobile body control system, and a computer-readable non-transitory storage medium having a mobile body control program recorded thereon, and in particular to a mobile body control device, a mobile body control method, a mobile body control system, and a computer-readable non-transitory storage medium having a mobile body control program recorded thereon, which periodically update a control input value that indicates the movement state of a mobile body. [Background technology]
[0002] In recent years, mobile objects such as robots have been proposed that are operated in places where the state of obstacles changes from moment to moment. Such mobile objects have a problem in that it is not possible to determine optimal control inputs in advance. Therefore, Non-Patent Documents 1 and 2 disclose control techniques that can be applied depending on the state of the place where the mobile object is operated.
[0003] In Non-Patent Document 1, a simulation is performed multiple times for each periodically repeated control cycle, and the control input sequence is changed in various ways in each simulation to search for what input will ultimately minimize the cost. In Non-Patent Document 1, the weighted average of the control input values constituting the control input sequence that ultimately minimizes the cost is set as the control input value for the next control cycle.
[0004] Non-Patent Document 2 discloses a technology that uses a (risk-sensitive) evaluation function that performs mathematical processing on the cost function to make the cost function behave in a risk-sensitive manner, and analytically determines what control input should be given to minimize the evaluation function. [Prior art documents] [Non-patent literature]
[0005] [Non-Patent Document 1] Shintaro Nakatani, Hiroshi Date, "Considerations on prediction and bifurcation in stabilization of inverted pendulum swing-up using Monte Carlo model predictive control," Proceedings of the Japan Joint Conference on Automatic Control, Vol. 61, pp. 423-427 (2018) [Non-Patent Document 2] J.R. Medina and S. Hirche, “Considering Uncertainty in Optimal Robot Control Through High-Order Cost Statistics,” IEEE Transactions on Robotics, Vol. 34, No. 4, pp. 1068-1081 (2018). Summary of the Invention [Problem to be solved by the invention]
[0006] However, the technology described in Non-Patent Document 1 has a problem in that it is not possible to maintain control precision when a difference occurs between the actual and logical command values (for example, when a difference occurs between the actual speed of a moving body and the speed commanded by a control input value).In addition, the technology described in Non-Patent Document 2 has a problem in that the mathematical expressions are too complicated to be solved when applied to a practical problem such as a transport robot. [Means for solving the problem]
[0007] One aspect of a mobile body control device according to the present invention has a robot control unit that controls a mobile body based on a first control input value, and a control input calculation unit that calculates a second control input value that becomes the first control input value for a next control cycle, wherein the control input calculation unit calculates a path cost for at least one predicted control input value that is predicted to be given to the robot control unit after the first control input value by a simulation that adds stochastic noise, and calculates the second control input value that reduces the path cost.
[0008] One aspect of the moving object control method according to the present invention includes a robot control step of controlling a moving object based on a first control input value, and a control input calculation step of calculating a second control input value that becomes the first control input value of a next control cycle, and in the control input calculation step, Steps A path cost is calculated by a simulation that takes into account stochastic noise for at least one predicted control input value that is expected to be given to the target, and the second control input value that reduces the path cost is calculated.
[0009] One aspect of the mobile object control system of the present invention includes a robot control unit that controls a mobile object based on a first control input value, and a control input calculation unit that calculates a second control input value that will become the first control input value for a next control cycle, wherein the control input calculation unit calculates a path cost for at least one predicted control input value that is predicted to be given to the robot control unit after the first control input value by a simulation that adds stochastic noise, and calculates the second control input value that reduces the path cost.
[0010] One embodiment of a computer-readable non-transitory storage medium having a moving body control program of the present invention recorded thereon executes, using the calculation processing of a calculation unit, a control input calculation process that calculates a path cost by a simulation incorporating stochastic noise for at least one predicted control input value, which is a predicted value of a first control input value expected to be used in controlling the moving body after a first control input value to be applied to the moving body in a current control cycle, and calculates a second control input value that reduces the path cost, and a robot control process that controls the moving body based on the first control input value that is set by the second control input value. Effect of the Invention
[0011] According to the mobile body control device, mobile body control method, mobile body control system, and computer-readable non-transitory storage medium having a mobile body control program recorded thereon, it is possible to improve control accuracy regardless of the difference between actual and logical instruction values. [Brief description of the drawings]
[0012] [Figure 1] 1 is a schematic diagram of a control input device according to a first embodiment. [Diagram 2] 4 is a flowchart illustrating an operation of the control input device according to the first embodiment. [Diagram 3] 4 shows a result of simulating a moving path of a moving object using the control input device according to the first embodiment. [Figure 4] 6 shows a simulation result of a change in speed of a moving object using the control input device according to the first embodiment. [Diagram 5] FIG. 11 is a block diagram of a control input calculation unit according to a second embodiment. [Figure 6] FIG. 11 is a block diagram of a route cost calculation unit according to a second embodiment. [Figure 7] FIG. 11 is a block diagram of a probability fluctuation simulation processing unit according to the second embodiment. [Figure 8] 13 is a flowchart illustrating an operation of a control input calculation unit according to the second embodiment. [Figure 9] FIG. 11 is a diagram illustrating an example of a control input sequence used in a control input calculation unit according to the second embodiment. [Figure 10] FIG. 11 is a diagram illustrating an example of a control input sequence used in a control input calculation unit according to the second embodiment. [Figure 11] FIG. 13 is a block diagram of a route cost calculation unit according to a third embodiment. [Figure 12] FIG. 13 is a block diagram of a mobile object control system according to another embodiment. [Figure 13] FIG. 11 is a block diagram of hardware resources used in a mobile object control system according to another embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] For clarity of explanation, the following description and drawings are omitted and simplified as appropriate. In addition, each element shown in the drawings as a functional block performing various processes can be configured in hardware with a CPU (Central Processing Unit), memory, and other circuits, and can be realized in software with a program loaded into memory. Therefore, it is understood by those skilled in the art that these functional blocks can be realized in various forms by hardware alone, software alone, or a combination thereof, and are not limited to any one of them. In addition, the same elements are given the same symbols in each drawing, and duplicated explanations are omitted as necessary.
[0014] The above-mentioned program can be stored and provided to a computer using various types of non-transitory computer-readable media. The non-transitory computer-readable media includes various types of tangible recording media. Examples of the non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (Random Access Memory)). The program may also be provided to a computer by various types of temporary computer-readable media. Examples of the temporary computer-readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable media can provide the program to a computer via a wired communication path such as an electric wire and an optical fiber, or via a wireless communication path.
[0015] First embodiment The mobile object control device described below controls the speed, direction of travel, etc. of a mobile object such as a robot, and in the following description, the parameter of the controlled object is the speed. Note that by changing the parameter of the controlled object, the mobile object control device can also perform other controls such as the direction of travel of the robot or the movement of an arm.
[0016] Fig. 1 shows a block diagram of a mobile body control device 1 according to the first embodiment. As shown in Fig. 1, the mobile body control device 1 according to the first embodiment has a control input calculation unit 10 and a robot control unit 11. Note that the mobile body control device 1 performs the processing described below for each control cycle that is repeated at a predetermined period, but the contents of the present disclosure are not limited to the form in which the processing is performed for each control cycle that is repeated.
[0017] The robot control unit 11 controls the moving body based on a first control input value. More specifically, the robot control unit 11 controls the moving body by providing the moving body with a direction indication value indicating the moving direction of the moving body in addition to the first control input value (e.g., a speed indication value) provided for each periodically repeated control cycle.
[0018] The control input calculation unit 10 calculates a second control input value that becomes a first control input value of the next control cycle. More specifically, the control input calculation unit 10 calculates a path cost by a simulation that takes into account stochastic noise for at least one predicted control input value that is predicted to be given to the robot control unit after the first control input value, and calculates a second control input value that reduces the path cost. In the present disclosure, a sequence made up of input values (control input sequence) includes a case where there is at least one input value as an element constituting the sequence.
[0019] Here, the operation of the moving body control device 1 according to the first embodiment will be described. FIG. 2 shows a flowchart for explaining the operation of the control input device according to the first embodiment. In the moving body control device 1 according to the first embodiment, a first control input value to be given to a robot control unit that controls a moving body is updated by periodically repeating a control cycle. Then, in the moving body control device 1 according to the first embodiment, at the start of operation, a first control input value having an initial value set in advance as the first control input value to be given to the moving body is given to the moving body. Also, in the moving body control device 1 according to the first embodiment, in the second and subsequent control cycles, the first control input value calculated by the control input calculation unit 10 is given to the robot control unit 11. That is, in the moving body control device 1, first, the robot control unit 11 controls the moving body according to the first control input value (step S1).
[0020] Next, in the mobile object control device 1 according to the first embodiment, the control input calculation unit 10 calculates a second control input value that becomes the first control input value of the next control cycle. Specifically, the control input calculation unit 10 calculates a path cost by a simulation that takes into account stochastic noise for at least one predicted control input value that is predicted to be given to the robot control unit after the first control input value, and calculates a second control input value that reduces the path cost.
[0021] 2 shows an operation including an example of a simulation in which stochastic noise is added to the operation of the control input calculation unit 10. In the example shown in FIG. 2, the control input calculation unit 10 calculates a path cost using a simulation in which a pseudo-random number pattern is applied to a control input sequence, which is a sequence of predicted control input values to be given to the robot control unit 11 after the first control input value (step S2). The control input calculation unit 10 also calculates a second control input value that reduces the path cost from the path cost calculated in step S2 (step S3). The control input calculation unit 10 then sets the second control input value calculated in step S3 as the next control cycle and the first control input value (step S4).
[0022] Next, a verification result of the movement trajectory and the speed trajectory of a moving object whose speed is controlled by using the moving object control device 1 according to the first embodiment will be described. In the following description, a wall having a gap of 0.04 m in width and 1 m in distance is installed between 4.5 m and 5.5 m in a space of 10 m, and the moving object is moved to a position 10 m ahead through the gap provided in the wall. In addition, the simulation described below ignores the size of the robot and only considers whether the center of gravity of the moving object can pass through the gap. Furthermore, the simulation described below assumes that the traveling error increases as the moving speed of the moving object increases. In the simulation described below, five trials were repeated.
[0023] Fig. 3 shows the results of simulating the moving path of a moving object using the control input device according to the first embodiment. As shown in Fig. 3, by using the moving object control device 1 according to the first embodiment, it can be seen that the moving object passes through a gap in the wall and advances a distance of 10 m in each of the five trials. Also, as shown in Fig. 3, it can be seen that the moving object's path deviates significantly except when passing through a gap in the wall.
[0024] Fig. 4 shows a simulation result of a speed change of a moving body using the control input device according to the first embodiment. As shown in Fig. 4, by using the moving body control device 1 according to the first embodiment, it can be seen that the moving body significantly reduces its speed before passing through a gap in a wall, which requires high travel path accuracy. This is because a state in which a moving body hits a wall is a state in which the path cost is large, and the control input calculation unit 10 updates the first control input value so as to reduce this path cost, thereby suppressing the speed as shown in Fig. 4.
[0025] As described above, the mobile object control device 1 according to the first embodiment calculates the route cost based on the simulation result in which a pseudo-random number pattern is applied to a control input sequence, which is a sequence of predicted values of the first control input value for a future period in time. As a result, the mobile object control device 1 according to the first embodiment is capable of performing control that achieves both high speed and safety even in a situation in which an actual mobile object does not move according to the control input value and can only move with probabilistic errors added.
[0026] Embodiment 2 In the second embodiment, an example of a detailed configuration of the control input calculation unit 10 will be described. Fig. 5 shows a block diagram of the control input calculation unit according to the second embodiment. As shown in Fig. 5, the control input calculation unit 10 includes a position information acquisition unit 21, a route cost calculation unit 22, and a control input determination unit 23.
[0027] In the second embodiment, the predicted control input value handled by the control input calculation unit 10 is a control input sequence including predicted values of control input values at multiple timings that differ in time. Also, in the second embodiment, an example will be described in which the predicted control input value includes multiple control input sequences each showing a different change over time. This is a more preferable example, and the control input calculation unit 10 can operate if there is at least one predicted control input value.
[0028] The location information acquisition unit 21 acquires location information indicating the location of a moving object being operated. The location information acquisition unit 21 acquires information for identifying the specific location of the moving object using equipment such as a camera or a sensor using a wireless signal.
[0029] The control input determination unit 23 calculates a second control input value that reduces the path cost. In the control input calculation unit 10, the path cost calculation unit 22 generates an expected control input value and calculates a path cost corresponding to the expected control input value. More specifically, the path cost calculation unit 22 calculates a plurality of path costs (for example, N, where N represents the number of control input sequences described later). Then, the control input determination unit 23 selects, for example, K control input sequences with small path costs from the bottom (K is an integer), calculates an average value with a large weighting for the selected control input sequences from the smallest path cost value, and calculates a control input value at the top of the averaged control input sequence. The control input determination unit 23 determines the calculated control input value as the second control input value. In addition, the control input determination unit 23 outputs the determined second control input value to the robot control unit 11 as the first control input value of the next control cycle.
[0030] Next, details of the path cost calculation unit 22 will be described. Fig. 6 shows a block diagram of the path cost calculation unit 22 according to the second embodiment. As shown in Fig. 6, the path cost calculation unit 22 has a control input sequence generation unit 31, probability fluctuation simulation processing units 321 to 32N (N is an integer indicating the number of probability fluctuation simulation processing units), and a cost estimation unit 33.
[0031] The control input sequence generation unit 31 generates a predicted control input value based on the first control input value of the current control cycle. More specifically, the control input sequence generation unit 31 generates a control input sequence (hereinafter referred to as a base control input sequence) whose head is a control input value set at the next timing after the control input value adopted as the first control input sequence in the control input sequence to which the first control input value of the current control cycle belongs. In addition, the control input sequence generation unit 31 generates at least one control input sequence whose speed change is different from that of the base control input sequence by adding variation to the base control input sequence. In other words, the control input sequence generation unit 31 generates a predicted control input value including a plurality of control input sequences (for example, N control input sequences).
[0032] The stochastic fluctuation simulation processing units 321-32N each perform a stochastic fluctuation simulation multiple times (for example, M times) by applying a pseudorandom number pattern to a predicted control input value (for example, one of a plurality of control input sequences) using different pseudorandom number patterns. Then, the stochastic fluctuation simulation processing units 321-32N each calculate a predicted cost that serves as an index for judging the running state of the moving object. That is, the stochastic fluctuation simulation processing units 321-32N each calculate M predicted costs. Here, considering the stochastic fluctuation simulation processing units 321-32N, the control input calculation unit 10 calculates N×M predicted costs. Here, in the present disclosure, the predicted cost is, for example, an index for judging whether the running state of the moving object is good or bad. More specifically, the predicted cost can be regarded as a cost when the moving object deviates from the target route or runs slower than a predetermined speed.
[0033] In the second embodiment, the cost estimation unit 33 has a risk-sensitive cost estimation unit 34. This risk-sensitive cost estimation unit 34 calculates the path cost J by using equation (1). Note that equation (1) is also called a risk-sensitive evaluation function.
number
[0034] Next, the probability fluctuation simulation processing units 321 to 32N will be described in detail. The probability fluctuation simulation processing units 321 to 32N have the same configuration and differ only in the control input sequence to be processed, so only the probability fluctuation simulation processing unit 321 will be described here.
[0035] Fig. 7 shows a block diagram of the probability fluctuation simulation processing unit according to the embodiment 2. As shown in Fig. 7, the probability fluctuation simulation processing unit 321 has a control input selection unit 41, simulation execution units 421 to 42M (M is an integer representing the number of simulation execution units or the number of pseudo-random number patterns to be applied), and cost calculation units 431 to 43M.
[0036] The control input selection unit 41 selects one of the multiple control input sequences generated by the control input sequence generation unit 31. In the control input calculation unit 10, the control input sequence selected by the control input selection unit 41 is determined in advance, and each of the stochastic fluctuation simulation processing units 321 to 32N corresponds to one of the multiple control input sequences.
[0037] Each of the simulation execution units 421-42M applies one of the pseudo-random number patterns included in a plurality of pseudo-random number patterns (e.g., M pseudo-random number patterns) to the control input sequence selected by the control input selection unit 41 to simulate the change trajectory of the control input value (e.g., the speed of the moving body) to be given to the moving body. For example, the simulation uses a numerical solution method of a stochastic differential equation. Furthermore, the simulation execution units 421-42M use the position information output by the position information acquisition unit 21 when performing the route simulation of the moving body. Although it is possible to use logical position information recognized in the simulation without using the position information, the use of actual position information acquired by the position information acquisition unit 21 can improve the simulation accuracy.
[0038] The cost calculation units 431 to 43M calculate predicted costs for simulation results calculated by corresponding simulation execution units among the multiple simulation execution units. The M predicted costs generated by the cost calculation units 431 to 43M are provided to the risk-sensitive cost estimating unit 34. Then, the risk-sensitive cost estimating unit 34 calculates a route cost J using the M predicted costs (cost S in equation (1)).
[0039] Next, the operation of the control input calculation unit 10 will be described. Fig. 8 shows a flowchart for explaining the operation of the control input calculation unit 10 according to the second embodiment. As shown in Fig. 8, when the control input calculation unit 10 starts calculating the control input value, it first calculates N control input sequences from the control input sequence to which the first control input value of the current control cycle belongs, using the control input sequence generation unit 31 (step S11). Note that in step S11 at the start of operation, since there is no control input sequence determined previously, N control input sequences that satisfy the maximum acceleration and maximum speed are determined randomly.
[0040] Then, the control input calculation unit 10 performs N×M simulations by applying M pseudo-random number patterns to each of the N control input sequences using each of the probability fluctuation simulation processing units 321-32N (step S12). Next, the control input calculation unit 10 calculates the path cost J of the N control input sequences using the M predicted costs S output from each of the probability fluctuation simulation processing units 321-32N (step S13). That is, in step S13, the N path costs J are calculated. After that, the control input calculation unit 10 uses the control input determination unit 23 to select K control input sequences in ascending order of path cost J, generate an average control input sequence that is a weighted average value of the K control input sequences, and specify the first control input value of the average control input sequence as the second control input value (step S14). Then, the control input calculation unit 10 outputs the second control input value specified in step S14 as the first control input value of the next control cycle (step S15).
[0041] The above process will be described from another perspective. Fig. 9 and Fig. 10 show an example of a control input sequence used in the control input calculation unit 10 according to the second embodiment. Fig. 9 explains a case where a second control input value is determined from the control input sequence, and Fig. 10 explains a case where a control input sequence used in the next control cycle is generated. In the example shown in Fig. 9, the number N of control input sequences is 5, the number M of pseudo-random number patterns applied to the simulation is 3, and the number K of control input sequences used to determine the second control input value is 3.
[0042] 9, a control input sequence to which the first control input value of the current control cycle T1 belongs (for example, a control input sequence whose route cost J is calculated to be 4 in a later calculation) is set as a base control input sequence, and four control input sequences are given to this base control input sequence. This control input sequence is a chronological arrangement of predicted control input values that predict changes in control input values (or changes in the speed of the moving body) to be applied to the moving body in the prediction period of control cycles Tp1 to Tp6 after the current control cycle T1.
[0043] The control input calculation unit 10 performs a simulation in which M pseudo-random number patterns are given to each of the N control input sequences, and calculates N path costs J. In the example shown in Fig. 9, the path costs J are 1, 3, 4, 6, and 7. Note that while the path costs J are integers in Fig. 9, they may include decimal values. Then, the control input calculation unit 10 determines the first control input value of an average control input sequence generated from the weighted average value of the three control input sequences in ascending order of path costs J as the second control input value.
[0044] 10, the control input sequence used to calculate the first control input value of the control cycle next to timing T2 will be described. As shown in FIG. 10, the control input sequence generation unit 31 deletes the control input value at the beginning of the average control input sequence shown in FIG. 9, and generates a new base control input sequence by adding a predicted control input value one control cycle after from the end. In the example shown in FIG. 10, the predicted control input value at the end of the base control input sequence uses the same value as the predicted control input value immediately before the end. Then, the control input sequence generation unit 31 generates four control input sequences that show different speed changes with respect to the base control input sequence shown in the upper right of FIG. 10.
[0045] As described above, the control input calculation unit 10 according to the first embodiment can calculate the control input value that minimizes the risk-sensitive evaluation function without using complex mathematical processing. As a result, the mobile object control device 1 using the control input calculation unit 10 according to the first embodiment can perform control that achieves both high speed and safety even in a situation where the actual mobile object does not move according to the control input value and can only move with probabilistic errors added.
[0046] Third embodiment In the third embodiment, a description will be given of a route cost calculation unit 22a which is another form of the route cost calculation unit 22. In the description of the third embodiment, the same components as those described in the second embodiment will be denoted by the same reference numerals as in the second embodiment, and the description thereof will be omitted.
[0047] figure 11 1 shows a block diagram of a route cost calculation unit 22a according to a third embodiment. 11 2, the path cost calculation unit 22a is obtained by replacing the cost estimation unit 33 of the path cost calculation unit 22 with a cost estimation unit 33a. The cost estimation unit 33a has an expectation value estimation unit 35 and a variance term estimation unit .
[0048] In the second embodiment, the risk-sensitive cost estimation unit 34 uses the evaluation function shown in equation (1) to calculate the route cost J. However, when the route cost J is calculated using equation (1), divergence may occur if the stochastic fluctuation is greater than a certain level, and the control input value may not be stable. Therefore, in the third embodiment, equation (1) is Taylor expanded to calculate the route cost J and the third-order and subsequent terms are ignored, thereby reflecting the influence of the variability in the predicted cost S in the route cost and reducing the possibility of divergence. The first-order and second-order terms in equation (1) are calculated using equation (2).
number
[0049] The expected value estimation unit 35 calculates an expected value for each control input sequence by applying a plurality of predicted costs obtained from each of the probability fluctuation simulation processing units 321 to 32N to an expected value term obtained by Taylor expansion of the risk-sensitive evaluation function. That is, the expected value estimation unit 35 calculates the value of the first term of equation (2).
[0050] The variance term estimation unit 36 calculates a variance value for each control input sequence by applying multiple predicted costs obtained from each of the probability fluctuation simulation processing units to the variance term obtained by Taylor expansion of the risk-sensitive evaluation function. That is, the variance term estimation unit 36 calculates the value of the second term of equation (2).
[0051] Then, the cost estimation unit 33a calculates the sum of the expected value calculated by the expected value estimation unit 35 and the variance value calculated by the variance term estimation unit 36 as the path cost.
[0052] As described above, by using the cost estimator 33a according to the third embodiment, divergence in the calculation of the route cost J can be effectively suppressed.
[0053] Other embodiments In other embodiments, the overall configuration of a mobile object control system including the mobile object control device 1 and hardware resources for realizing the mobile object control device 1 will be described. First, a block diagram of a mobile object control system according to other embodiments is shown in Fig. 12. Note that the mobile object control system shown in Fig. 12 is a schematic block diagram of the system.
[0054] 12 includes a remote control device 101, a network 102, an imaging device 103, and a mobile object 104. The remote control device 101 includes a mobile object control unit 201 and a communication unit 202. The mobile object control unit 201 includes the mobile object control device 1 described above. The communication unit 202 is an interface that enables the mobile object control unit 201 to communicate with the mobile object 104 and the imaging device 103.
[0055] The network 102 is configured to enable mutual communication between a remote control device 101, an imaging device 103, and a mobile object 104. The imaging device 103 is, for example, a camera, and is used by a position information acquisition unit 21 in the remote control device 101.
[0056] The moving object 104 is an object to be controlled. The moving object 104 has a communication unit 301, a drive control unit 302, and a drive unit 303. The communication unit 301 is an interface for the moving object 104 to communicate with the remote control device 101. The drive control unit 302 gives an operation instruction to the drive unit 303 based on a first control input value given from the remote control device 101. The drive unit 303 is composed of a motor that drives a drive wheel, etc.
[0057] Next, the hardware resources constituting the remote control device 101 will be described with reference to Fig. 13. What is shown in Fig. 13 is an example of the hardware resources, and other configurations such as an input interface may be included. 13 The hardware resource 400 shown in FIG. 13 It is not intended to limit the configuration to that shown in FIG.
[0058] 13, the hardware resource 400 includes a processor 401, a memory 402, a network interface 403, and the like, which are connected to each other via an internal bus 404.
[0059] The hardware resource 400 may include hardware (e.g., an input / output interface) that is not shown. Alternatively, the number of units such as the arithmetic unit 401 included in the device is not limited to the example shown in Fig. 13, and for example, the device may include a plurality of arithmetic units 401. For example, a CPU (Central Processing Unit), an MPU (Micro Processor Unit), etc. may be used as the arithmetic unit 401.
[0060] The memory 402 may be, for example, a random access memory (RAM), a read only memory (ROM), a hard disk drive (HDD), a solid state drive (SSD), or the like.
[0061] The network interface 403 may be, for example, a LAN (Local Area Network) card, a network adapter, a network interface card, or the like.
[0062] The present invention is not limited to the above-described embodiment, and can be modified as appropriate without departing from the spirit of the present invention. For example, the control input calculation unit 10 and the robot control unit 11 shown in FIG. 1 may be provided as one device, or a plurality of devices may constitute one system. In addition, a part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited to the following.
[0063] (Appendix 1) a robot control unit that controls the moving body based on a first control input value; a control input calculation unit that calculates a second control input value that becomes the first control input value of a next control cycle, The control input calculation unit A mobile control device that calculates a path cost by a simulation that incorporates stochastic noise for at least one predicted control input value that is predicted to be provided to the robot control unit after the first control input value, and calculates the second control input value that reduces the path cost.
[0064] (Appendix 2) The control input calculation unit a route cost calculation unit that generates the predicted control input value and calculates the route cost corresponding to the predicted control input value; a control input determination unit that calculates the second control input value that reduces the path cost; 2. A mobile control device as described in claim 1, comprising:
[0065] (Appendix 3) The route cost calculation unit a control input sequence generator for generating the predicted control input value based on the first control input value of a current control cycle; a stochastic fluctuation simulation processing unit that performs a stochastic fluctuation simulation in which a pseudorandom number pattern is applied to the predicted control input value a plurality of times using different pseudorandom number patterns, and calculates a predicted cost serving as an index for determining a traveling state of the moving object in each of the plurality of stochastic fluctuation simulations; a cost estimating unit that calculates the path cost using a plurality of the predicted costs generated in a plurality of the probability fluctuation simulations; 3. A mobile object control device according to claim 2, comprising:
[0066] (Appendix 4) The stochastic fluctuation simulation processing unit includes: A plurality of simulation execution units each executing one of the plurality of probability fluctuation simulations; a plurality of cost calculation units that calculate the predicted cost for a simulation result calculated by a corresponding one of the plurality of simulation execution units; 4. A mobile object control device according to claim 3, comprising:
[0067] (Appendix 5) The control input calculation unit a location information acquisition unit that acquires location information of the moving object, 5. The mobile body control device according to claim 4, wherein the plurality of simulation execution units calculate the predicted cost based on a position of the mobile body identified based on the position information.
[0068] (Appendix 6) 6. The mobile object control device according to claim 1, wherein the predicted control input value is a control input sequence including predicted values of control input values at a plurality of timings that are different in time.
[0069] (Appendix 7) 7. The mobile control device according to claim 6, wherein the predicted control input value includes a plurality of sequences of the control inputs each showing a different change over time.
[0070] (Appendix 8) The mobile control device according to claim 3, wherein the cost estimation unit has a risk-sensitive cost estimation unit that calculates the path cost for each of the control input sequences by applying a plurality of the predicted costs obtained from each of the probability fluctuation simulation processing units that calculate the path cost based on a risk-sensitive evaluation function that causes risk-sensitive behavior.
[0071] (Appendix 9) The cost estimation unit is an expectation estimating unit that calculates an expectation for each of the control input sequences by applying the plurality of prediction costs obtained from each of the stochastic fluctuation simulation processing units to an expectation term obtained by Taylor expansion of a risk-sensitive evaluation function that causes risk-sensitive behavior; a variance term estimation unit that calculates a variance value for each of the control input sequences by applying the plurality of forecast costs obtained from each of the stochastic fluctuation simulation processing units to a variance term obtained by subjecting the risk-sensitive evaluation function to a Taylor expansion, 4. The mobile object control device according to claim 3, wherein the added result of the expected value and the variance value is calculated as the route cost.
[0072] (Appendix 10) a robot control step of controlling the moving object based on a first control input value; a control input calculation step of calculating a second control input value which becomes the first control input value of a next control cycle, In the control input calculation step, The robot control after the first control input value. Steps a route cost is calculated by a simulation that takes into account stochastic noise for at least one predicted control input value that is expected to be given to the vehicle, and the second control input value that reduces the route cost is calculated.
[0073] (Appendix 11) a robot control unit that controls the moving body based on a first control input value; a control input calculation unit that calculates a second control input value that becomes the first control input value of a next control cycle, The control input calculation unit a second control input value that reduces the path cost by performing a simulation that incorporates stochastic noise for at least one predicted control input value that is predicted to be applied to the robot control unit after the first control input value;
[0074] (Appendix 12) a control input calculation process for calculating a route cost by a simulation that takes into account stochastic noise for at least one predicted control input value that is a predicted value of a first control input value that is expected to be used in controlling the moving body after a first control input value that is applied to the moving body in a current control cycle, and calculating a second control input value that reduces the route cost; a robot control process for controlling a moving object based on the first control input value set by the second control input value; A computer-readable non-transitory storage medium having recorded thereon a mobile object control program that executes the above by using the computational processing of a computation unit.
[0075] (Appendix 13) a control input calculation process for calculating a route cost by a simulation that takes into account stochastic noise for at least one predicted control input value that is a predicted value of a first control input value that is expected to be used in controlling the moving body after a first control input value that is applied to the moving body in a current control cycle, and calculating a second control input value that reduces the route cost; a robot control process for controlling a moving object based on the first control input value set by the second control input value; A mobile object control program that executes the above by using the calculation processing of the calculation unit. [Explanation of symbols]
[0076] 1. Mobile control device 10. Control input calculation section 11 Robot control unit 21 Location information acquisition unit 22 Route cost calculation unit 23 Control input determination unit 31 Control input sequence generator 321 Stochastic Fluctuation Simulation Processing Unit 33 Cost Estimation Department 34 Risk Sensitive Cost Estimation Department 35 Expected value estimation section 36 Variance term estimator 41 Control input selection section 421 Simulation Execution Department 431 Cost Calculation Department 101 Remote control device 102 Network 103 Imaging device 104 Mobile 201 Mobile control unit 202 Communications Department 301 Communications Department 302 Drive control unit 303 Drive unit 400 Hardware Resources 401 Arithmetic section 402 Memory 403 Network Interface 404 Internal Bus
Claims
1. a robot control unit that controls the moving body based on a first control input value; a control input calculation unit that calculates a second control input value that becomes the first control input value of a next control cycle, The control input calculation unit A mobile body control device that calculates multiple path costs by a simulation that incorporates stochastic noise for at least one predicted control input value that is expected to be provided to the robot control unit after the first control input value, and calculates the second control input value that results in the smallest path cost among the multiple path costs.
2. The control input calculation unit a route cost calculation unit that generates the predicted control input values and calculates the plurality of route costs corresponding to the predicted control input values; a control input determination unit that calculates the second control input value that provides the smallest path cost among the plurality of path costs; The mobile object control device according to claim 1 , further comprising:
3. The route cost calculation unit a control input sequence generator for generating the predicted control input value based on the first control input value of a current control cycle; a stochastic fluctuation simulation processing unit that performs a stochastic fluctuation simulation in which a pseudorandom number pattern is applied to the predicted control input value a plurality of times using different pseudorandom number patterns, and calculates a predicted cost serving as an index for determining a traveling state of the moving object in each of the plurality of stochastic fluctuation simulations; a cost estimating unit that calculates the path cost using a plurality of the predicted costs generated in a plurality of the probability fluctuation simulations, The stochastic fluctuation simulation processing unit includes: A plurality of simulation execution units each executing one of the plurality of probability fluctuation simulations; a plurality of cost calculation units that calculate the predicted cost for a simulation result calculated by a corresponding one of the plurality of simulation execution units; The mobile object control device according to claim 2 , further comprising:
4. The control input calculation unit a location information acquisition unit that acquires location information of the moving object, The mobile object control device according to claim 3 , wherein the plurality of simulation execution units calculate the predicted cost based on a position of the mobile object identified based on the position information.
5. The mobile control device according to claim 3 , wherein the predicted control input value is a control input sequence including predicted values of control input values at a plurality of timings that are different in time, and includes a plurality of the control input sequences each showing a different change over time.
6. 6. The mobile control device according to claim 5, wherein the cost estimation unit includes a risk-sensitive cost estimation unit that calculates the path cost for each of the control input sequences by applying a plurality of the predicted costs obtained from each of the probability fluctuation simulation processing units that calculates the path cost based on a risk-sensitive evaluation function that causes risk-sensitive behavior.
7. The cost estimation unit is an expectation estimating unit that calculates an expectation for each of the control input sequences by applying the multiple prediction costs obtained from the respective stochastic fluctuation simulation processing units to an expectation term obtained by Taylor expansion of a risk-sensitive evaluation function that causes risk-sensitive behavior; a variance term estimation unit that calculates a variance value for each of the control input sequences by applying the plurality of prediction costs obtained from each of the stochastic fluctuation simulation processing units to a variance term obtained by subjecting the risk-sensitive evaluation function to a Taylor expansion, The mobile object control device according to claim 5 , wherein an addition result of the expected value and the variance value is calculated as the route cost.
8. a robot control step of controlling the moving body based on a first control input value; a control input calculation step of calculating a second control input value which becomes the first control input value of a next control cycle, In the control input calculation step, A method for controlling a mobile object, comprising: calculating a plurality of path costs by a simulation incorporating stochastic noise for at least one predicted control input value that is predicted to be applied to the robot control step after the first control input value; and calculating the second control input value that results in the smallest path cost among the plurality of path costs.
9. a robot control unit that controls the moving body based on a first control input value; a control input calculation unit that calculates a second control input value that becomes the first control input value of a next control cycle, The control input calculation unit a second control input value that is the smallest of the multiple path costs, and that is the lowest path cost among the multiple path costs;
10. a control input calculation process for calculating a plurality of path costs by a simulation that takes into account stochastic noise for at least one predicted control input value that is a predicted value of a first control input value that is expected to be used in controlling the moving body after a first control input value that is applied to the moving body in a current control cycle, and calculating a second control input value that provides the smallest path cost among the plurality of path costs; a robot control process for controlling a moving object based on the first control input value set by the second control input value; A mobile object control program that executes the above by using the calculation processing of the calculation unit.
Citation Information
Patent Citations
Route searching device adopting time axis into searching space
JP1996016240A
Autonomous movement system
WO2012086029A1
Mobile robot and self location and attitude estimation system installed upon mobile body
WO2013002067A1
