Driving parameter optimization system and driving parameter optimization method
By conducting experimental driving tests on the autonomous driving device, the driving parameters were optimized using Bayesian optimization and Gaussian process regression models. This solved the problem of labor and time required for optimizing the driving parameters of the unmanned transport vehicle, and achieved efficient parameter optimization and improved suitability.
Patent Information
- Application Number
- CN202110989405.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-09-09
- Filing Date
- 2021-08-26
- Publication Date
- 2026-08-04
- Estimated Expiration
- 2041-08-26
AI Technical Summary
In the existing technology, optimizing the driving parameters of unmanned transport vehicles requires a lot of labor and time, and existing methods have not been able to effectively reduce the effort and time consumed in this process.
By conducting experimental driving tests on the autonomous driving device, a regression model was constructed using Bayesian optimization and Gaussian process regression to optimize driving parameters. This included generating experimental driving plans, optimizing driving parameters, and calculating evaluation values. The driving parameters were optimized by combining load and speed zoning.
It achieves efficient optimization of driving parameters, improves the appropriateness of parameters, and reduces the labor and time required for experimental driving.
Smart Images

Figure CN114239126B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to a driving parameter optimization system and a driving parameter optimization method, and more particularly to a driving parameter optimization system and a driving parameter optimization method for optimizing the driving parameters of an automatic driving device. Background Technology
[0002] In factories or warehouses, automated guided vehicles (AGVs) are used. These AGVs autonomously travel along designated routes.
[0003] Patent Document 1 and Patent Document 2 respectively propose methods for controlling the steering angle of the wheels to enable unmanned transport vehicles with multiple wheels to travel smoothly along a line (also known as a sensor line or guide).
[0004] Patent document 1 describes how, because the control system is nonlinear, it may be impossible to perform steering control or fluctuations along the induction line in existing control systems. Fuzzy inference is then implemented to control the steering angle based on the inference results.
[0005] Patent Document 2 describes a method for reducing overshoot in steering control along a guide, shortening correction distance, and controlling the steering of each of the three wheels in a three-wheel steering unmanned forklift (unmanned transport vehicle) to reduce vehicle body posture movement.
[0006] Patent document 3 describes a method for calculating a model based on machine learning. This model represents the relationship between the error between the vehicle's actual parking position and the prescribed parking position and the driving condition parameters used in automatic stop control. The error between the vehicle's actual parking position and the prescribed parking position represents the result of automatic stop control when parking at the prescribed parking position using the driving condition parameters. Existing technical documents Patent documents
[0007] Patent Document 1: Japanese Patent Application Publication No. 03-282705 Patent Document 2: Japanese Patent Application Publication No. 2000-148247 Patent Document 3: Japanese Patent Application Publication No. 2008-137857 Summary of the Invention The technical problem to be solved by the present invention
[0008] Propelling an unmanned transport vehicle along a designated route requires highly complex driving control based on multiple optimized driving parameters. However, optimizing these parameters necessitates repeated experimental runs to collect data, thus requiring significant manpower and time.
[0009] The driving control methods disclosed in Patent Documents 1 and 2 use a large number of driving parameters in driving control. Although the optimization of these driving parameters requires a lot of labor and time, no method is considered to reduce the large amount of effort and time required for the optimization of driving parameters.
[0010] In response, Patent Document 3 estimates the stopping error based on a model calculated through machine learning. Therefore, it argues that compared to Patent Documents 1 and 2, it can reduce the labor and time required for optimizing driving parameters. However, it uses past experimental data to optimize driving parameters without creating future experimental plans, and effectively obtains experimental data based on existing plans. Therefore, there is still room for improvement in parameter optimization.
[0011] Therefore, the main objective of this invention is to provide a new driving parameter optimization system and driving parameter optimization method.
[0012] Another object of the present invention is to provide a driving parameter optimization system and a driving parameter optimization method that can efficiently improve the appropriateness of parameters. Technical solutions for solving technical problems
[0013] The first invention discloses a driving parameter optimization system, which optimizes the driving parameters of an automatic driving device by conducting experimental driving tests to optimize the driving parameters. The driving parameter optimization system includes: an automatic driving device that drives according to driving instructions; an experimental driving plan generation device that generates an experimental driving plan for the experimental driving test; a driving instruction device that sends the driving instructions to the automatic driving device based on the experimental driving plan generated by the experimental driving plan generation device; an acquisition device that acquires measurement values reflecting the driving state of the automatic driving device; an evaluation value calculation device that calculates an evaluation value based on the measurement values measured by the acquisition device; and a driving parameter optimization device that calculates the optimized driving parameters based on the evaluation value calculated by the evaluation value calculation device during the experimental driving test.
[0014] The second invention is subordinate to the first invention and is configured such that the experimental driving plan generation device plans multiple drives in which driving parameters are changed during each drive as the experimental driving plan.
[0015] The third invention is subordinate to the second invention and is configured such that the driving parameters are composed of a group of multiple parameters used for different controls during the driving of the automatic driving device. The experimental driving plan generation device designates a portion of the driving parameters among all the multiple parameters as driving parameters to be optimized, and changes the designated driving parameters during each driving, planning multiple drivings to optimize the designated driving parameters.
[0016] The fourth invention is subordinate to the third invention and is configured such that the experimental driving plan making device does not change any driving parameters other than the specified driving parameters among all of the multiple parameters during each driving, and plans multiple driving trips as driving for optimizing the specified driving parameters.
[0017] The fifth invention is subordinate to the third or fourth invention, and is configured such that the experimental driving plan generation device changes the parameter of the driving parameter designated as the optimization object among all the parameters of the multiple parameters, and generates multiple driving trips for each of the designated driving parameters as driving trips for optimizing the designated driving parameters.
[0018] The sixth invention is subordinate to any one of the first to fifth inventions, and is configured such that the experimental driving plan making device makes the experimental driving plan by using an experimental planning method based on Bayesian optimization.
[0019] The seventh invention belongs to any one of the first to sixth inventions, and is configured such that the experimental driving plan making device uses the driving parameters from each of the first to the Nth driving times as explanatory variables and the evaluation values from each of the first to the Nth driving times as target variables, constructs a regression model through Gaussian process regression, calculates a function based on the regression model, and determines the driving parameters for the N+1th driving time based on the obtained function.
[0020] The eighth invention belongs to any one of the first to seventh inventions, and is configured such that the driving parameter optimization device calculates the optimized driving parameters by Bayesian optimization.
[0021] The ninth invention belongs to any one of the first to eighth inventions, and is configured such that the driving parameter optimization device uses the driving parameters of each of the first to Mth driving trips as explanatory variables, uses the evaluation values of each of the first to Mth driving trips as target variables, constructs a regression model through Gaussian process regression, and calculates the driving parameters whose expected value of the target variable is closest to the set value based on the regression model as the optimized driving parameters.
[0022] The tenth invention belongs to any one of the first to ninth inventions, and is configured to further include a driving parameter storage unit that stores past driving parameters calculated by the driving parameter optimization device, and the experimental driving plan making device is able to set the past driving parameters stored in the driving parameter storage unit as the initial values of the driving parameters when making the experimental driving plan in the experimental driving.
[0023] The eleventh invention belongs to any one of the first to tenth inventions, and is configured such that the driving parameters are set differently for each zone of the weight of the cargo towed or loaded by the automatic driving device, i.e., the load, and the driving parameters are optimized for each zone of the load to which the optimization is desired.
[0024] The twelfth invention belongs to any one of the first to eleventh inventions, and is configured such that the driving parameters are set differently for each speed zone, and the driving parameters are optimized for each speed zone of the target.
[0025] The thirteenth invention belongs to any one of the first to twelfth inventions, and is configured such that the driving parameters are set differently for each driving route, and the driving parameters are optimized for each driving route of the optimization object.
[0026] The fourteenth invention is subordinate to the thirteenth invention and is configured such that the driving instruction device sends the driving instruction to the automatic driving device so that the automatic driving device drives on the driving route of the optimized object.
[0027] The fifteenth invention is subordinate to any one of the first to fourteenth inventions, and is configured such that the evaluation value includes the lateral offset of the linear driving path relative to the autonomous driving device when it travels along a specified linear driving path.
[0028] The sixteenth invention is subordinate to any one of the first to fifteenth inventions, and is configured such that the evaluation value includes the magnitude of the change in acceleration caused by the acceleration or deceleration of the automatic driving device during operation.
[0029] The seventeenth invention is subordinate to any one of the first to sixteenth inventions, and is configured such that the driving parameters include steering control parameters when the automatic driving device travels along a specified linear driving route.
[0030] The eighteenth invention is subordinate to any one of the first to the seventeenth inventions, and is configured such that the driving parameters include parameters for acceleration control of the automatic driving device during driving.
[0031] The nineteenth invention discloses a method for optimizing driving parameters, which optimizes the driving parameters of an automated driving device by conducting experimental driving of the device according to driving instructions. The method is characterized by comprising: (a) generating an experimental driving plan for the experimental driving; (b) sending the driving instructions to the automated driving device based on the experimental driving plan generated in step (a); (c) obtaining a measurement value reflecting the driving state of the automated driving device; (d) calculating an evaluation value based on the measurement value obtained in step (c); and (e) calculating optimized driving parameters during the experimental driving based on the evaluation value calculated in step (d). Beneficial effects
[0032] According to the present invention, experimental results are obtained efficiently based on future experimental plans, and driving parameters are optimized based on the obtained experimental results, thereby efficiently improving the appropriateness of the parameters. Attached Figure Description
[0033] Figure 1 This is a diagram illustrating an example of the configuration of a driving parameter optimization system according to an embodiment of the present invention. Figure 2 It means Figure 1 The diagram shown is a block diagram of an example of the electrical configuration of an optimized server. Figure 3 It means Figure 1 The diagram shows an example of the electrical configuration of a management server. Figure 4 It means Figure 1 The diagram shows an example of the right-side view of the AGV's appearance. Figure 5 It means Figure 1 The diagram shows an example of the lower surface of an AGV. Figure 6 It means Figure 1 The diagram shows an example of the electrical configuration of an AGV. Figure 7 This is a diagram illustrating an example of an AGV's operating environment. Figure 8 This is a diagram showing an example of the external structure of a trolley towed by an AGV. Figure 9 This is a diagram illustrating an example of the connection between the AGV and the trolley when the AGV is pulling the trolley. Figure 10 This is another diagram illustrating an example of the connection between the AGV and the trolley in the case of an AGV pulling a trolley. Figure 11 This is a graph used to illustrate the left and right offsets of the AGV relative to the direction of travel, detected by the line sensor. Figure 12 This is a diagram used to illustrate a portion of the driving parameters set for an AGV. Figure 13 This is a schematic diagram illustrating an example of the travel route and the presence or absence of load when an AGV is transporting goods in a usage environment. Figure 14 This is a diagram representing an example of an optimization parameter table. Figure 15 This is a diagram showing an example of a driving parameter table A. Figure 16 It means Figure 2 The diagram shows an example of the memory mapping of the RAM in an optimized server. Figure 17 It means Figure 3 The diagram shows an example of the memory mapping of the RAM in the management server. Figure 18 It means Figure 2 The flowchart shown is an example of a CPU parameter optimization process for an optimized server. Figure 19 It means Figure 3 The flowchart shown is a part of an example of AGV control processing of the CPU of the management server. Figure 20 yes Figure 3 The other part of the AGV control processing of the CPU of the management server shown is a continuation. Figure 19 The flowchart. Figure 21 yes Figure 3 The other part of the AGV control processing of the CPU of the management server shown is a continuation. Figure 20 The flowchart. Detailed Implementation
[0034] Figure 1 This is a diagram illustrating an example of the configuration of a driving parameter optimization system (hereinafter referred to as the "optimization system") 10 according to an embodiment of the present invention. The optimization system 10 is applicable to the development source or delivery destination of an automated guided vehicle (AGV) (also referred to as an autonomous transport device or unmanned transport device, hereinafter referred to as "AGV"), to optimize the parameters (hereinafter referred to as "driving parameters") related to the driving of the AGV, and to manage and control the driving of the AGV.
[0035] However, the delivery destination of the AGV is a factory or warehouse, and the AGV travels (or moves) from one location to another within the factory or warehouse. Here, a location refers to the AGV's waiting area, the destination of the goods (including the unloading area), and the loading area of the goods. In this embodiment, the AGV moves from the waiting area to the loading area, transports the goods from the loading area to the transport destination, or returns from the transport destination to the waiting area.
[0036] like Figure 1 As shown, the optimization system 10 includes an optimization server 12, which is communicatively connected (sending and / or receiving) to a management server 16 via a network 14 such as the Internet, WAN, or LAN. Furthermore, a database 18 is located on the network 14, and the optimization server 12 and the management server 16 are communicatively connected to the database 18.
[0037] Furthermore, the management server 16 is wirelessly communicatively connected to each of the multiple AGVs 20. However, in locations such as factories or warehouses where the AGVs 20 operate autonomously or automatically, multiple access points are provided, and each AGV 20 communicates with the management server 16 via another network (a network different from the network 14) that includes the access points. In this embodiment, the data communicated between the management server 16 and each AGV 20 includes the identification information of each AGV 20, enabling the management server 16 to specify an AGV 20 to send data, or to determine (identify) an AGV 20 from received data.
[0038] In addition, although multiple AGV20s are shown in this embodiment, there may also be only one AGV20.
[0039] Furthermore, the management server 16 is communicatively connected to multiple computers 22 via network 14. These multiple computers 22 are configured at various locations, such as factories or warehouses, where multiple AGVs 20 are located. However, in the case of a factory, the computers 22 are sometimes also assembled into manufacturing equipment for components located at each location. Additionally, in the case of a warehouse, the computers 22 are sometimes also used as terminals held by personnel managing the shelving.
[0040] In this embodiment, the management server 16 is communicatively connected to multiple computers 22 via network 14, but is not limited to this. As mentioned above, since other networks are set up in places such as factories or warehouses, the management server 16 can also be communicatively connected to some or all of the computers 22 via these other networks.
[0041] In addition, the management server 16 and one or more AGVs 20 constitute the automated driving system 10a.
[0042] The optimization server 12 functions as a driving parameter optimization device, an experimental driving plan creation device, and an evaluation value calculation device. It can use a general-purpose server. The driving parameter optimization device optimizes or appropriates the driving parameters of the AGV20, the experimental driving plan creation device creates an experimental driving plan for the experimental driving of the driving parameters optimization or appropriateness, and the evaluation value calculation device calculates the evaluation value based on the measurement values (experimental results described later) measured during the experimental driving. Figure 2 This is a block diagram illustrating an example of the electrical configuration of an optimized server 12. (For example...) Figure 2 As shown, the optimization server 12 includes a CPU 30, which is connected to RAM 32 and communication device 34 via an internal bus. Although not shown in the figure, it also includes auxiliary storage devices such as HDD and ROM.
[0043] CPU 30 is the processor responsible for optimizing the overall control of server 12. RAM 32 is the main storage device for optimizing server 12 and functions as a buffer and working area for CPU 30. Communication device 34 is a communication module for wired or wireless communication using communication methods such as Ethernet or Wi-Fi.
[0044] Furthermore, in the context of describing the block diagrams of the management server 16 and AGV20 described later, the descriptions of the same circuit components are omitted.
[0045] The management server 16 is a device for managing the movement of the AGV 20. More specifically, it functions as a driving instruction device for instructing or controlling the movement (or motion) of the AGV 20 and a device for acquiring measurement values reflecting the driving status of the AGV 20. A general-purpose server can be used. Figure 3 As shown, the management server 16 includes a CPU 50, which is connected to a RAM 52, a first communication device 54 and a second communication device 56 via an internal bus.
[0046] In the management server 16, the first communication device 54 is a communication module for communicating with the network 14, and has the same function as the communication device 34. The second communication device 56 is a communication module for wirelessly communicating with other devices (here, AGV 20). The second communication device 56 is a wireless communication module capable of LAN connection, and the communication method of this communication module is, for example, Wi-Fi or ZigBee (registered trademark).
[0047] Database 18 is a general-purpose database, accessible to both optimization server 12 and management server 16 in this embodiment. Database 18 stores the driving parameters of the AGV 20 after optimization and a history of the AGV 20's driving status (status data). That is, previously optimized driving parameters are stored in database 18. The AGV 20's driving status corresponds to its identification information and includes data on the load of the goods being transported, the AGV 20's speed, its current position, forward and backward sway values, amplitude values, driving route, and the date and time of implementation. However, this is only an example and is not intended to be limiting. In this embodiment, the driving status of the AGV 20 is stored as described above, and driving parameters are optimized based on this status, thereby enabling the AGV 20 to drive stably in various operating environments. For example, even with the same load, the appropriate driving parameters differ on straight driving routes and driving routes with many curves.
[0048] In this embodiment, the driving status of AGV20 is stored at first predetermined intervals (2 seconds in this embodiment) while AGV20 is driving. However, the driving status of AGV20 stored in database 18 is the driving status of AGV20 when AGV20 is driven in a laboratory or experimental environment and / or the driving status of AGV20 when AGV20 is driven in a factory or warehouse or other usage environment.
[0049] AGV20 is a robot capable of autonomous movement. In this embodiment, it pulls the trolley 200, which is the object being pulled, as needed. The configuration of the trolley 200 will be described later. Figure 4 This is a diagram of the right side of the AGV20's exterior structure. Figure 5 This is a diagram of the lower surface of the AGV20's exterior structure. Figure 4 In the center, the right direction is in front of the AGV20, and the left direction is behind the AGV20. Furthermore, in... Figure 5 In the middle, the top direction is in front of the AGV20, and the bottom direction is behind the AGV20.
[0050] The AGV 20 includes a main body 20a, which has a low-backed cuboid shape recessed between the floor or ground and the lower surface of the trolley 200. A pair of lifting arms 26 for towing the trolley 200 are mounted on the upper part of the main body 20a. (Detailed description omitted). The lifting arms 26 consist of a connecting portion 262 that connects a hydraulic cylinder 260 and the trolley 200. The hydraulic cylinder 260 is raised and lowered by a hydraulic drive device 80, and the connecting portion 262 also rises and falls. When viewed from the side, the end face of the connecting portion 262 has a U-shaped design.
[0051] Furthermore, since the trolley 200 used is predetermined, the length by which the traction arm 26 is raised or lowered is also predetermined. And, based on its length, the rotational speed of the drive motor that drives the hydraulic pump built into the hydraulic drive unit 80 is also determined. Although not shown in the figures, the hydraulic drive unit 80 includes a hydraulic pump and a drive motor that drives the hydraulic pump.
[0052] In addition, Figure 4 (To be continued) Figure 8 as well as Figure 9 (Similarly) indicates the state of the traction arm 26 rising.
[0053] The connecting part 262 of the traction arm 26 has a front first part 26a and a rear second part 26b. A proximity sensor 28 is provided on the upper part of the first part 26a, and a load sensor 86 is provided on the side of the front side of the second part 26b.
[0054] As an example, proximity sensor 84 is a transmissive or reflective optical sensor that detects the lower surface of trolley 200 when trolley 200 is connected to AGV 20. AGV 20 submerges under trolley 200 (or base 202), and when proximity sensor 84 detects the rear end of the lower surface of trolley 200, AGV 20 travels from that position to a connection position set a predetermined distance ahead and stops.
[0055] A connecting part 212 for connecting (or engaging) the traction arm 26 is provided on the lower surface of the base 202 (see reference). Figure 9 as well as Figure 10 Therefore, after the AGV20 stops, when the traction arm 26 is raised, the plate member 212a constituting the connecting part 212 is disposed between the first part 26a and the second part 26b of the traction arm 26 (connecting part 262). When the AGV20 moves, the plate member 212a engages with the second part 26b, so that the trolley 200 is pulled by the AGV20.
[0056] The load sensor 86 is a general-purpose load sensor that detects the load applied to the AGV 20 (or the towing arm 26) when the trolley 200 is being towed. However, the load refers specifically to the load of the cargo carried on the trolley 200. Hereinafter, in this specification, when referring to the trolley 200 and the load of the cargo carried on the trolley 200, it will be simply referred to as the "load of the cargo".
[0057] In addition, such as Figure 5As shown, the AGV20 has three wheels on the lower surface of the vehicle body 20a. In this embodiment, it has one front wheel 122 and left and right rear wheels 124L and 124R. The front wheel 122 is an auxiliary wheel, configured to rotate relative to the vehicle body 20a. The left and right rear wheels 124L and 124R are drive wheels, fixedly positioned relative to the vehicle body 20a.
[0058] Therefore, by changing the rotational speeds of the left and right rear wheels 124L and 124R, the direction of movement of AGV20 can be altered. For example, when the rotation of the left rear wheel 124L is stopped (the speed is set to 0), and the right rear wheel 124R is rotated (the speed is set to be greater than 0), AGV20 rotates to the left. Furthermore, when the rotation of the right rear wheel 124R is stopped (the speed is set to 0), and the left rear wheel 124L is rotated (the speed is set to be greater than 0), AGV20 rotates to the right.
[0059] Furthermore, a left wheel motor 78L and a right wheel motor 78R are installed inside the vehicle body 20a. The left wheel motor 78L is connected to the left rear wheel 124L, and the right wheel motor 78R is connected to the right rear wheel 124R. In addition, the wheel motors 78L and 78R are connected to the wheel drive circuit 76.
[0060] Furthermore, a battery 94 and a control board 100 are provided in the vehicle body 20a. The control board 100 is equipped with circuit components such as a CPU 70, RAM 72, communication device 74, and inertial sensor 90, which will be described later.
[0061] Furthermore, a line sensor 88 and an RF tag reader 92 are provided on the lower surface of the vehicle body 20a. In this embodiment, the line sensor 88 is located at the front end of the AGV 20 and is positioned at the center in the left-right direction. Additionally, in this embodiment, the RF tag reader 92 is positioned forward of the center in the front-rear direction and to the left of the center in the left-right direction. The placement of the line sensor 88 and the RF tag reader 92 is merely an example and is not required to be limited.
[0062] Figure 6 It means Figure 1 The diagram shows an example of the electrical configuration of an AGV20. Figure 6 As shown, the AGV20 includes a CPU 70, which is connected via a bus to a RAM 72, a communication device 74, a wheel drive circuit 76, a hydraulic drive device 80, a proximity sensor 84, a load sensor 86, a line sensor 88, an inertial sensor 90, and an RF tag reader 92. Furthermore, the wheel drive circuit 76 is connected to the wheel motor 78. Additionally, the battery 94 is connected to all components of the AGV20.
[0063] CPU 70 and RAM 72 are as described above. Additionally, although not illustrated, the AGV 20 also includes HDD and ROM memory in addition to RAM 72. RAM 72 stores a mapping of the experimental or operational environment in which the AGV 20 operates, as well as data on its travel route.
[0064] Communication device 74 is a communication module for wireless communication with other devices (here, management server 16). For example, communication device 74 is a communication module that uses the same communication method (e.g., Wi-Fi or ZigBee (registered trademark)) as the second communication device 56 of management server 16.
[0065] The wheel drive circuit 76 generates a drive voltage for the wheel motor 78 under the instruction of the CPU 50 and applies the generated drive voltage to the drive circuit of the wheel motor 78. The wheel motor 78 is a motor used to rotate the wheels of the AGV 20. Although in Figure 6 Although the diagram is omitted, as described above, the wheel motor 78 consists of a left-side wheel motor 78L driving the left rear wheel 124L and a right-side wheel motor 78R driving the right rear wheel 124R. The wheel motors 78L and 78R are driven independently by the wheel drive circuit 76, enabling the AGV 20 to move in a straight line, turn left, turn right, accelerate, decelerate, and stop. Although the diagram is omitted, each wheel motor 78L and wheel motor 78R is equipped with an encoder, whose rotational speed is detected and communicated to the CPU 50. Furthermore, although the diagram is omitted, the left rear wheel 124L is directly connected to the rotational shaft of wheel motor 78L, and the right rear wheel 124R is directly connected to the rotational shaft of wheel motor 78R. Therefore, the CPU 50 can determine the rotational speeds of the rear wheels 124L and 124R by detecting the rotational speeds of wheel motors 78L and 78R.
[0066] The hydraulic drive unit 80 includes a drive circuit, which generates a drive voltage for the drive motor under the instruction of the CPU 50 and applies the generated drive voltage to the drive motor. The drive motor drives the hydraulic pump, causing the hydraulic cylinder 260 of the traction arm 26 to rise and fall.
[0067] As described above, the proximity sensor 84 in this embodiment is a transmissive or reflective optical sensor. As described above, the load sensor 86 in this embodiment is a general-purpose load sensor.
[0068] The line sensor 88 is a magnetic sensor consisting of multiple (eight in this embodiment) detection elements 88a, 88b, 88c, 88d, 88e, 88f, 88g, and 88h arranged in a horizontal row. It detects a moving line (also called a sensing line or guide) installed on the floor or attached to the floor within a factory or warehouse. In this embodiment, the detection elements 88a to 88h are Hall effect sensors, and the interval between adjacent detection elements 88a to 88h is set to a predetermined length. Furthermore, the line is made of magnetic tape and is positioned along a path that the AGV 20 can move (or travel) with a predetermined width. Therefore, as described later, the AGV 20 moves along the line.
[0069] The inertial sensor 90 is an accelerometer that detects the acceleration of the AGV 20. In this embodiment, the inertial sensor 90 is used to detect the number of rapid accelerations and decelerations of the AGV 20. Therefore, a single-axis accelerometer capable of detecting the forward and backward acceleration of the AGV 20 can be used as the accelerometer. By integrating the average value of the acceleration detected by the accelerometer over a first predetermined time period (2 seconds in this embodiment), the travel speed of the AGV 20 can be determined. However, the travel speed of the AGV 20 can also be calculated by the management server 16.
[0070] RF tag reader 92 reads the tag information of RFID tags placed (or affixed) on the ground within the warehouse. In this embodiment, the RFID tags are placed near the production line at the location of the AGV 20, which is intended to perform a predetermined action different from normal movement. The location where the predetermined action is intended is, for example, the location where a stop point is desired, the location where a turning action (left turn, right turn) is desired, or the location where the travel speed (acceleration, deceleration) is desired. However, the stop point is the stopping position of the AGV 20.
[0071] Therefore, the AGV20 reads the tag information of the RFID tag by the RFID tag reader 92, and exchanges the read tag information with the management server 16. The management server 16 knows the position (i.e., the current position) of each AGV20, sends driving instructions to each AGV20, and sends instructions for specified actions (stop, left turn, right turn, and speed change (i.e., acceleration and deceleration)) to each AGV20 at the specified position.
[0072] Furthermore, each AGV20 knows its own travel route and can also know the rotational speed of the wheel motor 78. Therefore, in areas where tag information has not been read, each AGV20 calculates the distance traveled based on the rotational speed of the wheel motor 78 since the tag information was read, and can determine its current position by referring to the mapped data.
[0073] Battery 94 is a rechargeable secondary battery; for example, a lithium-ion battery can be used. Battery 94 supplies power to the various circuit components of the AGV 20. Figure 6 In the diagram, dashed lines are used to represent wires to distinguish them from signal lines.
[0074] In this optimized system 10, the management server 16 specifies the driving route and controls the movement of the AGV 20 using pre-prepared driving parameters. The AGV 20 moves in the configured factory or warehouse, either without a load or by towing a trolley 200.
[0075] Let's take an example of configuring AGV20 and the location where AGV20 travels. Figure 7 .exist Figure 7 In this context, a waiting area is a location or area where one or more AGV20s wait without being transported. An unloading area is a location where goods are collected for delivery (or shipment) to other locations. Solid lines, arranged in a matrix, represent the locations where AGV20s are deployed and travel. As mentioned above, since AGV20s travel along these lines, the matrix-arranged solid lines can also be referred to as AGV20 travel routes. Furthermore, points A, B, C, D, E, F, G, H, I, J, K, and L on the lines are bends or intersections. Additionally, quadrilateral boxes with numbers in parentheses represent equipment or shelves located in places such as factories or warehouses.
[0076] If there is a request (hereinafter referred to as a "transfer request") to transport goods from the device or the managed shelves, the management server 16 controls the idle AGV 20 to transport the goods. The person managing the device or shelves issues a transfer request by specifying the transfer destination. However, the device can also issue a transfer request automatically. The person managing the shelves issues a transfer request using their own terminal (equivalent to computer 22). Alternatively, the administrator of the management server 16 may input the transfer request into the management server 16.
[0077] When a delivery request is received, the management server 16 determines the travel route of the AGV 20. (Detailed explanation omitted) The management server 16 selects the shortest route from a set of pre-set routes that will not affect the travel of other AGVs 20.
[0078] Management server 16 storage has Figure 7The location mapping data shown is used to select the shortest travel route between two locations (the current location of the AGV20, in this embodiment, a waiting location, a loading location, or a transport destination) from the current location of the AGV20 (a waiting location, a loading location, a transport destination, or a waiting location). However, the travel route can be predetermined based on the two locations.
[0079] In addition, the driving route determined by the management server 16 is information on the starting point and ending point of the driving route arranged in a time sequence, and multiple points (any two of points A to L) corresponding to the positions passed or changed in direction while moving along the driving route.
[0080] For example, when a delivery request specifying device (6) is issued from the manager of device (3) or shelf, the management server 16 determines the travel route from the waiting area to device (3) or shelf. As an example, the travel route is determined by arranging the identification information of the waiting area, point A, point B, point E, and device (3) in a time sequence. Then, the management server 16 sends a travel instruction including the determined travel route and the travel parameters from the waiting area to device (3) or shelf to the idle AGV 20. That is, in this embodiment, the travel instruction includes the identification information, travel route, and travel parameters for specifying AGV 20 (equivalent to "travel parameter specification information").
[0081] After the AGV 20 moves along the travel route from the waiting area to the device or shelf in (3), it loads goods. However, during the movement of the AGV 20, the management server 16 sends an action instruction to perform a prescribed action based on the current position of the AGV 20. The same applies below during the movement of the AGV 20. Furthermore, in this embodiment, "loading" means that the AGV 20 connects the trolley 200 carrying goods to the tow arm 26. The AGV 20 notifies the management server 16 that it is loaded with goods. However, the manager of the device or shelf may also notify the management server 16 that goods are loaded.
[0082] As described above, the AGV 20 stores data about the mapping of locations such as its own factory or warehouse in RAM 72. This mapping includes information such as the route, curve angles, intersection locations, waiting areas, and unloading areas. Therefore, when the AGV 20 receives a driving instruction from the management server 20, it travels along the route included in the driving instruction while referring to the mapping data stored in RAM 72. At this time, the drive of the wheel motors 78 is controlled based on the driving parameters included in the driving instruction.
[0083] However, during operation, the AGV20 sends (or notifies) its own driving status (AGV20's driving status) to the management server 16 at the first predetermined time interval. The management server 16 receives (or obtains) the AGV20's driving status and sends it to the database 18 each time or at certain intervals.
[0084] Therefore, the management server 16 can know the load of the goods (including the trolley 200) being transported by the AGV 20. In addition, the management server 16 can know the current position and speed of the AGV 20 at each first predetermined time.
[0085] Furthermore, when the management server 16 receives a notification that goods have been loaded, it determines the travel route from the device or shelf in (3) to the device or shelf in (6). As an example, the travel route is determined by identifying the location of the device or shelf in (3), point H, point I, and the location of the device or shelf in (6) in a time sequence. Then, the management server 16 sends a control signal containing the determined travel route and the travel parameters from the device or shelf in (3) to the AGV 20 that received the notification that goods have been loaded.
[0086] When the AGV 20 moves along the travel route from the device or shelf in (3) to the device or shelf in (6), the goods are unloaded at the location of the device or shelf in (6). In this embodiment, the AGV 20 disconnects the trolley 200 carrying the goods from the towing arm 26. The AGV 20 notifies the management server 16 of the unloading of the goods. However, the unloading of goods can also be notified to the management server 16 by the manager of the device or shelf.
[0087] When the management server 16 receives a notification that goods have been unloaded, it determines the travel route from the device or shelf in (6) to the waiting area. As an example, the travel route is determined by arranging the location of the device or shelf in (6), points L, K, J, G, D, and the identification information of the waiting area in a time sequence. Then, the management server 16 sends a travel instruction containing the determined travel route and the travel parameters from the device or shelf in (6) to the AGV 20 that received the notification that the goods have been unloaded.
[0088] Therefore, the AGV20 moves along the travel route from the device or shelf in (6) to the waiting area. That is, the AGV20 returns to the waiting area after the delivery of goods has been completed.
[0089] Furthermore, this is just one example; an AGV20 that has transported goods from one location to another can also transport goods from one location to another. Additionally, the destination of the goods can also be an unloading site.
[0090] Here, the trolley 200 of this embodiment will be described. Figure 8 As shown, the trolley 200 in this embodiment is a roller box trolley, also known as a roller box pallet or car trolley. The trolley 200 includes a base 202, and casters 204, which serve as casters, are respectively provided at the four corners of the lower surface of the base 202. In addition, a car 206 is provided on the upper surface of the base 202.
[0091] Figure 9 This is a diagram of the AGV20, viewed from the right side, which is connected to the trolley 200 in a traction-capable manner. Figure 10 This is a diagram of the AGV20, viewed from the rear side, connected to the trolley 200 in a traction-capable manner. Figure 9 and Figure 10 In the diagram, to represent the traction arm 26 and the connecting part 212, the base 202 is indicated by a dashed line, and they are shown in perspective. Furthermore, in... Figure 9 and Figure 10 In order to show the connection state between the traction arm 26 and the connecting part 212, the cross-section of the connecting part 212 is shown. Furthermore, in... Figure 9 and Figure 10 The upper part of the car 206 is omitted in the text.
[0092] like Figure 9 and Figure 10 As shown, a pair of connecting portions 212 for connecting the traction arm 26 are provided at the front end of the lower surface of the base 202 of the trolley 200. The connecting portions 212 are formed into a cylindrical shape with a quadrilateral cross-section and an open opening at the lower end. Therefore, as described above, when the traction arm 26 of the AGV 20 rises, its second part 26b enters the interior of the connecting portion 212 through the opening. Therefore, when the AGV 20 moves, the traction arm 26 engages with the connecting portion 212, and the trolley 200 moves in tandem with the AGV 20. Furthermore, since the connecting portion 212 is formed into a cylindrical shape, the traction arm 26 will not disengage from the connecting portion 212 even when the trolley 200 is serpentine.
[0093] As described above, AGV 20 moves along the line. When the trolley 200 towed by AGV 20 is loaded with goods, the mass is sometimes greater than that of AGV 20. As an example, the mass of the trolley 200 loaded with goods is sometimes about 2 to 4 times the mass of AGV 20. In this case, trolley 200 has a large inertial force corresponding to its mass, and the straight-line stability of trolley 200 becomes lower. During abrupt changes in the direction of travel, AGV 20 may sometimes deviate from the intended direction of travel due to the inertial force of trolley 200. In such cases, once serpentine movement begins, the swaying width gradually increases, the serpentine movement does not converge, and AGV 20, which has a smaller mass compared to trolley 200, cannot control the movement of trolley 200. In extreme cases, AGV 20 may sometimes completely deviate from the travel path.
[0094] Furthermore, considering operability such as stationary rotation (i.e., spin turn) in confined spaces, the trolley 200 has casters 204 with all wheels being freewheels. Therefore, as mentioned above, its straight-line stability is low.
[0095] Therefore, in the AGV20 of this embodiment, during automatic driving, a known feedback control method based on PID control is used to correct the positional deviation of the AGV20 relative to the line, and the rotational direction and speed of the left and right drive wheels, i.e. the rear wheels 124L and 124R, are calculated.
[0096] The positional offset of the AGV 20 relative to the line is detected based on the output of the line sensor 88. As described above, the line sensor 88 is configured by arranging the detection elements 88a to 88h in a horizontal row. However, the direction perpendicular to the traveling direction of the AGV 20 is the direction in which the detection elements 88a to 88h are arranged (i.e., the lateral (left-right) direction).
[0097] Figure 11 This is a diagram used to illustrate the positional offset of the AGV20 relative to the line. Figure 11 In the upper right corner, the arrangement of the detection elements 88a to 88h in the line sensor 88 is shown. Furthermore, in... Figure 11 In the example shown, AGV20 is omitted, and only line sensor 88 is represented. Furthermore, in Figure 11 In the example shown, Figure 11 Above is the AGV20's direction of travel, which will be referred to as the left and right directions in the following description, based on this direction of travel. Furthermore, in Figure 11 In the example shown, the detection elements 88a-88f in the detected rows are marked with "1", and the detection elements 88a-88f in the undetected rows are marked with "0". Furthermore, in Figure 11 In the middle, rows are represented by gray.
[0098] When the center of the horizontal width of the line coincides with the center of the horizontal width of the line sensor 88, the position of the center of the horizontal width of the AGV20 (hereinafter referred to as the "center position") coincides with the position of the center of the horizontal width of the line (hereinafter referred to as the "reference position"). In this case, the AGV20 travels straight along the line. Furthermore, at this time, the offset between the center position and the reference position is 0, such as... Figure 11 As shown, detection elements 88c to 88f detect the line, but detection elements 88a, 88b, 88g, and 88h do not detect the line.
[0099] When the offset to the left is 1, detection elements 88d to 88g detect the line, but detection elements 88a to 88c and 88h do not detect the line. When the offset to the right is 1, detection elements 88b to 88e detect the line, but detection elements 88a and 88f to 88h do not detect the line.
[0100] Although the explanation is omitted, the cases with offsets of 2 to 6 in the left and right directions are illustrated.
[0101] In addition, Figure 11 The text indicates that the AGV20 is offset horizontally relative to the line. However, as mentioned above, due to the AGV20's serpentine movement, the actual direction of travel of the AGV20 is tilted to the left or right relative to the line. Correspondingly, the line sensor 88 is also tilted, and the detection elements 88a to 88h of the detection line change.
[0102] Furthermore, in this embodiment, PID control is used as the feedback control method, but in other embodiments, PI control, P control, on / off control, and PD control may also be used.
[0103] Here, PID control refers to a control method that combines the proportional (P), integral (I), and derivative (D) components of the output relative to a target value in appropriate proportions and provides feedback. In this embodiment, the ratios of the feedback quantities of the proportional, integral, and derivative components of the deviation are appropriately selected to ensure that the AGV20 travels along the line.
[0104] However, when the steering parameters of the PID-based steering control are inappropriate, the AGV 200 swerves excessively. In such cases, even with PID control, the AGV 20 may deviate from the line. Furthermore, when the acceleration parameters of the PID-based acceleration control are inappropriate, it may sometimes accelerate or decelerate abruptly in the direction of travel.
[0105] Therefore, in this embodiment, appropriate driving parameters corresponding to the driving state of AGV20 are calculated, and the movement of AGV20 is controlled by using these driving parameters, thereby preventing the trolley 200 from swerving, accelerating or decelerating sharply. Through PID control, AGV20 can move reliably and smoothly along the line.
[0106] Next, each step of using the AGV20's driving parameters, optimizing the driving parameters, and controlling the AGV20's driving with the optimized driving parameters will be explained.
[0107] Figure 12 This is a table showing an example of the driving parameters of an AGV20. For example... Figure 12 As shown, the driving parameters consist of a group of various parameters (hereinafter, sometimes referred to as "individual parameters") used for different controls of the AGV20's movement, with minimum, maximum, and representative values recorded corresponding to each individual parameter. However, Figure 12 The individual parameters shown are part of the driving parameters, and several other individual parameters are also set. Figure 12 The individual parameters shown can be broadly categorized into PID driving control parameters, which are used for feedback control of the AGV20's movement via PID control, and other basic driving parameters.
[0108] The PID driving parameters include individual parameters for P-gain adjustment (steering P-value), I-gain adjustment (steering I-value), and D-gain adjustment (steering D-value) as PID driving control parameters relating to track offset, and individual parameters for P-gain adjustment (speed P-value), I-gain adjustment (speed I-value), and D-gain adjustment (speed D-value) as PID driving control parameters relating to motor speed. These individual parameters are also set for each driving speed. In this embodiment, the minimum travel speed (partial speed) is 5 m / min, and the maximum is 100 m / min, with each travel speed set to a 5 m / min scale. That is, these parameters are set in groups corresponding to different weight categories.
[0109] Here, the individual parameters for the P gain adjustment, I gain adjustment, and D gain adjustment of the track offset are steering control parameters. These steering control parameters are used to control the left and right travel directions of the AGV20, so as to control the difference in the rotational speed of the left and right wheels by making the track offset close to 0, thereby allowing the AGV20 to travel along the line.
[0110] In addition, the individual parameters for adjusting the P gain, I gain, and D gain of the motor speed are speed control parameters. These speed control parameters are used to control the average speed of the left and right wheels so that the motor speed (i.e., the speed of AGV20) is close to the target value, and to control the left and right travel direction of AGV20 so that AGV20 travels at the target speed.
[0111] That is, the rotational speed of the left and right wheels of the AGV20 is calculated by subtracting and adding the difference between the rotational speeds of the left and right wheels calculated by the PID control of the driving parameters of the motor speed and the difference between the rotational speeds of the left and right wheels calculated by the PID control of the driving parameters of the track offset, respectively, relative to the approximate value of the rotational speed of the left and right wheels calculated by the PID control of the driving parameters of the track offset.
[0112] The parameters for adjusting the P-gain, I-gain, and D-gain of the track offset are used to adjust the offset of the central position relative to the reference position. Larger values for P-gain and D-gain result in a stronger correction force for the track offset, while smaller values for I-gain result in a stronger correction force. Using these individual parameters, the difference in speed between the left and right wheel motors 78L and 78R is controlled to bring the track offset close to zero. This controls the steering of the AGV20, ensuring it travels along the line. Through this control, the lateral sway caused by the AGV20's repeated serpentine maneuvers is reduced, allowing the AGV20 to travel smoothly.
[0113] The parameters for adjusting the motor speed using P-gain (speed P value), I-gain (speed I value), and D-gain (speed D value) are used to adjust the average speed of the left and right wheel motors 78L and 78R, i.e., the deviation of the AGV20's speed from the target value. Larger values for P-gain and D-gain adjustments result in a stronger correction force for the deviation from the target speed value, while smaller values for I-gain adjustments also result in a stronger correction force. These individual parameters are used to control the average speed of the left and right wheel motors 78L and 78R, i.e., the speed of the AGV20. Through this control, the longitudinal sway of the AGV20 caused by acceleration and deceleration is reduced, allowing the AGV20 to travel smoothly.
[0114] Furthermore, as described later, the individual parameters for track offset, motor speed, P gain adjustment, I gain adjustment, and D gain adjustment are set to reduce the evaluation values (sway amplitude values) related to the serpentine movement alternating between left and right directions of the AGV20, and the evaluation values (forward and backward sway values) related to the magnitude of the forward and backward swaying during repeated acceleration and deceleration in the forward and backward directions. The reason for this is that if the individual parameters for P gain adjustment, I gain adjustment, and D gain adjustment are inappropriate, serpentine movement or forward and backward swaying will be amplified during the establishment of the AGV20's movement, ultimately leading to obstacles in its operation.
[0115] In addition, as basic driving parameters, there are also individual parameters for AGV travel speed, acceleration, deceleration, spin speed, spin acceleration, stopping distance upon derailment, and stopping deceleration based on obstacle detection. These parameters are further set for each weight. In this embodiment, the minimum load is 0 kg (no load), the maximum load is 200 kg, and each weight is set in 10 kg increments. That is, these parameters are set in groups corresponding to different weight categories.
[0116] The AGV travel speed parameter is a specific parameter related to the target travel speed (m / min) of AGV20, which controls the average speed of the left and right wheel motors 78L and 78R.
[0117] The acceleration parameter is a specific parameter concerning the acceleration (mm / sec2) of the AGV20 until it reaches the target speed. This specific parameter controls the average rotational speed of the left and right wheel motors 78L and 78R.
[0118] The deceleration parameter is a specific parameter concerning the deceleration (mm / sec2) of the AGV20 until it reaches the target speed. This specific parameter controls the average speed of the left and right wheel motors 78L and 78R.
[0119] The spin speed parameter is a specific parameter relating to the angular velocity (deg. / sec) of the AGV20 when it performs a spin (i.e., a left turn or a right turn). Based on this specific parameter, the rotational speed of the left and right wheel motors 78L and 78R is controlled.
[0120] The spin acceleration parameter is an individual parameter about the acceleration (deg. / sec2) when the AGV20 starts to spin. The rotation speed of the left and right wheel motors 78L and 78R is controlled according to the individual parameter.
[0121] The relationship between basic driving control parameters and PID driving control parameters is described below. When attempting to calculate the rotational speeds of the left and right wheel motors 78L and 78R using only basic driving control parameters, it is impossible to drive smoothly along the line without serpentine movement or at a speed without sudden acceleration or deceleration. Therefore, by using PID driving control parameters to perform feedback control of the rotational speeds of the left and right wheel motors 78L and 78R based on PID control, it is possible to drive smoothly along the line without serpentine movement and at a speed without sudden acceleration or deceleration.
[0122] Next, the optimization of driving parameters will be explained. However, the purpose of optimizing driving parameters is to set driving parameters suitable for the factory or warehouse where the AGV20 is configured and used.
[0123] Optimization processing of the driving parameters is performed according to each driving parameter assigned to the driving state of the AGV20. As mentioned above, the driving state of the AGV20 is equivalent to the load of the goods being transported, the driving speed of the AGV20, the current position of the AGV20, the forward and backward swing value, the amplitude value, the driving route, and the implementation date and time.
[0124] The following explanation focuses on the load of goods transported by the AGV20 and describes the optimization of driving parameters. However, in the actual optimization process, other driving states are also considered, namely the AGV20's driving speed, current position, and driving route.
[0125] When optimizing driving parameters, the AGV20 is driven multiple times along a prescribed route using driving parameters allocated based on its driving status. The values of its forward and backward sway (longitudinal sway) (hereinafter referred to as "forward and backward sway value") and its left and right sway (lateral sway) width (hereinafter referred to as "sway width value") are measured as evaluation values to optimize the driving parameters in a way that maximizes the evaluation value. However, when optimizing a single parameter, all other individual parameters are set to fixed values. For example, when optimizing the P-gain adjustment of the track offset, all other individual parameters are set to fixed values. The same applies to optimizing other individual parameters.
[0126] Here, the back-and-forth sway value signifies the number (or degree) of times (or the extent) the AGV20 accelerates or decelerates sharply during operation. As described above, sharp acceleration or deceleration is determined based on the output of the inertial sensor (accelerometer) 90. Furthermore, the number of sharp accelerations or decelerations is counted every second predetermined time interval (e.g., 10 msec).
[0127] In addition, the sway amplitude value is the amount (degree) of deviation (offset) of the AGV20's center position from the reference position of the line during operation. The offset amount is as follows: Figure 11 As explained, in this embodiment, the average (or maximum) value of the offset detected at second predetermined intervals during driving is taken as the swing amplitude value. However, if the offset exceeds 6, it cannot be detected by the line sensor 88, so in this case, the offset is set to 6.
[0128] Furthermore, as an example of a method to optimize driving parameters based on experimental results data from the laboratory, there is a method that applies the accumulated experimental results to a known Bayesian estimation method. Given initial values for the driving parameters based on the experimental results data, optimization processing (hereinafter referred to as "optimization processing") is performed until the AGV20 is shipped from the factory.
[0129] Furthermore, in other embodiments, the driving parameters of a similar AGV already in use in a factory or warehouse can be set to initial values. However, these driving parameters are those corresponding to the load of the goods being transported by the AGV20.
[0130] Here, the method of using Bayesian estimation to optimize experimental result data is explained. The experimental result data, which is the object of optimization, is input, and the optimization conditions are set. The optimization conditions are the output definition and the objective function. In this embodiment, the output definition is the load range (e.g., 0–50, 50–100, 100–150, 150–200 kg), and the objective function is the sum of the forward and backward sway values and amplitudes. Therefore, when the experimental result data is optimized, for each driving state (in this case, the load range), the driving parameter that minimizes the expected value of the sum of the forward and backward sway values and amplitudes specified by the objective function is calculated as the driving parameter.
[0131] [Determining Initial Values] First, determine the initial values for the driving parameters. The initial values for the driving parameters refer to the provisional driving parameters set before optimization. Regarding the initial values for the driving parameters, any value can be entered as long as the AGV20 is operating normally. However, it is preferable to enter values that are as similar as possible to reduce the number of experiments required to optimize the driving parameters. As an example, the initial values for the driving parameters can be set by substituting previously optimized driving parameters into the experimental data (hereinafter referred to as "experimental result data") obtained in an experimental environment (laboratory) based on prior driving tests of the AGV20.
[0132] At this point, the load of the goods transported by AGV20 is set as the load in the experimental plan. As an example, database 18 can also record optimized driving parameters, driving routes, AGV configurations, and other experimental conditions based on experimental results data. The initial values of the driving parameters are set by substituting previously optimized driving parameters with experimental conditions such as driving routes and AGV configurations that are close to these parameters. The rationale is that previously optimized driving parameters with similar experimental conditions are considered to be as similar as possible to a certain extent.
[0133] [Experimental Plan Development] Next, the optimization server 12 generates an experimental plan based on the initial values of the driving parameters and pre-set experimental plan creation conditions. The experimental plan creation conditions mentioned here, as an example, include the number of experiments used to optimize a single driving parameter. Furthermore, groups of values for multiple driving parameters are set for each load range.
[0134] In this embodiment, the driving parameters are optimized through experimental driving that repeatedly performs a set number of experiments for each load range and each individual parameter. Furthermore, although this is omitted in this embodiment, multiple load ranges and multiple individual parameters can also be optimized simultaneously.
[0135] The optimization server 12 selects a load range and an individual parameter to perform optimization. Then, it sets the value of one individual parameter selected from a group of multiple driving parameters corresponding to the selected load range as a variable value, and sets the other individual parameters as fixed values.
[0136] Then, an experimental plan is created for conducting experimental runs to obtain a sample of evaluation values for a set number of trials, with one selected individual parameter as the variable. Additionally, other individual parameters are substituted as fixed values into the initial values.
[0137] In the very first experimental run of multiple trials, initial values were set as the variable values of a selected individual parameter. In subsequent experimental runs, the Design of Experiments method of Beysian Optimization was used to set the variable values of the selected individual parameter.
[0138] As an example, driving parameters for the next experiment can be estimated by applying experimental results to the well-known Gaussian Process Regression (GPR) method. For instance, with the steering P-value chosen as the variable, the steering P-value is used as the explanatory variable, and the sum of the fore-and-aft yaw values and amplitude values is used as the target variable. A regression model is constructed between the explanatory and target variables using a Gaussian process regression. Then, the acquisition function is calculated based on the regression model, and the driving parameters for the next experiment are calculated based on the acquisition function.
[0139] The variable values of an individual parameter selected for use in the next experiment are set. In other words, it is equivalent to setting a properly configured sample based on the existing sample as the next sample in order to improve the target variable.
[0140] The yield function is a metric used to evaluate the suitability of sample candidates. Specifically, it can employ metrics such as Probability of Improvement (PI), Expected Improvement (EI), or Mutual Information (MI). As an example, Probability of Improvement (PI) evaluates the suitability of sample candidates based on the likelihood that they improve the regression model.
[0141] That is, in the first drive, the optimization server 12 sets initial values as the driving parameters selected as variables. Furthermore, the optimization server 12 uses the driving parameters used in each of the first to Nth (N is an integer greater than or equal to 1) drives as explanatory variables, and the evaluation values of each of the first to Nth drives as target variables. It constructs a regression model through Gaussian process regression, calculates the obtained function based on the constructed regression model, and determines (estimates) the driving parameters for the (N+1)th drive, i.e., the driving parameters used in the next experiment, based on the obtained function.
[0142] Thus, as an experimental driving plan, the plan involves multiple (number of experiments) driving runs in which the driving parameters are varied in each run. Specifically, the experimental driving plan refers to the planning of the driving parameters as follows: the inherent parameters selected as variable values from among multiple inherent parameters are set to values determined by the Design of Experiments method using Beysian Optimization in each run of multiple experiments, while the other inherent parameters are set to fixed values.
[0143] As described above, initial values for the driving parameters are set at the beginning of the experiment. From the second time onwards, as described later, the driving parameters are automatically set using an experimental planning method based on the experimental results data. Thus, as an experimental driving plan, multiple (number of experiments) driving cycles are planned, each cycle involving changes in the driving parameters.
[0144] [Implementation of the experimental driving] The optimization server 12 sends the range of load values for the experimental driving plan and the driving parameters for each driving in multiple experimental driving sessions to the management server 16.
[0145] The management server 16 obtains the driving status from the AGVs 20 and observes the load and driving status (or usage status) of the goods transported by each AGV 20. Then, it designates the AGVs 20 that are not in use (no driving command is executed), i.e., in a waiting state, and that are transporting goods within the range of the load values in the experimental driving plan, as the AGVs 20 for experimental driving. Then, the management server 16 sends a movement command specifying the movement route for the experimental driving plan and a control signal specifying the movement parameters for the driving movement route to the designated AGVs 20.
[0146] The AGV20 travels along a designated route in a factory or warehouse using specified driving parameters according to control signals. As experimental results, the forward and backward sway values and amplitude values are detected. Every second specified time interval (e.g., 10 ms), which is shorter than the first specified time interval, the forward and backward sway values and sway amplitude values are detected and measured. However, the experimental results are sent to the management server 16 every first specified time interval.
[0147] As described above, experimental result data is obtained by performing only the set number of experiments (i.e., repeating the experiment). Furthermore, the experimental result data is collected from the management server 16 and stored in the database 18 at appropriate time intervals from the start of the experiment to the execution of optimization processing.
[0148] [Calculation of optimal parameters] Furthermore, the optimization server 12 optimizes driving parameters by applying the experimental results to Bayesian estimation and stores the optimized driving parameters (or individual parameters of the object). Specifically, after conducting M experimental drives, the optimization server 12 sets the driving parameters used in each drive from the first to the Mth (M is an integer greater than 2) as explanatory variables, and uses the evaluation values of each drive from the first to the Mth as the target variable. A regression model is constructed using Gaussian process regression. Based on the constructed regression model, the driving parameters whose expected value of the target variable is closest to the set value are calculated as the optimized driving parameters. That is, the optimization server 12 calculates the evaluation value based on the experimental results stored in the database 18 from the management server 16, and calculates the optimized driving parameters based on the calculated evaluation value. The set value is set as the value of the preferred state for the driving of the AGV 20. For example, when the target variable (evaluation value) is set as the sum of the forward and backward sway value and the amplitude value, the smaller the target variable (evaluation value), the more preferred the state for the driving of the AGV 20. In this case, the setpoint is set to 0, and the driving parameter with the minimum objective variable (evaluation value) is calculated as the optimized driving parameter. Furthermore, as another example, in a state where a larger objective variable (evaluation value) is more optimal for AGV20 driving, a setpoint sufficiently large as infinity is set, and the objective variable (evaluation value) is calculated as the maximum driving parameter, i.e., the optimized driving parameter. The expected value of the explanatory variable, which is either the maximum or minimum of the objective variable, is used as the optimized driving parameter because the magnitudes of the evaluation values are opposite in the evaluation method. However, experimental driving is conducted for various loads, and the experimental results for each load are stored in database 18. Therefore, for each load range, the driving parameter is optimized by calculating the driving parameter whose expected value of the objective function is closest to the setpoint.
[0149] Furthermore, as described above, the optimization of driving parameters is performed through repeated experimental driving for each individual parameter and each load range, with a predetermined number of test runs. For each individual parameter, after calculating the optimal parameter for a given load range, for another individual parameter, the optimization server 12 changes the selection of the load range or individual parameter being optimized, repeatedly executing the process from the creation of the experimental plan to the calculation of the optimal parameter, so that the optimal parameter is calculated for each load range. In this way, the optimal parameters are finally calculated for all individual parameters and for all load ranges.
[0150] [Driving control of the AGV20 using optimized parameters] Next, the driving control of the AGV 20 will be described. Here, the driving control of the AGV 20 in a factory or warehouse, where optimized parameters are used to actually transport goods, will be explained. In this embodiment, the driving of the AGV 20 in the operating environment is controlled using driving parameters that have undergone optimization. In addition, as mentioned above, a transport request can also be input by the administrator of the management server 16. Therefore, when the AGV 20 is driving in the operating environment, at least the automated driving system 10a, in which the management server 16 and the AGV 20 are connected in a communicative manner, is applied to that operating environment.
[0151] Figure 13 Examples of routes for transporting goods from device (2) to device (3), whereby, based on a transport request from device (2), a designated AGV20 moves from a waiting location to a loading location, transports goods from the loading location to a transport destination, and returns from the transport destination to the waiting location.
[0152] In addition, Figure 13 In this example, the load is recorded on the AGV20 to indicate the status of the AGV20 traction trolley 200. Furthermore, in... Figure 13 Although the text only records the method of passing through even turning points, it actually includes... Figure 7 The points for left or right turns, as shown in the diagram.
[0153] Therefore, in Figure 13 The example of the driving route shown also refers to... Figure 7 As can be seen, based on the control signal from the management server 16, the designated AGV 20 first travels in a straight line from the waiting area, passing through points A and B, turning left at point C, and then traveling in a straight line to the location of the device (2) configured as the loading area. Next, the AGV 20 loads the goods (i.e., connects to the trolley 200 in a towing manner), travels in a straight line from the loading area toward point F, turns left at point F, travels in a straight line to point E, turns right at point E, and travels in a straight line from point E to the location of the device (3) configured as the transport destination. Moreover, the AGV 20 disconnects the trolley 200 at the transport destination, travels in a straight line from the transport destination toward point H, turns left at point H, travels in a straight line to point G, turns left at point G, travels in a straight line from point G through point D, and returns to the waiting area.
[0154] In this scenario, when traveling from the waiting area to the loading area and from the delivery destination to the waiting area (collectively referred to as "Scenario 1"), the AGV 20 does not tow the trolley 200 or the goods. However, when traveling from the loading area to the delivery destination (referred to as "Scenario 2"), the AGV 20 tows the trolley 200 and the goods. Therefore, at least the loads differ between Scenario 1 and Scenario 2.
[0155] Furthermore, on longer driving routes with many straight sections, even high speeds are safe. Therefore, it is considered to accelerate significantly at the beginning of the journey, move at a relatively high speed, and gradually decelerate as one passes the middle of the driving route. On the other hand, on shorter driving routes with many curves, high speeds can easily lead to serpentine driving, which is dangerous. Therefore, it is considered to accelerate less than when driving straight at the beginning, move at a lower speed than when driving straight, and decelerate at the rear of the driving route.
[0156] Thus, the AGV20's driving control differs for each route based on the load and driving speed, resulting in different driving parameters. Therefore, in this embodiment, driving parameters corresponding to the load and driving speed are used to control the AGV20's movement for each route.
[0157] In this embodiment, when the AGV20 is in motion, the management server 16 determines the AGV20's travel route and displays a table of travel parameters corresponding to the determined travel route (see reference). Figure 14 The data is sent to AGV20. Hereinafter, the table of driving parameters (equivalent to the driving parameter specification information) will be referred to as the "driving parameter table".
[0158] Figure 14 This is a diagram representing an example of an optimization parameter table. For example... Figure 14 As shown, the optimized parameter table is a table generated using driving parameters that have undergone optimization processing, and the driving parameter table is recorded in correspondence with the ID of the driving route.
[0159] The route ID is identification information assigned to the route, for example, in Figure 7 In the mapping shown, in the case of multiple (for example, 20) driving routes, the optimization parameter table records the IDs of 20 driving routes.
[0160] The driving parameter table is a table that records identification information of driving parameters determined by the load partitioning of goods transported by the AGV20 and the driving speed partitioning of the AGV20. These driving parameters are determined by the aforementioned optimization process. However, the driving parameters include... Figure 12 The individual parameters shown.
[0161] Figure 15 This is a diagram showing an example of a driving parameter table A. Driving parameter table A records groups of driving parameter values corresponding to load zones and driving speed zones. However, in... Figure 15 The text only indicates the identification information for the driving parameters (in this case, letters and numbers). This means that each driving parameter is different. Figure 15In the example shown, the load is divided into four zones, specifically 0–50 kg, 50–100 kg, 100–150 kg, and 150–200 kg.
[0162] However, in the load category, the values recorded to the right of the numerical range are not included in that category. Therefore, in the case of 0–50 kg, it means more than 0 kg but less than 50 kg. The same applies to the driving speed category, which will be discussed later.
[0163] In addition, the travel speed is divided into four zones: 0–5 m / min, 5–10 m / min, 10–15 m / min, and 15–20 m / min.
[0164] in addition, Figure 14 The optimization parameter table shown and Figure 15 The driving parameter table shown is an example and should not be considered definitive. Driving routes can be appropriately varied depending on the usage environment, and load differentiation and / or speed differentiation can be further subdivided. Furthermore, load zoning and / or speed zoning can be combined depending on the usage environment.
[0165] When the AGV20 receives a driving instruction including a driving route and a driving parameter table from the management server 16, it drives according to the driving route. In this embodiment, the driving instruction refers to a loading instruction for driving from the waiting area to the loading area, a transport instruction for driving from the loading area to the transport destination, or a return instruction for driving from the transport destination to the waiting area.
[0166] In addition, while traveling along the route, the AGV20 performs prescribed actions according to instructions from the management server 16 (in this embodiment, these actions include stopping, turning left, turning right, and changing speed).
[0167] The AGV 20 controls its movement using movement parameters determined by load partitioning and movement speed partitioning from the movement parameter table received from the management server 16. However, the AGV 20 determines the movement parameters used based on load partitioning, which includes the load detected from the output of the load sensor 86, and movement speed partitioning, which includes the movement speed indicated by the management server 16. That is, the movement parameters are determined based on the load and / or movement speed in the movement state.
[0168] For example, when the driving speed changes and the driving speed partitions in the driving parameter table change, the driving parameters used are changed to driving parameters determined by the load partitions and the changed driving speed partitions.
[0169] Furthermore, while driving, it is difficult to consider load changes. However, when the load changes and the load distinction in the driving parameter table changes, the driving parameters are changed to be determined by the load distinction and driving speed distinction of the driving parameters used.
[0170] Furthermore, in this embodiment, when the AGV20 is transporting goods in places such as factories or warehouses, the driving status of the AGV20 is also detected, so it is stored in the database 18, and the driving parameters are optimized periodically (for example, once a month), so that more appropriate driving parameters can be generated and set in the AGV20's usage environment.
[0171] In this case, the optimization server 12 uses the driving parameters recorded in the optimization parameter table and the driving status from the previous optimization to the current optimization, and optimizes each driving parameter recorded in the driving parameter table using the Bayesian estimation method. Therefore, more appropriate driving parameters are set according to the changing usage environment over time.
[0172] In addition, of course, no experimental plan is required in this optimization process, so no experimental plan or driving test is conducted.
[0173] In addition, the identification information of the driving parameter table can be recorded in the optimized parameter table, and the driving parameter table represented by the identification information corresponding to the driving route can be sent to the AGV20.
[0174] Figure 16 It means Figure 2 The diagram shows an example of a memory mapping 500 for RAM 32 contained in the optimized server 12. Figure 16 As shown, RAM32 includes a program storage area 502 and a data storage area 504.
[0175] The program storage area 502 stores the program (information processing program) executed by the CPU 30 of the optimization server 12. The information processing program includes a communication program 502a, an initial value determination program 502b, a result collection program 502c, an estimation program 502d, and an optimization program 502e, etc.
[0176] Communication program 502a is a program used to communicate with other devices such as database 18 or a computer using communication device 34. Initial value determination program 502b is a program used to determine the initial values of driving parameters when performing optimization processing.
[0177] The results collection program 502c is a program used to collect experimental results (experimental result data) from the database 18. However, experimental results can also be collected from the management server 16.
[0178] The estimation procedure 502d is a program used to estimate the information for the next experiment, i.e., the driving parameters to be tested, based on experimental results through Gaussian process regression (machine learning).
[0179] Optimization procedure 502e is a procedure for optimizing the driving parameters of an object based on experimental results. Furthermore, optimization procedure 502e is also a procedure for optimizing the driving parameters described in the driving parameter table of the optimized driving parameter table. As described above, the optimization process is performed by applying the experimental results to a Bayesian estimation method.
[0180] In addition, other programs required for executing the information processing program are also stored in the program storage area 502.
[0181] Initial data 504a, experimental result data 504b, estimated data 504c, and optimized data 504d are stored in data storage area 504.
[0182] Initial data 504a contains data regarding the initial values of the driving parameters. Experimental result data 504b contains data regarding the experimental results. Estimated data 504c contains data regarding the driving parameters estimated based on the experimental results. Optimized data 504d contains data regarding the optimized driving parameters.
[0183] Additionally, other data required for executing the information processing program is stored in the data storage area 504, or timers (counters) and flags required for executing the information processing program are set.
[0184] Figure 17 It means Figure 3 The diagram shows an example of a memory mapping 600 for RAM 52 contained in the management server 16. (See diagram for example.) Figure 17 As shown, RAM52 includes a program storage area 602 and a data storage area 604.
[0185] The program storage area 602 stores the program (management program) executed by the CPU 50 of the management server 16. The management program includes a communication program 602a, an acceptance program 602b, an AGV status management program 602c, an AGV selection program 602d, a route determination program 602e, a parameter selection program 602f, and an AGV control program 602g, etc.
[0186] Communication program 602a is used to communicate with other devices such as AGV 20 or a computer using the first communication device 54. However, communication is sometimes also conducted via an access point. Furthermore, communication program 602a is also used to notify other devices or computers such as database 18 using the second communication device 56.
[0187] Acceptance procedure 602b is a procedure for accepting transport requests. AGV status management procedure 602c is a procedure for managing the driving status of each of one or more AGVs 20 used in transport operations, which are configured in a factory or warehouse or similar location. Specifically, it receives the driving status of each AGV 20 sent from each AGV 20 at predetermined intervals, stores it in RAM 52, and stores (registers) it in database 18.
[0188] The AGV status management program 602c is a program used to obtain the driving status of each AGV20 sent from each AGV20 and store it in the database 18.
[0189] AGV Selection Program 602d is a program used to select the AGV20 to be used in the transportation of goods based on the usage status of each AGV20.
[0190] The route determination procedure 602e is a procedure for determining the route of an AGV 20 from a waiting location to a loading location, the route of an AGV 20 from a loading location to a transport destination, and the route of an AGV 20 from a transport destination to a waiting location.
[0191] The parameter selection program 602f is a program used to select the driving parameter table corresponding to the driving route when controlling the driving of AGV20.
[0192] The AGV control program 602g is used to specify the controlled object AGV 20 and send driving instructions and action instructions containing a determined driving route and a selected driving parameter table to the AGV 20. However, as mentioned above, in the experiment, the driving route is specified (determined) by the optimization server 12, and the driving parameters set by the optimization server 12 are included in the driving instructions instead of the driving parameter table.
[0193] In addition, the program storage area 602 also stores other programs required for executing the management program. For example, programs for temporarily stopping the object AGV20 are also stored if another AGV20 stops in front of the moving AGV20 (referred to as "object AGV20" for ease of explanation).
[0194] The request data 604a, status data 604b, selected AGV data 604c, and optimization parameter table data 604d are stored in the data storage area 604.
[0195] Request data 604a is data about a delivery request from a computer 22 configured in a factory or warehouse. However, in the case of delivery requests from multiple computers 22 simultaneously or synchronously, request data 604a is data about multiple delivery requests.
[0196] Status data 604b is data on the driving status of each AGV20. AGV selection data 604c is data on the identification information of the AGV20 selected based on the transport request.
[0197] Optimize parameter table data 604d as follows Figure 14 The data in the optimization parameter table shown is used to retrieve the optimization parameter table data 604e from database 18 before controlling the movement of AGV20.
[0198] Additionally, the data storage area 604 stores other data required by the execution management program, or sets timers (counters) and flags required by the execution management program.
[0199] Figure 18 It means in Figure 2 The flowchart illustrates an example of information processing performed by the CPU 30 built into the optimization server 12, specifically a flowchart of parameter optimization processing. Figure 18 As shown, after the CPU30 begins parameter optimization processing, in step S1, the initial values of the driving parameters are determined. The method for determining the initial values of the driving parameters is as described above.
[0200] In the next step S3, the execution of the experiment is instructed (experiment instruction). Here, CPU 30 uses communication device 34 to send an experiment instruction containing the load value and driving parameters for the experiment to management server 16. However, at the start of parameter optimization processing, the experiment instruction contains initial values for the driving parameters. After the second time, the experiment instruction contains driving parameters estimated through machine learning. Accordingly, in management server 16, CPU 70 determines the AGV 20 with the load value contained in the traction experiment instruction as the AGV 20 to be used, and sets the driving parameters contained in the experiment instruction in the determined AGV 20.
[0201] In the next step S5, the load value is obtained. That is, at the start of the experiment, the CPU 30 obtains the load value of the goods transported by the AGV 20 used in the experiment from the management server 16. Next, in step S7, the experimental results are collected from the management server 16, and in step S9, it is determined whether the planned number of experiments has been reached. That is, in step S9, the CPU 30 determines whether the experiment has been completed.
[0202] If the result in step S9 is "No," meaning the planned number of experiments has not been achieved, then in step S11, the driving parameters for the next experiment are estimated through machine learning based on the experimental results. Conversely, if the result in step S9 is "Yes," meaning the planned number of experiments has been achieved, then in step S13, the driving parameters are optimized based on the experimental results. Then, in step S15, the optimized driving parameters are stored in database 18 (login or update), ending the parameter optimization process.
[0203] Figures 19-21 It means that it is built into Figure 3 The flowchart shows an example of AGV control processing performed by the CPU 50 in the management server 16. However, this AGV control processing is the process of controlling the actual transport of goods by the AGV 20 in a factory or other location using optimized parameters.
[0204] like Figure 19 As shown, after the CPU 50 of the management server 16 starts AGV control processing, in step S51, it determines whether the driving status of AGV 20 has been received.
[0205] If the result in step S51 is "No," meaning no driving status of AGV20 is received, then proceed to step S57. Conversely, if the result in step S51 is "Yes," meaning a driving status of AGV20 is received, then in step S53 the received driving status of AGV20 is stored (updated), and in step S55 the received driving status of AGV20 is stored in database 18, then proceed to step S57. In step S53, status data 604b is updated, and in step S55, the history of the status data stored in database 18 is updated.
[0206] In step S57, it is determined whether there is a delivery request from any of the computers 22. If the result in step S57 is "No", that is, if there is no delivery request from any of the computers 22, then in step S59 it is determined whether there is an AGV 20 in transit. However, "in transit" here includes not only the actual driving state of transporting goods, but also the driving state of moving to the loading site to load goods, and the driving state of moving back to the waiting site after transporting goods to the delivery destination.
[0207] If the result in step S59 is "No", meaning there is no AGV20 in transit, then return to step S51. Conversely, if the result in step S59 is "Yes", meaning there is an AGV20 in transit, then proceed to step S51. Figure 19 Step S71 is shown.
[0208] Furthermore, if the condition is "yes" in step S57, meaning there is a delivery request from any of the computers 22, then the usage status of each AGV 20 is confirmed in step S61. Here, the CPU 50 confirms the usage status of each AGV 20 by referring to the AGV selection data 604c. The CPU 50 determines that the AGV 20 with identification information (AGV_ID) recorded in the AGV selection data 604c is in use, and the AGV 20 without identification information is not in use.
[0209] In the next step S61, it is determined whether delivery is possible. That is, the CPU 50 determines whether there is an unused AGV 20. If the result in step S61 is "no", that is, if delivery is not possible, then proceed to step S59. In this case, the computer 22 that sent the delivery request that could not be delivered can also be notified.
[0210] On the other hand, if the result in step S61 is "yes," meaning delivery is possible, then in step S65, the travel route from the waiting location to the loading location is determined. In the next step, S67, from... Figure 14 The optimization parameter table shown determines the driving parameter table corresponding to the driving route. In step S69, a loading instruction is sent to the target AGV20, and the process returns to step S51. In this embodiment, in step S69, the CPU50 sends a driving instruction, including the driving route determined in step S65 and the driving parameter table determined in step S67, to the target AGV20. The same applies to steps S81 and S89 described later.
[0211] like Figure 20 As shown, in step S71, it is determined whether the prescribed action should be performed. Here, it is determined whether the AGV20 has reached a position of stopping, turning left, turning right, or changing speed. If the result in step S71 is "no," in other words, if the prescribed action is not performed, then the process proceeds to step S75. On the other hand, if the result in step S71 is "yes," in other words, if the prescribed action is performed, then after the AGV20 indicates the execution of the prescribed action in step S73, the process proceeds to step S75.
[0212] In step S75, it is determined whether AGV20 has reached the loading location. If the result in step S75 is "No," in other words, if AGV20 has not reached the loading location, then proceed to... Figure 21 The step S83 is shown. On the other hand, if "yes" is indicated in step S75, in other words, if AGV20 arrives at the loading location, then in step S77, the travel route from the loading location to the transport destination is determined, in step S79, the travel parameter table corresponding to the travel route is determined, and in step S81, a transport instruction is sent to the AGV20 of the object, proceeding to step S83.
[0213] In addition, if a transport instruction is received, the AGV20 will start moving (i.e., transporting) after the traction arm 26 is connected to the trolley 200.
[0214] like Figure 21 As shown, in step S83, it is determined whether AGV20 has reached the delivery destination. If the result in step S83 is "no", in other words, if AGV20 has not reached the delivery destination, then proceed to step S91.
[0215] On the other hand, if the result in step S83 is "yes", in other words, if AGV20 reaches the delivery destination, then in step S85, the travel route from the delivery destination to the waiting place is determined, in step S87, the travel parameter table corresponding to the travel route is determined, and in step S89, the return instruction is sent to the AGV20 of the object.
[0216] In addition, if the AGV20 receives a return instruction, it will start to move after the towing arm 26 is in a state where it is not connected to the trolley 200.
[0217] In the next step S91, it is determined whether the waiting location has been reached. If the result in step S91 is "No," in other words, if the waiting location has not been reached, the process returns to step S51. On the other hand, if the result in step S91 is "Yes," in other words, if the waiting location has been reached, the usage status of the AGV20 is changed to unused, and the process returns to step S51.
[0218] Furthermore, the processing in steps S57 to S93 is performed according to each AGV20 under driving control. Figures 19-21 In the AGV control process shown, if there is a transport request, the travel routes from the waiting area to the loading area, from the loading area to the transport destination, and from the transport destination to the waiting area are determined separately at the waiting area, loading area, and transport destination. However, when there is a transport request, all travel routes can also be determined. Furthermore, in this case, when all travel routes are determined, a travel parameter table corresponding to each travel route can also be determined.
[0219] According to this embodiment, experimental results are obtained efficiently based on future experimental plans, and driving parameters are optimized based on the obtained experimental results, thus efficiently improving the appropriateness of the parameters.
[0220] Furthermore, according to this embodiment, since it combines an inference method based on experimental planning and Gaussian process regression, a strategic experimental plan can be formulated. That is, instead of performing experiments and optimization processing on all combinations of AGV20 information and individual parameters, experiments and optimization processing are performed on a subset of combinations.
[0221] Furthermore, in the described embodiment, when the AGV is transporting goods while operating in the designated environment, a control signal containing a driving parameter table corresponding to the driving route is sent to the AGV, but this is not a limitation. Alternatively, an optimized parameter table can be pre-downloaded to the AGV, and the control signal, containing information specifying the driving parameter table corresponding to the driving route, can be sent to the AGV.
[0222] In this scenario, the management server can also specify driving parameters by referring to the load and speed included in the driving status. Therefore, even while the AGV is in motion, it can refer to the load and speed included in the driving status and specify driving parameters corresponding to the changed load and speed partitions when the load or speed changes to values exceeding the values of the load partition or speed partition in the current driving parameters.
[0223] Furthermore, the specific configuration of the optimization system and AGV shown in the embodiments can be appropriately modified in actual products.
[0224] For example, an AGV can tow a trolley, but it can also be configured to load goods onto the AGV. In this case, a load sensor capable of measuring the load of the loaded goods can be used. Alternatively, the load can be detected using a load sensor, but it can also be calculated using a management server if all the trolleys used are identical and the load of goods loaded at each location is already determined. However, when loading goods onto the AGV or calculating the load using a management server, travel parameters corresponding to the load can be specified when goods are loaded.
[0225] Furthermore, in the described embodiment, the optimization server and management server are set up separately, but it is also possible to set up a single server that has both functions. Additionally, the database can be built into either the optimization server or the management server.
[0226] Furthermore, in the described embodiment, by applying the experimental results to Bayesian inference, the expected value of the driving parameter that minimizes the expected value of the objective function is calculated for each load range, thereby optimizing the driving parameters, but this is not a limitation. In other embodiments, Bayesian inference may not be used; instead, the optimal driving parameters may be determined by selecting the driving parameters that minimize the sum of the forward and backward sway values and amplitude values from past experimental data. Explanation of reference numerals in the attached figures
[0227] 10: Optimize the system 10a: Automated Driving System 12: Optimize the server 16: Management Server 20: AGV 22: Computer 30, 50, 70: CPU 32, 52, 72: RAM 34, 54, 56, 74: Communication device 76: Wheel drive circuit 78: Wheel motor 80: Lifting drive circuit 82: Lifting Motor 84: Proximity sensor 86: Load sensor 88: Line Sensor 90: Inertial sensor 92: RF Tag Reader 94: Battery
Claims
1. A driving parameter optimization system, which optimizes the driving parameters of a plurality of automated driving devices by conducting experimental driving tests for optimizing driving parameters in a plurality of automated driving devices, the driving parameter optimization system being characterized in that it comprises: The plurality of automatic driving devices drive according to driving instructions; An experimental driving plan generation device, which generates an experimental driving plan for the experimental driving process; A driving instruction device that sends the driving instruction to the plurality of automatic driving devices based on the experimental driving plan generated by the experimental driving plan making device; Acquisition device, which acquires measurement values reflecting the driving status of the plurality of autonomous driving devices; An evaluation value calculation device that calculates an evaluation value based on the measurement value measured by the acquisition device; as well as A driving parameter optimization device calculates driving parameters optimized based on evaluation values calculated by an evaluation value calculation device during the experimental driving. The driving parameters are set differently for each zone of the load, which is the weight of the goods towed or loaded by each of the plurality of automated driving devices. The driving parameters are optimized for each zone of the load of the optimization target. The driving instruction device observes the load of the goods being transported by each of the plurality of autonomous driving devices, and designates the autonomous driving device that is transporting goods and is in a waiting state when not in use, and whose load of the goods being transported is included in the load partition of the optimized object in the experimental driving plan, as the autonomous driving device to perform the experimental driving, and sends the driving instruction to the designated autonomous driving device.
2. The driving parameter optimization system according to claim 1, characterized in that, The experimental driving plan generation device plans multiple drives in which driving parameters are changed during each drive as the experimental driving plan.
3. The driving parameter optimization system according to claim 2, characterized in that, The driving parameters are each composed of a group of various parameters used for different controls during the driving of the multiple automatic driving devices. The experimental driving plan generation device designates a portion of the driving parameters among all the various parameters as the driving parameters to be optimized, and changes the designated driving parameters during each driving session to plan multiple driving sessions for optimizing the designated driving parameters.
4. The driving parameter optimization system according to claim 3, characterized in that, The experimental driving plan generating device does not change any driving parameters other than the specified driving parameters among all the multiple parameters during each driving session, and plans multiple driving sessions as a driving strategy to optimize the specified driving parameters.
5. The driving parameter optimization system according to claim 3 or 4, characterized in that, The experimental driving plan generation device changes the parameter of the driving parameter designated as the optimization object among all the parameters of the multiple parameters, and generates multiple driving trips for each designated driving parameter as driving trips for optimizing the designated driving parameter.
6. The driving parameter optimization system according to any one of claims 1 to 4, characterized in that, The experimental driving plan generation device generates the experimental driving plan using a Bayesian optimization method.
7. The driving parameter optimization system according to any one of claims 1 to 4, characterized in that, The experimental driving plan generation device uses the driving parameters from each of the first to the Nth driving trips as explanatory variables and the evaluation values from each of the first to the Nth driving trips as target variables. It constructs a regression model using Gaussian process regression, calculates a function based on the regression model, and determines the driving parameters for the (N+1)th driving trip based on the obtained function.
8. The driving parameter optimization system according to any one of claims 1 to 4, characterized in that, The driving parameter optimization device calculates the optimized driving parameters using the Bayesian optimization method.
9. The driving parameter optimization system according to any one of claims 1 to 4, characterized in that, The driving parameter optimization device uses the driving parameters from each of the first to the Mth driving trips as explanatory variables and the evaluation values from each of the first to the Mth driving trips as target variables. It constructs a regression model using Gaussian process regression and calculates the driving parameters whose expected values of the target variables are closest to the set values based on the regression model, which are then used as the optimized driving parameters.
10. The driving parameter optimization system according to any one of claims 1 to 4, characterized in that, It also includes a driving parameter storage unit, which stores past driving parameters calculated by the driving parameter optimization device. The experimental driving plan creation device can set past driving parameters stored in the driving parameter storage unit as initial values for the driving parameters when creating the experimental driving plan for the experimental driving test.
11. The driving parameter optimization system according to any one of claims 1 to 4, characterized in that, The driving parameters are set differently for each speed zone, and the driving parameters are optimized for each speed zone of the target object.
12. The driving parameter optimization system according to any one of claims 1 to 4, characterized in that, The driving parameters are set differently for each driving route, and the driving parameters are optimized for each driving route of the optimization object.
13. The driving parameter optimization system according to claim 12, characterized in that, The driving instruction device sends the driving instruction to the plurality of automated driving devices so that the plurality of automated driving devices drive on the driving route of the optimized object.
14. The driving parameter optimization system according to any one of claims 1 to 4, characterized in that, The evaluation value includes the lateral offset of the linear driving path relative to the plurality of autonomous driving devices when traveling along a specified linear driving path.
15. The driving parameter optimization system according to any one of claims 1 to 4, characterized in that, The evaluation value includes the magnitude of the change in acceleration caused by the acceleration or deceleration of the plurality of autonomous driving devices during operation.
16. The driving parameter optimization system according to any one of claims 1 to 4, characterized in that, The driving parameters include parameters for steering control when the plurality of automatic driving devices travel along a specified linear driving route.
17. The driving parameter optimization system according to any one of claims 1 to 4, characterized in that, The driving parameters include acceleration control parameters for the acceleration or deceleration of the plurality of automatic driving devices during driving.
18. A method for optimizing driving parameters, wherein the driving parameters of a plurality of automated driving devices are optimized by conducting experimental driving of the optimized driving parameters in accordance with driving instructions, the method being characterized in that it comprises: (a) The steps for generating the experimental driving plan during the experimental driving; (b) The step of sending the driving instructions to the plurality of autonomous driving devices based on the experimental driving plan made in step (a); (c) The step of obtaining measurement values reflecting the driving status of the plurality of autonomous driving devices; (d) The step of calculating the evaluation value based on the measurement value obtained in step (c); as well as (e) The step of calculating optimized driving parameters based on the evaluation values calculated in step (d) during the experimental driving. The driving parameters are set differently for each zone of the load, which is the weight of the goods towed or loaded by each of the plurality of automated driving devices. The driving parameters are optimized for each zone of the load of the optimization target. In step (b), the load of the goods being transported by each of the plurality of autonomous driving devices is observed. From the plurality of autonomous driving devices, the autonomous driving device that is transporting goods and is in a waiting state when not in use, and whose load of the goods being transported is included in the load partition of the optimized object in the experimental driving plan, is designated as the autonomous driving device to perform the experimental driving, and the driving instruction is sent to the designated autonomous driving device.