Program, information processing device, method, and system
A program optimizes operator assignment by setting schedules and calculating index values, addressing inefficiencies in existing systems and reducing administrative burden.
Patent Information
- Application Number
- JP2024191277
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-10-31
- Publication Date
- 2026-01-20
- Estimated Expiration
- 2044-10-31
AI Technical Summary
Existing systems face challenges in efficiently assigning multiple operators to cases, leading to increased administrative burden.
A program executed by a computer processor that acquires information about cases and operators, sets schedules and man-hours, calculates an index value for appropriateness, and confirms assignments to optimize operator allocation.
Operators are efficiently assigned to cases, reducing administrative burden and optimizing resource allocation.
Smart Images

Figure 0007802429000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a program, an information processing device, a method, and a system. [Background technology]
[0002] In recent years, the applications of small helicopters (multicopters) known as drones have been expanding. For example, drones are being used to spray pesticides on agricultural land (fields) and inspect facilities such as bridges, buildings, and tunnels.
[0003] Patent Document 1 discloses a technology that supports the assignment of operators who can smoothly acquire inspection data for each piece of equipment. For example, the device disclosed in Patent Document 1 determines the required skill level for operating an aircraft when flying the aircraft around the equipment to acquire inspection data for the equipment, based on related information related to the equipment. The device also determines an operator who has the required skill level determined based on the related information as the person in charge of the equipment. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent No. 7510699 specification Summary of the Invention [Problem to be solved by the invention]
[0005] In the technique disclosed in Patent Document 1, when there are multiple cases and multiple operators to be assigned, the burden on the administrator increases if the administrator tries to efficiently assign operators to the cases.
[0006] An object of the present disclosure is to efficiently allocate operators to cases. [Means for solving the problem]
[0007] In order to solve the above-mentioned problems, a program according to one aspect of the present disclosure is a program to be executed by a computer having a processor and a memory. The program causes the processor to execute the following steps: acquiring information about a case, including a first schedule and a first man-hour for pesticide spraying performed by operating an air vehicle, and information about multiple operators to whom the case can be assigned; setting a second schedule and a second man-hour for pesticide spraying for the multiple operators based on the acquired information about the operators so as to satisfy predetermined constraints; calculating an index value indicating the degree of appropriateness of the setting of the second schedule and the second man-hour for the multiple operators based on the set second schedule and second man-hour; and confirming the second schedule and the second man-hour set for the multiple operators based on the calculated index value. [Effects of the Invention]
[0008] According to the present disclosure, operators can be efficiently assigned to cases. [Brief explanation of the drawings]
[0009] [Figure 1] 1 is a block diagram showing an example of the overall configuration of a system 1. FIG. [Figure 2] 2 is a block diagram showing an example of the configuration of a terminal device 10 shown in FIG. 1. FIG. [Figure 3] 2 is a block diagram showing an example of the configuration of a server 20 shown in FIG. 1. FIG. [Figure 4] 2 is a block diagram showing an example of the configuration of the drone 30 shown in FIG. 1. FIG. [Figure 5] FIG. 4 is a diagram showing the data structure of a case table 2021 shown in FIG. 3. [Figure 6] FIG. 4 is a diagram showing a data structure of an operation candidate table 2022 shown in FIG. 3. [Figure 7] FIG. 4 is a diagram showing a data structure of an assignment table 2023 shown in FIG. 3. [Figure 8] FIG. 4 is a diagram showing a data structure of a first constraint table 2024 shown in FIG. 3. [Figure 9] FIG. 4 is a diagram showing a data structure of a second constraint table 2025 shown in FIG. 3. [Figure 10] 10 is a flowchart showing an example of the operation of the server 20 when a second schedule and a second man-hours are finalized. [Figure 11] FIG. 10 is a schematic diagram showing an example of a screen of the display 141 in a state where the confirmed content is displayed. [Figure 12] 10 is a flowchart showing an example of the operation of the server 20 when setting fields and routes for each operator. [Figure 13] FIG. 2 is a schematic diagram showing an example of a group of fields 41 in flight units. [Figure 14] FIG. 2 is a schematic diagram showing an example of a group of farm fields 42 in base units. [Figure 15] FIG. 10 is a schematic diagram showing an example of a screen of the display 141 in which the setting results are displayed. [Figure 16] FIG. 10 is a schematic diagram showing an example of a screen of the display 141 in which the evaluation results are displayed. [Figure 17] FIG. 2 is a block diagram showing the basic hardware configuration of a computer 90. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In all drawings describing the embodiments, common components are designated by the same reference numerals, and repeated description will be omitted. Note that the following embodiments do not unduly limit the content of the present disclosure described in the claims. Furthermore, not all components shown in the embodiments are necessarily essential components of the present disclosure. Furthermore, each drawing is a schematic diagram and is not necessarily a precise illustration.
[0011] [1. Overview] The server of this embodiment acquires information about the case, including a first schedule and a first man-hour for pesticide spraying by operating a drone, and information about multiple operators who may be assigned to the case. Based on the acquired information about the operators, the server of this embodiment sets a second schedule and a second man-hour for pesticide spraying for the multiple operators so as to satisfy predetermined constraints. The server of this embodiment calculates an index value based on the set second schedule and second man-hour. Based on the calculated index value, the server of this embodiment determines a third schedule and a third man-hour for pesticide spraying for the multiple operators.
[0012] Although the above-described processes executed by the server according to this embodiment are targeted at spraying pesticides using an aerial vehicle such as a drone, they may also be applicable to other applications. For example, instead of spraying pesticides, they may also be applicable to sowing seeds, fertilizing, etc. Furthermore, instead of an aerial vehicle, they may also be applicable to ground-traveling vehicles such as seed sowing machines and fertilizer applicators.
[0013] [2. Overall system configuration] FIG. 1 is a block diagram showing an example of the overall configuration of system 1. System 1 is a system for providing a service of spraying pesticides on a field requested by a client (hereinafter referred to as a pesticide spraying service). System 1 shown in FIG. 1 includes, for example, a terminal device 10, a server 20, and a drone 30. The terminal device 10, the server 20, and the drone 30 are connected to each other for communication via, for example, a network 80.
[0014] While FIG. 1 illustrates an example in which the system 1 includes one terminal device 10, the system 1 may include two or more terminal devices 10, for example. Also, while FIG. 1 illustrates an example in which the system 1 includes one server 20, the system 1 may include, for example, a collection of multiple devices. The manner in which the multiple functions required to realize the server 20 are allocated to one or multiple pieces of hardware can be determined appropriately depending on the processing capacity of each piece of hardware and / or the specifications required for the server 20. Furthermore, while FIG. 1 illustrates an example in which the system 1 includes one drone 30 for the sake of simplicity, in reality, the system 1 includes as many drones 30 as there are operators.
[0015] The terminal device 10 is, for example, an information processing device operated by an administrator / manager (hereinafter abbreviated as administrator / manager) of the system 1. The terminal device 10 is realized by, for example, a mobile terminal such as a smartphone or a tablet. In this embodiment, the terminal device 10 is assumed to be a tablet. The terminal device 10 may also be realized by, for example, a desktop personal computer (PC), a laptop PC, or the like.
[0016] The terminal device 10 includes a communication IF (Interface) 12, an input device 13, an output device 14, a memory 15, a storage 16, and a processor 19. The input device 13 is a device for receiving input operations from a manager / operator (for example, a touch panel, a touch pad, a pointing device such as a mouse, a keyboard, etc.). The output device 14 is a device for presenting information to the manager / operator (a display, a speaker, etc.). In this embodiment, the terminal device 10 is assumed to include a touch panel in which the input device 13 and the output device 14 are integrated.
[0017] Server 20 is, for example, an information processing device for managing / operating a pesticide spraying service, and is an information processing device realized by a computer connected to network 80. As shown in Fig. 1, server 20 includes a communication IF 22, an input / output IF 23, memory 25, storage 26, and a processor 29. Input / output IF 23 functions as an input device for accepting input operations from a manager / operator, and as an interface for an output device for outputting information to the manager / operator.
[0018] In this embodiment, the information processing device used by the administrator / manager is separated into the terminal device 10 and the server 20, but this is not limited to this. For example, the server 20 may have the functions of the terminal device 10. In this case, the terminal device 10 is not necessary in the system 1, and the system 1 includes the server 20 and the drone 30.
[0019] The drone 30 is a small unmanned aerial vehicle (UAV) that sprays a pesticide on at least one of a plurality of target fields, and is an example of an air vehicle according to one embodiment of the present disclosure. Note that the air vehicle according to one embodiment of the present disclosure is not limited to the drone 30, and may be, for example, a helicopter, a radio-controlled aircraft, or the like.
[0020] Each information processing device such as the terminal device 10 and the server 20 is configured by a computer 90 (see FIG. 17) equipped with an arithmetic unit and a storage device. The basic hardware configuration of the computer 90 and the basic functional configuration of the computer 90 realized by the basic hardware configuration will be described later. Note that for each of the terminal device 10 and the server 20, descriptions that overlap with the basic hardware configuration and basic functional configuration of the computer 90 will be omitted.
[0021] <2.1 Terminal device configuration> Fig. 2 is a block diagram showing an example configuration of the terminal device 10 shown in Fig. 1. As shown in Fig. 2, the terminal device 10 includes a communication unit 120, an input device 13, an output device 14, an audio processing unit 170, a microphone 171, a speaker 172, a camera 160, a position information sensor 150, an acceleration sensor 155, a storage unit 180, and a control unit 190. The blocks included in the terminal device 10 are electrically connected by, for example, a bus or the like.
[0022] The communication unit 120 performs processing such as modulation and demodulation for communication between the terminal device 10 and an external device (for example, the server 20). The communication unit 120 performs transmission processing on the signal generated by the control unit 190 and transmits it to the external device. The communication unit 120 performs reception processing on the signal received from the external device and outputs it to the control unit 190.
[0023] The input device 13 is a device for the manager / operator to input instructions or information. The input device 13 is realized, for example, by a touch-sensitive device 131 that inputs instructions by touching the operation surface. If the terminal device 10 is a PC or the like, the input device 13 may be realized by a reader, keyboard, mouse, or the like. The input device 13 converts instructions input by the manager / operator into electrical signals and outputs them to the control unit 190. The input device 13 may also include, for example, a receiving port that receives electrical signals input from an external input device.
[0024] The output device 14 is a device for presenting information to the manager / operator. The output device 14 is realized, for example, by a display 141. The display 141 displays various information according to the control of the control unit 190. The display 141 is realized, for example, by an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display.
[0025] The audio processing unit 170 performs, for example, digital-to-analog conversion processing of an audio signal. The audio processing unit 170 converts a signal provided from the microphone 171 into a digital signal and provides the converted signal to the control unit 190. The audio processing unit 170 also provides the audio signal to the speaker 172. The audio processing unit 170 is realized, for example, by a processor for audio processing. The microphone 171 receives audio input and provides an audio signal corresponding to the audio input to the audio processing unit 170. The speaker 172 converts the audio signal provided from the audio processing unit 170 into audio and outputs the audio to the outside of the terminal device 10.
[0026] Camera 160 is an imaging device that captures images using visible light. In other words, camera 160 is a device that receives visible light using a light-receiving element and outputs image data as an image capture signal. Camera 160 captures an image of a subject in a certain direction and within a certain image capture range relative to terminal device 10, and outputs image data as the image capture result. If camera 160 has a function that allows the image capture range, or more precisely, the angle of view, to be adjustable, camera 160 also outputs information regarding this angle of view. This function is known as a zoom function.
[0027] The position information sensor 150 is a sensor that detects the position of the terminal device 10 and is generally a GNSS device, such as a GPS module. The GPS module is a receiving device used in a satellite positioning system. In a satellite positioning system, signals are received from at least three or four satellites, and the current position of the terminal device 10 equipped with the GPS module is detected as coordinate values based on the received signals. The position information sensor 150 may detect the current position of the terminal device 10 from the position of a wireless base station to which the terminal device 10 connects via the communication unit 120.
[0028] The acceleration sensor 155 is a sensor that detects acceleration applied to the terminal device 10. Preferably, the acceleration sensor 155 has a function of detecting tilt around each axis (X-axis, Y-axis, Z-axis) of a three-dimensional coordinate system with the position of the terminal device 10 as the origin. The acceleration sensor 155 having such a function can detect the attitude of the terminal device 10, that is, the direction with respect to the X-axis, Y-axis, and Z-axis, by detecting the gravitational acceleration of the gravitational force with respect to the earth.
[0029] 1, and stores data and programs used by the terminal device 10. The storage unit 180 stores, for example, manager / operator information 181 and application programs 182.
[0030] Manager / operator information 181 includes, for example, various types of information related to the manager / operator, such as the manager / operator's name, age, address, date of birth, and contact information.
[0031] The application program 182 may be, for example, stored in advance in the storage unit 180, or may be downloaded from a web server or the like via the communication IF 12. The application program 182 includes, for example, an interpreter-type programming language that is executed on a web browser application (not shown) that is stored in the storage unit 180.
[0032] The control unit 190 is realized, for example, by the processor 19 reading an application program 182 stored in the storage unit 180 and executing instructions included in the application program 182. The control unit 190 controls the operation of the terminal device 10. The control unit 190 operates in accordance with the application program 182 to fulfill the functions of an operation reception unit 191, a transmission / reception unit 192, and a presentation control unit 193.
[0033] The operation reception unit 191 performs processing for receiving instructions or information input from the input device 13. Specifically, the operation reception unit 191 receives instructions or information input from the touch-sensitive device 131. The transmission / reception unit 192 performs processing for the terminal device 10 to transmit and receive data to and from an external device in accordance with a communication protocol. Specifically, the transmission / reception unit 192 transmits instructions or information input from the manager / operator to the server 20. The transmission / reception unit 192 receives information transmitted from the server 20. The presentation control unit 193 controls the output device 14 to present various information to the manager / operator.
[0034] <2.2 Server configuration> Fig. 3 is a block diagram showing an example of the configuration of the server 20 shown in Fig. 1. As shown in Fig. 3, the server 20 performs the functions of a communication unit 201, a storage unit 202, and a control unit 203.
[0035] The communication unit 201 performs processing for the server 20 to communicate with an external device (for example, the terminal device 10). The storage unit 202 is realized by the memory 25 and the storage 26, and stores data and programs used by the server 20. The storage unit 202 stores, for example, a case table 2021, an operation candidate table 2022, an assignment table 2023, a first constraint condition table 2024, a second constraint condition table 2025, and an application program 2026.
[0036] The case table 2021 is a table that stores information about cases related to pesticide spraying services ordered by clients. Hereinafter, cases related to pesticide spraying services ordered by clients will be simply referred to as cases, and information related to the cases will be referred to as case information. The case information includes a first schedule and a first man-hour for pesticide spraying performed by operating the drone 30. The first schedule is the entire schedule for pesticide spraying on multiple fields that are the subject of the case. The first man-hour is the number of people, time, cost, sprayed area, etc. required to complete pesticide spraying on multiple fields that are the subject of the case.
[0037] The operation candidate table 2022 is a table that stores information about multiple operators to whom a case can be assigned. "Can be assigned a case" means, for example, that the operator is in a status where he or she can take charge of the case. The status where he or she can take charge of the case means, for example, that a contract has been concluded to have the operator take charge of the work on a priority basis for a predetermined period of time, or that a contract has been concluded to have the operator take charge of the work in response to a case request. Hereinafter, an operator to whom a case can be assigned is referred to as an operation candidate, and information about the operation candidate is referred to as operation candidate information. Details of the operation candidate information will be described later.
[0038] The assignment table 2023 is a table that stores the area of the field, the confirmed schedule, etc., assigned to multiple operator candidates who have been confirmed to be in charge of a project. "Confirmed to be in charge of a project" specifically refers to the confirmation of the second schedule and second man-hours set for the operator candidate. Hereinafter, an operator candidate who has been confirmed to be in charge of a project (assigned a project) will be simply referred to as an operator. In other words, the operator will be in charge of spraying pesticides using drone 30 for the project.
[0039] The second schedule is the work schedule set for the operator candidate regarding pesticide spraying. The second man-hours are the number of working days, reserve days, spraying area, etc. set for the operator candidate regarding pesticide spraying. The finalized schedule is the finalized second schedule.
[0040] The first constraint condition table 2024 is a table that stores the first constraint conditions. The first constraint conditions are conditions that must be met when setting the second schedule and second man-hours for drug spraying for multiple operator candidates, and conditions can be set for various purposes.
[0041] The second constraint condition table 2025 is a table that stores second constraint conditions. The second constraint conditions are conditions that must be met when the operator sets the field where the pesticide will be sprayed and the route of the pesticide spray in the field, and conditions can be set for various purposes. The second constraint conditions are an example of constraint conditions according to one embodiment of the present disclosure.
[0042] The control unit 203 is realized by the processor 29 reading the application program 2026 stored in the storage unit 202 and executing instructions included in the application program 2026. The control unit 203 controls the operation of the server 20. By operating in accordance with the application program 2026, the control unit 203 fulfills the functions of a reception control module 2031, a transmission control module 2032, a presentation control module 2033, an allocation processing module 2034, a grouping processing module 2035, and a setting processing module 2036.
[0043] The reception control module 2031 controls the process by which the server 20 receives signals from external devices in accordance with a communication protocol. The reception control module 2031 acquires case information and operator candidate information for multiple operator candidates. The reception control module 2031 acquires information about multiple fields to be sprayed with agrochemicals (hereinafter referred to as field information) and operator information for multiple operators. The multiple fields to be sprayed with agrochemicals are, in other words, multiple fields that are the subject of a case. The field information is managed, for example, in association with the case information. The operator information is information about the operator. Details of the operator information will be described later.
[0044] Field information includes, for example, geographical information, information about crops, weather conditions, water management information, and information about ecosystems. Geographical information includes, for example, location information such as the location of the field (e.g., registered address) and its position on a map (e.g., longitude and latitude), topographical information such as the elevation, area, and slope of the field, and soil information such as the type and properties of the soil (e.g., sandy soil, clayey soil), pH, drainage capacity, and wetness. Crop information includes, for example, information about the type of crop, sowing / harvesting time, and the type and amount of fertilizer / pesticides. Weather conditions include, for example, information about the average temperature of the field, seasonal temperature fluctuations, annual precipitation, precipitation patterns, wind speed / wind direction, and the like. Water management information includes, for example, information about the type of irrigation (e.g., drip irrigation, sprinkler), and the type and amount of water source used for irrigation. The information about the ecosystem includes, for example, information about the types of weeds / pests that inhabit the field, organisms that are natural enemies of the pests (e.g., predators), etc. Note that any of the information included in the field information may be acquired as case information.
[0045] The transmission control module 2032 controls the process of transmitting signals to external devices by the server 20 in accordance with a communication protocol. The presentation control module 2033 controls the process of presenting various types of information to a manager / operator or the like.
[0046] The allocation processing module 2034 sets a second schedule and a second man-hours for pesticide spraying for the multiple operator candidates based on the operator candidate information acquired by the reception control module 2031 so as to satisfy a first constraint condition that has been set in advance. The allocation processing module 2034 calculates an index value that indicates the degree of appropriateness of the setting of the second schedule and the second man-hours for the multiple operator candidates based on the set second schedule and second man-hours. Details of the index value will be described later. The allocation processing module 2034 confirms the second schedule and the second man-hours that have been set for the multiple operator candidates based on the calculated index value.
[0047] The grouping processing module 2035 controls grouping processing for dividing a plurality of fields that are the subject of a project into groups for each operator based on the productivity of the plurality of operators.
[0048] The setting processing module 2036 references groups of fields divided by operator (hereinafter, "field groups") and controls setting processing to set the fields each of the multiple operators is responsible for and the agrochemical spraying routes for those fields so as to meet a predetermined schedule. In this embodiment, the setting processing module 2036 assigns fields to each of the multiple operators so as to satisfy, for example, a second constraint condition that is set in advance. For example, the setting processing module 2036 determines an assignment of the assigned fields that will result in the shortest spraying time for the operator who takes the longest time among the multiple operators who will spray the agrochemical. In other words, the setting processing module 2036 assigns fields to the multiple operators using the shortest spraying time that can be achieved by the operator who takes the longest time among the multiple operators who will spray the agrochemical as an objective function.
[0049] The setting processing module 2036 routes the fields assigned to each of the multiple operators for each operator. For example, the setting processing module 2036 performs a predetermined route optimization process on the fields assigned to each of the multiple operators, thereby connecting the fields assigned to each operator via the shortest route. Note that the method used in the route optimization process may be, for example, an existing method.
[0050] <2.3 Drone configuration> Fig. 4 is a block diagram showing an example configuration of the drone 30 shown in Fig. 1. As shown in Fig. 4, the drone 30 includes a communication unit 310, a gyroscope 320, an air pressure sensor 330, a battery 340, a position information sensor 350, an acceleration sensor 355, a camera 360, a motor 370, a propeller 375, a storage unit 380, and a control unit 390. The blocks included in the drone 30 are electrically connected by, for example, a bus or the like.
[0051] The communication unit 310 performs processes such as modulation and demodulation for the drone 30 to communicate with external devices (for example, the terminal device 10 and the server 20). The communication unit 310 performs transmission processing on signals generated by the control unit 390 and transmits the signals to the external device. The communication unit 310 performs reception processing on signals received from the external device and outputs the signals to the control unit 390.
[0052] The gyroscope 320 measures the angular velocity when the drone 30 rotates. The measured angular velocity is used for attitude control of the drone 30 by the flight controller 391. There are no particular limitations on the type of gyroscope 320, and it can be realized by, for example, a MEMS (Micro Electro Mechanical Systems) gyroscope or the like.
[0053] The atmospheric pressure sensor 330 measures the atmospheric pressure in the space in which the drone 30 is flying. The measured atmospheric pressure is used for altitude control of the drone 30 by the flight controller 391. There are no particular limitations on the type of the atmospheric pressure sensor 330, and it can be realized by, for example, a barometer-type sensor, an altimeter, or the like.
[0054] The battery 340 supplies the necessary power to the drone 30. There are no particular limitations on the type of battery 340, and it may be realized by, for example, a lithium polymer (LiPo) battery or the like.
[0055] The camera 360 is an imaging device that captures images using visible light from the air. There are no particular limitations on the type of camera 360, and it can be realized by, for example, an HD camera, a 4K camera, an infrared camera, a zoom camera, a multispectral camera, or the like.
[0056] The position information sensor 350 is a sensor that measures the position of the drone 30 and is generally a GNSS device, such as a GPS module. The measured position is used for attitude control, altitude control, and operation control of the drone 30 by the flight controller 391. The position information sensor 350 may be realized by, for example, an IMU (Inertial Measurement Unit), a vision sensor, a LIDER (Light Detection and Ranging), an ultrasonic sensor, an RFID (Radio-Frequency Identification) sensor, or the like.
[0057] The acceleration sensor 355 is a sensor that measures the acceleration applied to the drone 30. The measured acceleration is used for attitude control and operation control of the drone 30 by the flight controller 391. There are no particular limitations on the type of acceleration sensor 355, and it can be realized by, for example, a MEMS acceleration sensor, a capacitance type acceleration sensor, or the like.
[0058] The motor 370 and the propeller 375 provide the propulsion force for the drone 30 and generate lift for flight. That is, the motor 370 rotates and drives the propeller 375, thereby achieving flight of the drone 30. There are no particular limitations on the type of motor 370, and it can be realized by, for example, a brushless motor, a brushed motor, or the like.
[0059] The storage unit 380 stores data and programs used by the drone 30. The storage unit 180 stores, for example, images captured by the camera 360, a flight log, measurement results of various sensors, and the like.
[0060] The control unit 390 is realized, for example, by the processor reading a program stored in the storage unit 180 and executing instructions included in the program. The control unit 390 controls the operation of each unit of the drone 30. The control unit 390 performs each function as a flight controller 391 and a transceiver unit 392 by operating in accordance with the above-mentioned program.
[0061] The flight controller 391 controls the flight of the drone 30. Specifically, for example, the flight controller 391 controls the flight of the drone 30 by controlling the rotation speed of the motor 370 via control means such as an ESC (Electronic Speed Control) based on information received by the transmitter / receiver 392 and measurement results received from various sensors.
[0062] The transmitter / receiver 392 performs processing for the drone 30 to transmit and receive data to and from an external device in accordance with a communication protocol. Specifically, the transmitter / receiver 392 transmits information acquired by the drone 30 to the terminal device 10 or the server 20. The transmitter / receiver 392 receives information transmitted from a remote controller (not shown). The remote controller is an operation device for the drone 30. The operator controls the flight of the drone 30 by operating the remote controller. Note that the operator may operate, for example, a smartphone as an operation device instead of the remote controller.
[0063] [3 Data Structure] 5 to 9 are diagrams showing the data structures of tables stored in the server 20. Note that Figures 5 to 9 are merely examples and do not exclude data that is not listed. Furthermore, even data that is listed in the same table may be stored in separate storage areas in the storage unit 202.
[0064] FIG. 5 is a diagram showing the data structure of the project table 2021. The project table 2021 shown in FIG. 5 is a table having, for example, a project ID as a key and columns for project name, address, client, declared area, scheduled spraying date, and spraying end time. In other words, project information includes some or all of the information stored in these fields. Note that the project information may also include information other than the information stored in each field of the project table 2021. For example, the project information may include columns for storing spraying difficulty, permitted spraying times (prohibited spraying times), etc. The spraying difficulty includes, for example, topography, the extent of field distribution, and field connectivity. In this embodiment, the project information includes field information as information other than the information stored in each field of the project table 2021.
[0065] The case information is transmitted, for example, from an information processing device (e.g., a smartphone or PC) operated by the requester of the case, and is received by the reception control module 2031 and stored in the case table 2021. Note that the case information may be input from an input device (not shown) provided in the server 20, and the reception control module 2031 may accept the input and store it in the case table 2021.
[0066] The item "Case ID" is an item that stores identification information (identifier) for uniquely identifying a case. The item "Case Name" is an item that stores the name of the case. The item "Address" is an item that stores the addresses of multiple fields that are the subject of the case. Depending on the area of the field, for example, multiple adjacent fields may have one address, or one field may have multiple addresses.
[0067] The "Requester" item is an item that stores requester information related to the requester of the case. Requester information includes, for example, the requester's name, age, address, date of birth, contact information, etc. The "Declared Area" item is an item that stores the total area of multiple fields that are the subject of the case. The area stored in the "Declared Area" item is not the total area measured and calculated by the manager / operator, etc., but the total area requested by the requester. Note that the "Declared Area" item may store, for example, the area of each field instead of the total area.
[0068] The "Scheduled Application Date" item stores the scheduled date for spraying the chemical to the multiple fields that are the subject of the project. The scheduled date stored in the "Scheduled Application Date" item may be, for example, the date desired by the client, or may be a date decided upon through discussion between the client and the manager / operator.
[0069] The "Spraying End Time" item stores the spraying end time when pesticide spraying should end. The spraying end time is determined, for example, for each scheduled date for pesticide spraying, and may be a different time for each scheduled date, or may be the same time for each scheduled date. In the example of Figure 5, the spraying end time stored in the "Spraying End Time" item is the same time for each scheduled date.
[0070] Fig. 6 is a diagram showing the data structure of the operation candidate table 2022. The operation candidate table 2022 shown in Fig. 6 is a table having columns for name, address, drone type, contract type, grade, productivity, and possible spraying date, with the operator ID as a key, for example. In other words, the operation candidate information includes some or all of the information stored in these items.
[0071] The operation candidate information may include information other than the information stored in each item of the operation candidate table 2022. For example, the operation candidate table 2022 may have columns for storing the scattering area that the operation candidate is obligated to allocate under a contract, the history of cases that the operation candidate has undertaken in the past, the organization (company) to which the operation candidate belongs, allocation information of other operators in the same organization, etc. Furthermore, the operation candidate information stored in the operation candidate table 2022 may be updated as appropriate by, for example, inputting new operation candidate information from an input device provided in the server 20.
[0072] The item "Operator ID" is an item that stores identification information for uniquely identifying the operator candidate. The item "Name" is an item that stores the name of the operator candidate. The item "Address" is an item that stores the registered address of the operator candidate. The item "Drone Type" is an item that stores the type of drone 30 that the operator candidate will operate.
[0073] The item "contract type" is an item that stores the type of contract regarding the pesticide spraying service concluded between the operator candidate and the pesticide spraying service provider (manager / operator).
[0074] There are no particular limitations on the type of contract stored in the "contract type" item. The types of contracts stored in the "contract type" item include, for example, contracts with different remuneration amounts and contract periods depending on the candidate operator's operating skills, track record, years of experience, and area of the field they are responsible for. The "contract type" item includes, for example, fixed-term contracts (fixed-term priority allocation, medium remuneration amount), individual contracts (spot allocation, high remuneration amount), helper contracts (part-time work, low remuneration amount), etc. It should be noted that there may also be highly professional contracts (indefinite-term employment contract, high remuneration amount).
[0075] Fixed-term contracts include, for example, contracts that pay a set daily rate for work performed during the contract period, and contracts that allocate a preset minimum area to a specific operator on a priority basis over other operators during the contract period, while paying a slightly lower unit price than other operators. Individual contracts include, for example, contracts that determine a unit price and request work on a spot basis.
[0076] An individual contract is a contract concluded only with a specific operator candidate, and the contents of the contract may be individually and specifically determined according to the circumstances / needs of the specific operator candidate.
[0077] The item "grade" is an item for storing a grade indicating the level of an operation skill of an operation candidate as an index. The grade of an operation candidate is determined, for example, based on the productivity of the operation candidate. When determining the grade of an operation candidate, for example, the performance record and years of experience of the operation candidate are also taken into consideration. There are no particular limitations on the manner in which the grade is displayed, and it may be displayed, for example, as "A, B, C, ...", "1, 2, 3, ...", "Superior, Upper, Medium, ...", etc. In the example of FIG. 6, the grades are displayed in descending order of operation skill level as "HighClass, Standard, Basic, ...".
[0078] The "Productivity" item stores the productivity of the operator candidate. Productivity indicates the work efficiency of a series of tasks related to pesticide spraying using drone 30 and is an indicator unique to the operator candidate. There are no particular limitations on the factors / methods that determine the productivity of the operator candidate. In the example of Figure 6, the "Productivity" item includes, for example, the operator candidate's spraying speed [min / ha], base diameter [m], and flight cycle area [ha], preparation / teardown time per flight [min / time], preparation / teardown time per base [min / time], and travel time by car [min / km]. These parameters stored in the "Productivity" item are calculated, for example, based on the pesticide spraying performance of the operator candidate in the previous year.
[0079] The base diameter is the minimum distance between fields that the operator candidate can treat as a base unit. The distance between fields is the same concept as the distance between target fields, which will be described later. Details of the base unit will be described later. The flight cycle area is an indicator of how many hectares of the field that the operator candidate can spray pesticides on in one flight without having to land the drone 30.
[0080] The item "productivity", like the item "grade", may be used as an index representing the level of an operator candidate. For example, the item "productivity" may store a value obtained by normalizing the actual value of the flight cycle area, etc. stored for the operator candidate to a field of normal difficulty. Furthermore, the parameters stored in the item "productivity" are not limited to numerical values, and may be expressed as indices such as "A, B, C, ...", "1, 2, 3, ...", "extra high, high, medium, ...", etc.
[0081] The item "Available days for operation" is an item that stores the days on which the operator candidate is available to work, that is, the days on which the operator candidate is available to spray pesticides.
[0082] Fig. 7 is a diagram showing the data structure of the assignment table 2023. The assignment table 2023 shown in Fig. 7 is a table having, for example, a case name as a key and columns of negotiation status, affiliated company name, operator, requested area, assigned area, and schedule information.
[0083] The item "Case Name" is an item that stores the name of the case. The item "Negotiation Status" is an item that stores the status of negotiations regarding the case conducted between the provider (management / operator) of the pesticide spraying service and the operator. There are no particular limitations on the content of the status stored in the item "Negotiation Status", and for example, content regarding orders and purchases as shown in Figure 7 may be stored in the item "Negotiation Status". Also, for example, the status of negotiations regarding the case conducted between the requester of the case and the provider (management / operator) of the pesticide spraying service may be stored in the item "Negotiation Status".
[0084] The "Company Name" item is an item that stores the name of the company to which the operator belongs. The "Operator" item is an item that stores, for example, the name of the operator who has been requested to handle the case. However, the "Operator" item may store, for example, the specific contract type when it has not been determined that a specific operator will be assigned to handle the case, but it has been determined that an operator of a specific contract type will be assigned to handle the case. The "Requested Area" item is an item that stores the total area (requested area) of fields for which the requester of the case has requested that pesticide be sprayed. The "Assigned Area" item is an item that stores the area (assigned area) of fields assigned to the operator. Basically, the sum of the assigned areas of each operator (total assigned area) is the same as the requested area.
[0085] That is, the information stored in each of the items "Affiliated Company Name," "Operator," "Requested Area," and "Assigned Area" constitutes, for example, operator information. Furthermore, the information stored in these items includes, for example, some or all of the information stored in each item of the operation candidate table 2022.
[0086] The "Schedule Information" item stores the operator's confirmed schedule. There are no particular limitations on the content of the confirmed schedule stored in the "Schedule Information" item. For example, as shown in Figure 7, the "Schedule Information" item may store the preparation day, application day, backup day, and the field area where a chemical will be sprayed on each application day.
[0087] In the example of Figure 7, for the project "Place Name A_1st Time_Rice Crop," the operators in charge of the project, as well as the assigned area for each operator and the confirmed schedule, have all been determined. For the project "Place Name A_2nd Time_Rice Crop," the operators in charge of the project and the assigned area for each operator have also been determined. For the project "Place Name B_1st Time_Rice Crop," only the total assigned area has been determined.
[0088] 8 is a diagram showing the data structure of the first constraint condition table 2024. The first constraint condition table 2024 shown in FIG. 8 is a table having a column of condition elements, for example, with a first constraint condition ID as a key. In other words, a first constraint condition is a combination of the conditions stored in the condition element items. In the example of FIG. 8, the first constraint condition table 2024 stores one first constraint condition, but the number of first constraint conditions stored in the first constraint condition table 2024 is not limited to one.
[0089] The item "First constraint condition ID" is an item that stores identification information for uniquely identifying the first constraint condition. The item "Condition element" is an item that stores, for example, multiple conditions that constitute the first constraint condition. In the example of FIG. 8, roughly speaking, conditions related to operation candidates, conditions related to the second schedule, and conditions related to the second man-hours are stored in the item "Condition element".
[0090] As an example of a condition related to an operator candidate, for example, a constraint condition for preventing only operator candidates whose operating skills are higher than a predetermined standard from being assigned to a case is stored in the item "Condition Element" (see "Constraint 10" in Figure 8).
[0091] Various criteria can be adopted for the aforementioned predetermined criteria. For example, a condition may be set such that only operation candidates of a predetermined grade or higher (high class in the example of FIG. 8) are prevented from being assigned to a job. Furthermore, for example, multiple operation candidates who can be assigned to a job may be ranked in terms of operation skill or productivity, and only operation candidates who are ranked at a predetermined level or higher may be prevented from being assigned to a job. By setting such conditions, operation candidates can be efficiently assigned to jobs while avoiding concentration of jobs on a specific operation candidate.
[0092] As an example of a condition related to the second schedule, for example, the item "Condition Element" stores that a backup day for pesticide spraying is set on at least one of the days before and after consecutive spraying days (see "Constraint 4" in Figure 8). When setting backup days, there is no particular limit to the number of consecutive spraying days. There is also no particular limit to the number of days to set as backup days.
[0093] As an example of a condition related to the second man-hours, for example, the item "Condition Element" stores that the man-hours set for an operator candidate who has signed a specified employment contract are within a specified range (see "Constraint 11" in Figure 8). Here, there are no particular limitations on either the specified employment contract or the specified range. In the example of Figure 8, for example, the item "Operator Candidate" stores that the total area of fields that can be assigned to an operator candidate who has signed a fixed-term contract is 72 [ha].
[0094] The first constraint condition table 2024 may have an item "condition element" for each project, for example. In this case, the item "condition element" for each project may store conditions with partially or entirely different content, for example. In other words, the first constraint condition may be set with partially or entirely different content for each project.
[0095] 9 is a diagram showing the data structure of the second constraint condition table 2025. The second constraint condition table 2025 shown in FIG. 9 is a table having columns of first to fifth conditions, with the second constraint condition ID as a key, for example. In other words, the second constraint condition includes the conditions stored in these items. However, the second constraint condition may include conditions other than the conditions stored in the items of the second constraint condition table 2025.
[0096] The item "Second constraint condition ID" is an item that stores identification information for uniquely identifying the second constraint condition. The item "First condition" is an item that stores the first condition that constitutes the second constraint condition. The item "First condition" stores, for example, the end time of pesticide spraying specified by the client of the case. The end time stored in the item "End time" may be, for example, a required time or a target time.
[0097] The item "Second condition" is an item that stores the second condition that constitutes the second constraint condition. The item "Second condition" stores, for example, prohibited time periods during which pesticide spraying is prohibited. Prohibited time periods are constraint conditions that determine the direction of the pesticide spraying route, and for example, school and work hours around the multiple fields that are the subject of the project could be prohibited time periods. In addition, for example, times when there is a risk that pesticide will be blown to houses, etc. around the multiple fields due to wind direction, etc. could also be prohibited time periods. This is because these time periods may result in complaints from residents around the multiple fields.
[0098] The item "Third Condition" is an item that stores the third condition that constitutes the second constraint condition. For example, the item "Third Condition" stores information that avoids intersections when there is a possibility that any of the routes set for each operator may intersect with each other. This constraint condition is set because if the routes set for each operator intersect, there is a risk that other operators or other drones 30 will become obstacles and interfere with the operator's spraying work while the operator is spraying pesticide with the drone 30.
[0099] The item "fourth condition" is an item that stores the fourth condition constituting the second constraint condition. The item "fourth condition" is an item that stores, for example, that fields be allocated in compliance with the field area allocated to each operator as the second man-hours by the allocation processing module 2034 (obligation to comply with the allocated area). This constraint condition is set, for example, by the allocation processing module 2034, to enable the operator who has concluded a fixed-term contract to fulfill the contract by adhering to the field allocated based on the contracted area.
[0100] The item "Fifth Condition" is an item that stores the fifth condition that constitutes the second constraint. The item "Fifth Condition" stores, for example, that an operator who meets a specified condition will be preferentially assigned to a specified field. For example, there are fields where spraying agrochemicals is difficult due to factors such as the topography of the field and its surrounding area, the weather forecast for the planned spraying date, the season in which the planned spraying date falls, and the population density around the field (hereinafter referred to as basic information). For such fields, it is desirable to assign an operator with high operating skills or a high level of experience who has a low risk of accidents. The item "Fifth Condition" stores, for example, that a high-grade operator will be assigned to a field where spraying is difficult.
[0101] The second constraint condition table 2025 may have, for example, items "first condition" to "fifth condition" for each project. In this case, the items "first condition" to "fifth condition" for each project may store conditions with partially or entirely different content. In other words, the second constraint conditions may be set with partially or entirely different content for each project.
[0102] [4 actions] <4.1 Confirmation of schedule and man-hours> The operation of the server 20 when determining the second schedule and second man-hours for each operator candidate will be described. That is, the operation of automatically assigning an operator candidate to a requested drug dispersion will be described.
[0103] 10 is a flowchart showing an example of the operation of the server 20 when finalizing the second schedule and the second man-hours. In the following description, a plurality of fields that are the subject of a case will be referred to as case subjects.
[0104] In step S11 shown in FIG. 10, the server 20 acquires the case information, the field information, and the operator candidate information of a plurality of operator candidates.
[0105] In step S11, the server 20 acquires case information and candidate operator information. Specifically, for example, the reception control module 2031 acquires the case information by reading the case information from the case table 2021 that stores case information transmitted from an information processing device operated by the case requester. Alternatively, for example, the reception control module 2031 may acquire the case information by accepting the case information input from an input device provided in the server 20. For example, by acquiring the case information, the reception control module 2031 acquires field information for the case target included in the case information.
[0106] The reception control module 2031 acquires the operation candidate information of each operation candidate by, for example, reading out the operation candidate information of each operation candidate from the operation candidate table 2022. Furthermore, the reception control module 2031 may acquire the operation candidate information of each operation candidate by, for example, accepting the operation candidate information input from an input device included in the server 20.
[0107] In step S12, the server 20 determines a plurality of operator candidates for the pesticide spraying case, and sets a second schedule and second man-hours for the pesticide spraying for the determined operator candidates.
[0108] Specifically, for example, the allocation processing module 2034 receives from the manager / operator a designation of a case to which an operator is to be assigned. The case received from the manager / operator may be a single case or multiple cases. When multiple cases are designated, the multiple cases have a schedule relationship, for example, including the same date or having approximately consecutive dates.
[0109] The allocation processing module 2034 sets multiple operation candidates in charge of the designated case, as well as a second schedule and a second man-hours for each tentative operator, so as to satisfy the first constraint condition, for example, based on each operation candidate information received from the reception control module 2031. Hereinafter, the operation candidates set by the allocation processing module 2034 will be referred to as tentative operators.
[0110] The allocation processing module 2034 may determine the order in which each provisional operator is set based on, for example, predetermined conditions. The predetermined conditions can be set arbitrarily depending on the content of the operation candidate information of each provisional candidate. For example, an operation candidate for a fixed-term contract may be selected as a provisional operator in preference to an operation candidate for an individual contract. Also, a specific operation candidate designated by the client of the project may be selected as a provisional operator in preference to an operation candidate for a fixed-term contract and an operation candidate for an individual contract. Also, for example, an operation candidate for a fixed-term contract and an operation candidate for an individual contract may be selected as a provisional operator in preference to an operation candidate for a helper contract.
[0111] In step S13, the server 20 calculates an index value based on the set virtual operator, second schedule, and second man-hours.
[0112] The index value may be any numerical value that indicates the degree of validity of the virtual operators and the second schedule and second man-hours set for each virtual operator. In this embodiment, the index value is, for example, the sum of weighted numerical values calculated based on the set values related to the virtual operators, the second schedule, and the second man-hours. Hereinafter, this sum is referred to as the objective function value.
[0113] The numerical values calculated based on the set values for the temporary operator, the second schedule, and the second man-hours are, for example, the total number of spraying days, the total number of reserve days (including days both before and after the spraying period), the total spraying area of the temporary operator under a fixed-term contract, the total distance traveled by the temporary operator, and the violation penalty.
[0114] The total number of spraying days represents, for example, the total number of days of pesticide spraying assigned to the temporary operator. The total reserve days represents, for example, the total number of reserve days of pesticide spraying assigned to the temporary operator. The total spraying area of a temporary operator under a fixed-term contract is, for example, the total spraying area assigned to a temporary operator under a fixed-term contract. The total travel distance of a temporary operator represents, for example, the total travel distance from the address where the assigned temporary operator is registered to the field related to the case. The violation penalty represents, for example, the number of conditions included in the first constraint condition that are not met.
[0115] The numerical values calculated based on the set values are not limited to these. The numerical values calculated based on the set values may include, for example, the travel distance from the field related to the case to the field related to the next case. Furthermore, the numerical values calculated based on the set values may include, for example, the travel distance from the field related to the case to the address registered for the virtual operator. Furthermore, the numerical values calculated based on the set values may include, for example, the total distance for the operator.
[0116] For example, the allocation processing module 2034 may flexibly change the weighting coefficient for each numerical value calculated based on the set values depending on the viewpoint of field allocation or the contents of the project information and the operation candidate information. Furthermore, the allocation processing module 2034 may, for example, calculate the objective function value by summing the numerical values calculated based on the set values without weighting them. Furthermore, for example, when second schedules and second man-hours are set for two or more projects, the allocation processing module 2034 may calculate the objective function value for each project and sum the calculated values to obtain the final objective function value.
[0117] In step S14, the server 20 finalizes the tentative candidate, as well as the second schedule and second man-hours set for the tentative candidate, based on the calculated objective function value.
[0118] Specifically, for example, the allocation processing module 2034 compares the calculated objective function value with a preset reference value. The reference value is set arbitrarily depending on the case information and the contents of the operation candidate information of each operation candidate, etc. Furthermore, the reference value may be stored, for example, in a memory (not shown) in the control unit 203, or may be stored in the storage unit 202. Alternatively, the reference value may be input from an input device included in the server 20. The allocation processing module 2034 determines whether the objective function value satisfies a predetermined relationship with the reference value, for example, whether the objective function value exceeds the reference value or whether the objective function value is below the reference value.
[0119] If the objective function value satisfies a predetermined relationship with the reference value, the assignment processing module 2034, for example, confirms the set tentative operator and the second schedule and second man-hours of the tentative operator as they are. The tentative operator confirmed to be in charge of the case becomes the operator.
[0120] On the other hand, if the objective function value does not satisfy the predetermined relationship with the reference value, the allocation processing module 2034 resets the second schedule, the second man-hours, or both, while maintaining the virtual operator, so as to satisfy, for example, the first constraint condition. Also, the allocation processing module 2034 resets the virtual operator, the second schedule, and the second man-hours, so as to satisfy, for example, the first constraint condition. The allocation processing module 2034 repeats the resetting of the virtual operator, the second schedule, and the second man-hours, for example, until the objective function value satisfies the predetermined relationship with the reference value.
[0121] The allocation processing module 2034 stores, for example, the operator, the confirmed schedule, and the confirmed man-hours in the assignment table 2023. The confirmed schedule is the confirmed second schedule, and the confirmed man-hours is the confirmed second man-hours.
[0122] In step S15, the server 20 presents the determined details of the operator, the determined schedule, and the determined man-hours to the manager / operator.
[0123] Specifically, for example, the presentation control module 2033 presents the operator, the confirmed schedule, and the confirmed man-hours to the manager / operator. The transmission control module 2032 transmits, for example, information for displaying the operator, the confirmed schedule, and the confirmed man-hours to the terminal device 10.
[0124] The transmitting / receiving unit 192 receives, for example, information for displaying the confirmed schedule and the confirmed man-hours from the server 20. For example, when the presentation control unit 193 receives a presentation request from a manager / operator, the presentation control unit 193 causes the display screen of the display 141 to display the confirmed contents (operator, confirmed schedule, and confirmed man-hours).
[0125] If the output device 14 is a printer, the presentation control module 2033 may, for example, control the presentation control unit 193 to print out a paper medium on which the finalized content is printed from the output device 14. Furthermore, it is not essential that the presentation control module 2033 presents the finalized content.
[0126] In addition, in the example shown in Figure 10, we have described a case where case information, field information, and operator candidate information are acquired in step S11, but the case information, field information, and operator candidate information may be acquired in advance before assigning the operator candidate.
[0127] 10 illustrates a case in which a virtual operator, a second schedule for the virtual operator, and a second man-hours are determined when the objective function value satisfies a predetermined relationship with a reference value. However, determining a virtual operator, a second schedule for the virtual operator, and a second man-hours is not limited to when the objective function value satisfies a predetermined relationship with a reference value. The allocation processing module 2034 sets a virtual operator that satisfies the first constraint condition, a second schedule for the virtual operator, and a second man-hours, and repeats the process of calculating the objective function value a predetermined number of times. For example, the allocation processing module 2034 determines a virtual operator that has calculated an optimal objective function value among the calculated objective function values, and a second schedule for the virtual operator and a second man-hours. The optimal objective function value is, for example, a value that takes the minimum value, a value that takes the maximum value, or a value that is closest to a predetermined value.
[0128] An example of a screen of the display 141 in which the confirmed contents (operator, confirmed schedule, and confirmed man-hours) are displayed will be described below with reference to Fig. 11. Fig. 11 is a schematic diagram showing an example of a screen of the display 141 in which the confirmed contents are displayed.
[0129] 11, for example, the confirmed schedules and confirmed man-hours for two cases (case 1 and case 2 in the figure) are displayed as confirmed details in a display area 1411. Also, in the example of Fig. 11, a numerical value calculated based on a set value is displayed in a display area 1412. The numerical value calculated based on the set value is the total value of the two cases.
[0130] 11 , the objective function values 1413 of the two cases are also displayed on the display screen of the display 141. That is, the transmission control module 2032 transmits, for example, information for displaying the objective function values 1413 to the terminal device 10. The transmitter / receiver 192 receives, for example, information for displaying the objective function values 1413 from the server 20. When the presentation control unit 193 receives, for example, a presentation request from the manager / operator, it causes the objective function values 1413 to be displayed on the display screen of the display 141.
[0131] 11 is merely an example, and various variations are possible regarding the display content and display mode of the confirmation content.
[0132] 4.2 Field and route setting The operation of the server 20 when setting a field and a route for each operator will be described. Fig. 12 is a flowchart showing an example of the operation of the server 20 when setting a field and a route for each operator. In the following description, a field that constitutes the subject of a case will be referred to as a target field. The flowchart shown in Fig. 12 may be performed consecutively from the flowchart shown in Fig. 10, or may be performed at a different timing from the flowchart shown in Fig. 10, for example.
[0133] In step S21, the server 20 acquires operator information of a plurality of operators.
[0134] Specifically, for example, the grouping processing module 2035 acquires the operator information of each operator by reading the operator information of each operator from the operation candidate table 2022. Note that the grouping processing module 2035 may acquire the operator information of each operator by accepting the operator information input from an input device included in the server 20, for example.
[0135] In step S22, the server 20 groups the target fields for each operator based on the productivity of each operator. In the following description, the group of target fields after grouping is referred to as a field group. A field group is an example of a group of fields according to one embodiment of the present disclosure.
[0136] Specifically, for example, the grouping processing module 2035 groups the project targets by operator based on the productivity and field information included in each operator information. More specifically, for example, when there are N operators, namely a first operator, a second operator, ..., an Nth operator (N: a natural number greater than or equal to 2), the grouping processing module 2035 groups one or more target fields to which the first operator will spray agrochemicals based on the productivity and field information of the first operator, to form a field group. Similarly, the grouping processing module 2035 groups one or more target fields to which the second operator to the Nth operator will spray agrochemicals based on the productivity and field information of each of the second operator to the Nth operator, to form a field group.
[0137] In this embodiment, the grouping processing module 2035 divides the project targets into two groups, for example, according to the distance between target fields included in the field information and within the movement range of the drone 30, which is not a moving body. The moving body may be any type of vehicle capable of transporting the drone 30, such as a transport vehicle.
[0138] For example, the grouping processing module 2035 first groups the subject of the project into flight-based field groups 41 as shown in Fig. 13. Fig. 13 is a schematic diagram showing an example of a flight-based field group 41. A flight-based field group refers to a group of fields where the distance between the fields is a distance that can be traveled by a specific operator in a single drone flight. The flight-based field group 41 is an example of a first group according to one aspect of the present disclosure.
[0139] The size of the group of fields 41 set as a flight unit can vary depending on the productivity of the operator. For example, a highly productive, i.e., high-grade, operator can travel a long distance in one flight. On the other hand, a low-productive, i.e., low-grade operator can travel a short distance in one flight. Therefore, the group of fields 41 set as a flight unit is set wide for a highly productive operator and narrow for a low-productive operator. The productivity referenced when grouping by flight unit is, for example, the flight cycle area, which represents the area that can be sprayed with agrochemicals in one flight without the drone having to land.
[0140] The concept of the distance between the target fields may be defined in any way. In this embodiment, the distance L between two adjacent target fields 411 is defined as the shortest distance between the centroid G1 of the two-dimensional figure of one target field 411 when viewed from above and the centroid G2 of the two-dimensional figure of the other target field 411 when viewed from above.
[0141] Next, the grouping processing module 2035 groups, for example, two or more flight-based field groups 41 into base-based field groups 42 as shown in FIG. 14. FIG. 14 is a schematic diagram showing an example of a base-based field group 42. A base-based field group refers to a group of fields where the distance between the fields is too far for a given operator to travel in a single drone flight, but is a distance that can be traveled by flying the drone separately from a single flight. The base-based field group 42 is an example of a second group according to one embodiment of the present disclosure.
[0142] The size of the group of fields 42 set as a base unit can vary depending on the productivity of the operator. For example, an operator with high productivity, i.e., a high grade, can fly over a wide range from a single base. On the other hand, an operator with low productivity, i.e., a low grade, can fly over a narrow range from a single base. Therefore, the group of fields 42 set as a base unit is set wide for an operator with high productivity and narrow for an operator with low productivity. The productivity referenced when grouping by base unit is, for example, the base diameter, which indicates the distance between fields that can be sprayed with one base. By forming the group of fields 42 by base unit, the grouping processing module 2035 completes the grouping of project targets.
[0143] Note that the two-stage grouping in this embodiment is merely an example, and various grouping methods may be employed. For example, the grouping processing module 2035 may use different grouping methods depending on the total area of the project targets. In this case, for example, if the total area of the project targets is relatively small, the grouping processing module 2035 may only perform grouping by flight. Furthermore, the unit of grouping is not limited to flight and base. Furthermore, in both cases where grouping is performed by flight and by base, a group of fields consisting of only one target field may be formed as a result of grouping.
[0144] When grouping the project targets, the grouping processing module 2035 changes the size of the group of fields based on, for example, the productivity of the operator. The group of fields whose size is changed by the grouping processing module 2035 may be at least one of the group of fields per flight and the group of fields per base. In this embodiment, the grouping processing module 2035 changes the size of both the group of fields per flight and the group of fields per base.
[0145] The grouping processing module 2035 changes the size of the group of fields by, for example, varying the distance between target fields that can be grouped depending on the productivity of multiple operators. That is, the grouping processing module 2035 sets a longer distance between target fields that can be grouped for an operator with a high productivity among multiple operators. On the other hand, the grouping processing module 2035 sets a shorter distance between target fields that can be grouped for an operator with a low productivity among multiple operators.
[0146] Furthermore, for example, the grouping processing module 2035 not only varies the distance between target fields that can be grouped, but also varies the number of target fields that can be grouped for each operator. That is, for example, the grouping processing module 2035 sets a large number of target fields that can be grouped for an operator with high productivity among multiple operators. On the other hand, the grouping processing module 2035 sets a small number of target fields that can be grouped for an operator with low productivity among multiple operators.
[0147] The concept of the size of a group of fields may be defined in any way. For example, when the distance between target fields is varied, the size of the group of fields is the area of the two-dimensional shape when the group of fields is viewed from above. Also, when the number of target fields is varied, the size of the group of fields is the total area of the target fields that make up the group of fields.
[0148] In this way, by varying the size of the fields based on the productivity of the operators, it is possible to achieve efficient spraying of pesticides, and also to assign the amount and content of spraying work to each operator that matches their productivity.
[0149] The method by which the grouping processing module 2035 changes the size of the group of fields is not limited to the example of this embodiment. The grouping processing module 2035 may, for example, employ only either the method of varying the distance between target fields or the method of varying the number of target fields. Furthermore, for example, the grouping processing module 2035 may vary the size of the group of fields by taking into account the grade of each operator in at least one of the methods of varying the distance between target fields and the method of varying the number of target fields. Furthermore, the grouping processing module 2035 does not need to change the size of the group of fields when dividing the project targets into groups.
[0150] The grouping processing module 2035 may perform grouping based on, for example, at least one of a river and a road. In this case, the rivers and roads may be, for example, those that pass through the subject of the case or those that are located near the subject of the case, as well as rivers and roads that are located in positions that may affect the grouping. In this way, by taking into account at least one of a river and a road when performing grouping, it is possible to achieve grouping that is more suited to the actual conditions of the various environments around the fields.
[0151] Specifically, for example, the grouping processing module 2035 may form a group of fields in units of flights so as not to cross rivers, both when forming a group of fields in units of bases and when forming a group of fields in units of flights. Furthermore, for example, the grouping processing module 2035 may form a group of fields in units of flights so as to include fields located on both sides of a road on which a mobile body such as a transport vehicle can travel.
[0152] In step S23, the server 20 refers to the group of fields divided by operator, and sets the target fields to be handled by each of the multiple operators who will spray pesticides on the project target, and the route for spraying pesticides in the target fields, so as to satisfy the second constraint condition.
[0153] Specifically, for example, the setting processing module 2036 simulates the spraying of agrochemicals on a group of fields grouped by operator based on the productivity of the multiple operators spraying the project target. Specifically, for example, the setting processing module 2036 sets a combination of fields by simulating the spraying of agrochemicals on a group of fields grouped by operator so as to satisfy the second constraints read from the second constraint condition table 2025 based on the spraying time [min / ha] of the multiple operators spraying the project target, the preparation / cleanup time per flight [min / time], the preparation / cleanup time per base [min / time], and the travel time by car [min / km].
[0154] The productivity of the operator involved in setting the combination of fields is not limited to the spraying time [min / ha], the preparation / cleanup time per flight [min / time], the preparation / cleanup time per base [min / time], and the travel time by car [min / km]. When setting the combination of fields, the grouping processing module 2035 may take into account, for example, the productivity of each operator as well as the following factors (A) to (D). By taking these factors into account, a simulation that is more suited to the various environments around the fields and the actual state of the drone 30 is possible. Each of the following factors (A) to (D) may be stored, for example, in a memory (not shown) in the control unit 203 or in the storage unit 202. Alternatively, each of the following factors (A) to (D) may be input from an input device provided in the server 20.
[0155] (a) Waiting time depending on weather conditions (e.g., rain, wind, temperature) (a) Standby time based on equipment adjustments for Drone 30 (c) Standby time based on charging the battery 340 depending on the temperature, etc. (d) Waiting time based on at least one of the commute times
[0156] For example, based on the combination of fields that have been set, the setting processing module 2036 calculates the spraying time of the operator with the lowest grade among multiple operators who will be spraying agrichemicals, for example, the operator with the slowest spraying time. The setting processing module 2036 compares the spraying times for each combination and determines the combination of fields that will minimize the spraying time of the operator with the slowest spraying time.
[0157] The setting processing module 2036, for example, routes the fields for each operator for each combination of grouped fields. Specifically, for example, the setting processing module 2036 sets the start and end points of the chemical spraying based on the second constraint. The setting processing module 2036 performs a predetermined route optimization process using the start and end points for the fields assigned to each of the multiple operators, thereby connecting the fields assigned to each operator via the shortest route.
[0158] In step S24, the server 20 presents the target field and the route setting results to the manager / operator.
[0159] Specifically, for example, the presentation control module 2033 presents the set target field and route to the manager / operator. The transmission control module 2032 transmits, for example, information for displaying the set target field and route to the terminal device 10.
[0160] The transmitting / receiving unit 192 receives, for example, information for displaying the set target field and route from the server 20. When the presentation control unit 193 receives, for example, a presentation request from the manager / operator, it displays the setting results (the set target field and route) on the display screen of the display 141.
[0161] If the output device 14 is a printer, the presentation control module 2033 may, for example, control the presentation control unit 193 to print out a paper medium on which the setting results are printed from the output device 14. Furthermore, it is not essential that the presentation control module 2033 presents the setting results.
[0162] An example of a screen on the display 141 when the setting results (the set target field and route) are displayed will be described below with reference to Fig. 15. Fig. 15 is a schematic diagram showing an example of a screen on the display 141 when the setting results are displayed.
[0163] In the example shown in Figure 15, for example, a two-dimensional image 1414 is displayed as a setting result on the display screen of the display 141. The two-dimensional image 1414 shows, for example, a target field 14141 where the first operator will spray pesticide and a pesticide spraying path 14142, as well as a target field 14143 where the second operator will spray pesticide and a pesticide spraying path 14144. Also, in the example shown in Figure 15, the predicted end time of the first operator's pesticide spraying and the predicted end time of the second operator's pesticide spraying are displayed in the display area directly below the two-dimensional image 1414.
[0164] That is, the transmission control module 2032 transmits, for example, information for displaying the two-dimensional image 1414 to the terminal device 10. The transmitting / receiving unit 192 receives, for example, information for displaying the two-dimensional image 1414 from the server 20. For example, when the presentation control unit 193 receives a presentation request from the manager / operator, the presentation control unit 193 displays the two-dimensional image 1414 on the display screen of the display 141.
[0165] Note that the screen example in Figure 15 is merely an example. Various variations are expected for the display content and display format of the setting results. For example, the presentation control module 2033 may display on the display 141, as the setting result, a three-dimensional image showing the target field where the operator will spray pesticide and the pesticide spraying route. In this case, the three-dimensional image may also show, for example, changes in altitude along the route. Also, for example, the presentation control module 2033 may simultaneously display the setting result and the confirmed content on the display 141. Also, for example, the presentation control module 2033 may not display the predicted end time on the display 141.
[0166] [5 Summary] As described above, in this embodiment, the reception control module 2031 acquires case information from an information processing device or the like operated by the case requester. The allocation processing module 2034 sets multiple tentative candidates based on each operation candidate information received from the reception control module 2031. The allocation processing module 2034 sets a second schedule and a second man-hours for each tentative operator so as to satisfy the first constraint condition based on the case information and the operation candidate information of the tentative operator received from the reception control module 2031. The allocation processing module 2034 calculates an objective function value by summing weighted numerical values for each index constituting the set second man-hours. The allocation processing module 2034 determines whether the calculated objective function value is equal to or greater than a reference value, thereby finalizing the second schedule and the second man-hours.
[0167] As a result, the server 20 can set the second schedule and the second man-hours according to the actual situation of the case, the characteristics of the operation candidate, etc., simply by acquiring the case information and the operation candidate information. Therefore, it is possible to efficiently assign operators to cases.
[0168] Furthermore, in this embodiment, the reception control module 2031 acquires field information included in the project information from an information processing device operated by the project client. The grouping processing module 2035 acquires operator information from the allocation processing module 2034. The grouping processing module 2035 groups the project targets by operator based on the productivity included in the operator information. The setting processing module 2036 references the groups of fields grouped by operator and sets the target fields responsible for each of the multiple operators who will spray the project targets with agrochemicals, and the agrochemical spraying routes for the target fields, so as to meet a specified schedule.
[0169] As a result, the server 20 can set a target field and route according to the operator's productivity, the actual conditions of the target field, etc., simply by acquiring field information and operator information. Therefore, when multiple operators are each assigned to spray a pesticide on a project target, a target field and route can be efficiently set for each operator.
[0170] In this embodiment, the grouping processing module 2035 groups the project targets in two stages according to the distance between the target fields and within the movement range of the drone 30, which is not a moving body. Specifically, the grouping processing module 2035 first groups the project targets into groups of fields on a flight-by-flight basis. Next, the grouping processing module 2035 groups two or more groups of fields on a flight-by-flight basis into a group of fields on a base-by-base basis.
[0171] This allows the server 20 to group the project targets in accordance with the actual distance between the target fields, thereby enabling efficient and appropriate setting of target fields and routes for each operator.
[0172] [6. Modifications] <6.1 First Modification> In the present embodiment, an example has been described in which the server 20 finalizes the tentative operator, the second schedule, and the second man-hours when the objective function value satisfies a predetermined relationship with the reference value. However, the conditions for finalizing the tentative operator, the second schedule, and the second man-hours are not limited to this. For example, the server 20 may create an evaluation of the set tentative operator, the second schedule, and the second man-hours, and finalize the tentative operator, the second schedule, and the second man-hours based on input for the created evaluation.
[0173] Specifically, for example, the allocation processing module 2034 calculates values relating to a plurality of preset evaluation items based on the set virtual operator, schedule, and man-hours.
[0174] There are no particular limitations on the content of the multiple evaluation items, as long as they are content that allows evaluation of the finalized content of the second schedule and second man-hours. The multiple evaluation items include, for example, sprayed area, assignment rate, total cost, area unit price, contracted area achievement rate, grade average, surplus days, insufficient area, and the number of cases handled only by operators with general contracts. All of these evaluation items are expressed as calculated values, but they may also be expressed as indices such as "A, B, C, ...," "excellent, high, medium, ...," etc.
[0175] When the allocation processing module 2034 evaluates each operator's confirmed schedule and confirmed man-hours as a whole, the evaluation items exemplified above are defined as follows: The sprayed area is the total sprayed area of each operator. The assignment rate is the ratio of the total area of the target field actually assigned to each operator to the sprayed area. The total cost is the total cost paid to each operator. If there is an area manager who oversees the spraying work for the project targets, the cost paid to the area manager is also included in the total cost. The area cost is the cost paid to each operator (or area manager) per unit area of the target field. The contract area achievement rate is the ratio of the total area of the target field assigned to each operator to the total contracted area of each operator under a fixed-term contract. The grade average is the average grade of each operator. The number of surplus days is the average number of reserve days included in each operator's confirmed schedule. The shortage area is the difference obtained by subtracting the total area of the target field actually assigned to each operator from the ordered area.
[0176] In this way, the server 20 determines the provisional operator, the second schedule, and the second man-hours based on the input for the created evaluation, thereby more reliably ensuring the validity of the determined contents of the provisional operator, the second schedule, and the second man-hours.
[0177] The presentation control module 2033 may, for example, present the evaluation results obtained by the allocation processing module 2034 to the manager / operator. Specifically, for example, the transmission control module 2032 may transmit information for displaying the evaluation results to the terminal device 10. The transmission / reception unit 192 may, for example, receive information for displaying the evaluation results from the server 20. For example, when the presentation control unit 193 receives a presentation request from the manager / operator, it may cause the evaluation results to be displayed on the display screen of the display 141.
[0178] If the output device 14 is a printer, the presentation control module 2033 may, for example, control the presentation control unit 193 to print out a paper medium on which the evaluation results are printed from the output device 14. Furthermore, it is not essential that the presentation control module 2033 presents the evaluation results.
[0179] An example of a screen of display 141 in a state where the evaluation result is displayed will be described below with reference to Fig. 16. Fig. 16 is a schematic diagram showing an example of a screen of display 141 in a state where the evaluation result is displayed.
[0180] 16, for example, a summary 1415 is displayed as an evaluation result on the display screen of the display 141. The summary 1415 shows evaluation results 14151 (calculated values) of a plurality of evaluation items in list form, and also shows an overall evaluation result 14152. The overall evaluation result 14152 is the total value of each evaluation result 14151. The summary 1415 also shows an objective function value 14153 and a calculation basis 14154 of the objective function value 14153. The calculation basis 14154 is a numerical value calculated based on a setting value included in the second man-hours multiplied by a coefficient related to weighting.
[0181] In the example shown in FIG. 16, the summary 1415 contains the overall evaluation of the confirmed schedule and confirmed man-hours of each operator for each evaluation result 14151 and the overall evaluation result 14152.
[0182] 16 is merely an example, and various variations are envisioned for the display content and display manner of the evaluation results. For example, the summary 1415 displayed on the display screen of the display 141 does not necessarily have to show the objective function value 14153 and the calculation basis 14154.
[0183] <6.2 Second Modification> In this embodiment, for example, a plurality of perspectives for setting the virtual operator, the second schedule, and the second man-hours may be defined. The allocation processing module 2034 may, for example, set the second schedule and the second man-hours for each virtual operator for each perspective. The allocation processing module 2034 may, for example, evaluate the second schedule and the second man-hours set for each perspective. The evaluation method itself may be, for example, the same as that of the first modified example.
[0184] There are no particular limitations on the content of the multiple viewpoints, as long as the second schedule and second man-hours can be set. The multiple viewpoints may include, for example, at least one of minimizing the cost of spraying pesticides (hereinafter, cost minimization), the quality of the operator, the number of backup days for spraying pesticides (hereinafter, robustness), and the ease of managing the confirmed schedule and confirmed man-hours (hereinafter, manageability).
[0185] Robustness indicates the degree to which reserve days are secured, assuming that the number of distribution days remains constant. For example, if the number of reserve days is increased while maintaining the number of distribution days, robustness improves. Manageability indicates the degree to which the contents of the confirmed schedule and confirmed labor hours change before and after each execution, assuming that the allocation processing module 2034 repeatedly executes the schedule / management hour setting process for the same project at a fixed interval (e.g., once a day). The smaller the degree of content change, the higher the manageability. As a general rule, the allocation processing module 2034 executes the setting process so as to increase manageability.
[0186] When setting the tentative operator, the second schedule, and the second man-hours from the viewpoint of “cost minimization,” the allocation processing module 2034 may, for example, adjust a weighting coefficient by which a numerical value that may affect the realization of cost minimization is multiplied among multiple numerical values calculated based on the setting values. When setting the tentative operator, the second schedule, and the second man-hours from the viewpoint of “operator quality,” the allocation processing module 2034 may, for example, exclude low-grade operator candidates from the allocation targets. When setting the tentative operator, the second schedule, and the second man-hours from the viewpoint of “robustness,” the allocation processing module 2034 may, for example, allow for a surplus of spare days when setting the second schedule. When setting the tentative operator, the second schedule, and the second man-hours from the viewpoint of “manageability,” the allocation processing module 2034 may, for example, execute the next setting process so that the degree of change in the content of the confirmed schedule and the confirmed man-hours is smaller than the degree of change in the content before and after the previous setting process and the current setting process.
[0187] In this way, the server 20 sets the virtual operator, the second schedule, and the second man-hours for each perspective, so that the manager / operator can select a setting result corresponding to the perspective that is emphasized depending on the case from among a plurality of setting results. Also, the server 20 evaluates the setting results for each perspective, so that the manager / operator can objectively and multilaterally determine which setting result to select from among the plurality of setting results.
[0188] The presentation control module 2033 may, for example, present to the manager / operator the evaluation results for each viewpoint obtained by the allocation processing module 2034. That is, the presentation control unit 193 may, for example, display a summary 1415 for each viewpoint on the display screen of the display 141 in the example of FIG.
[0189] <6.3 Third Modification> In this embodiment, an example has been described in which the server 20 does not take into account the ease / difficulty of spraying pesticides for each target field when simulating pesticide spraying. However, the server 20 may, for example, perform a simulation taking into account the ease of spraying pesticides for each target field. Specifically, for example, when simulating pesticide spraying, the server 20 may adjust at least one of the preparation time and cleanup time for each flight based on the difficulty of spraying pesticides in each of the multiple fields that make up the project target.
[0190] The difficulty level is an index that indicates the degree of ease / difficulty of spraying a chemical in a target field, and its level can be determined based on various perspectives. For example, if the difficulty level is high, it takes time to check the target field and its surrounding area, which increases the preparation / cleanup time for each flight. The difficulty level may be included in the field information or stored in the case table 2021, for example.
[0191] In the third variant, the server 20 determines the level of difficulty based on the topography of the target field, the presence or absence of roads around the target field, the density of the target field in the project, and the presence or absence of obstacles inside and around the target field.
[0192] The viewpoint "topography of the target field" affects the technical difficulty of spraying chemicals, etc., and can therefore be one viewpoint for determining the level of difficulty. This viewpoint can be important, for example, when the target field is a rice terrace. The server 20 may grasp the topography of the target field, for example, by analyzing a three-dimensional image of the target field captured by the camera 360 and calculating the relative altitude.
[0193] The viewpoint "presence or absence of roads around the target field" can be one viewpoint for determining the level of difficulty, since the presence or absence of roads affects the time required for the series of tasks related to spraying agrichemicals. The server 20 may determine the presence or absence of roads by, for example, analyzing two-dimensional or three-dimensional images of the target field captured by the camera 360.
[0194] The perspective "density of the target field in the case subject" can be one perspective for determining the level of difficulty, since the level of density affects the total work time required for spraying agrochemicals. The server 20 may calculate the density, for example, by analyzing two-dimensional or three-dimensional images of the target field captured by the camera 360. The server 20 may calculate the density, for example, by dividing the total area of the multiple target fields that make up the case subject when viewed in a plane by the area of the case subject when viewed in a plane.
[0195] The perspective "presence or absence of obstacles inside and around the target field" affects the technical difficulty of spraying agrochemicals, etc., and can therefore be one perspective for determining the level of difficulty. This perspective can be important, for example, when the area around the target field is a residential area, a mountainous area, etc. The server 20 may determine the presence or absence of obstacles by, for example, analyzing two-dimensional or three-dimensional images of the target field captured by the camera 360.
[0196] More specifically, for example, when simulating a pesticide spraying, the setting processing module 2036 may obtain the difficulty level for each target field from the field information. Also, for example, when simulating a pesticide spraying, the setting processing module 2036 may read case information corresponding to the case to be simulated from the case table 2021 and obtain the difficulty level for each target field. For example, the setting processing module 2036 may adjust at least one of the preparation time and cleanup time for each flight by simulating a pesticide spraying while taking into account the obtained difficulty level. This makes it possible to set a target field and route that better matches the actual conditions of the target field and its surroundings.
[0197] Note that the parameters that the setting processing module 2036 adjusts to take into account the degree of difficulty when performing a simulation are not limited to at least one of the preparation time and cleanup time per flight. The setting processing module 2036 may adjust parameters such as the spraying time, the spray amount, and the altitude of the drone 30 during pesticide spraying. Furthermore, for example, the setting processing module 2036 may adjust at least one of the preparation time and cleanup time per base.
[0198] <6.4 Fourth Modification> In this embodiment, an example has been described in which the combination of the target field and route assigned to an operator is not divided into multiple patterns. However, the server 20 may, for example, set multiple patterns of the above-mentioned combinations. Specifically, for example, the server 20 may set multiple patterns for each of multiple operators, combining the target field that each operator is responsible for and the route for spraying agrichemicals in the target field, and select the pattern that provides the optimal route from the multiple patterns.
[0199] More specifically, for example, the setting processing module 2036 may refer to the results of a pesticide spray simulation based on the field group information and operator information and set multiple patterns of combinations of target fields and routes that satisfy the constraints for each operator. The setting processing module 2036 may select the optimal route pattern from the multiple patterns for each operator, for example, based on the operator information. The "optimal route" refers to the route that allows for the most efficient pesticide spraying. Therefore, the "optimal route" is preferably the shortest route among the multiple patterns. This allows for the setting of a route that is more suited to the operator's productivity / operation skills, the actual conditions of the target field, etc.
[0200] [7 Basic Computer Hardware Configuration] 17 is a block diagram showing the basic hardware configuration of a computer 90. The computer 90 includes at least a processor 901, a main memory device 902, an auxiliary memory device 903, and a communication IF 991 (interface), which are electrically connected to one another by a communication bus 921.
[0201] The processor 901 is hardware for executing an instruction set written in a program, and is composed of an arithmetic unit, registers, peripheral circuits, and the like.
[0202] The main memory device 902 is used to temporarily store programs, data to be processed by the programs, etc. For example, it is a volatile memory such as a DRAM (Dynamic Random Access Memory).
[0203] The auxiliary storage device 903 is a storage device for saving data and programs, such as a flash memory, a hard disk drive (HDD), a magneto-optical disk, a CD-ROM, a DVD-ROM, or a semiconductor memory.
[0204] The communication IF 991 is an interface for inputting and outputting signals for communicating with other computers via a network using wired or wireless communication standards.
[0205] The network is composed of the Internet, a LAN, various mobile communication systems constructed by wireless base stations, etc. For example, the network includes 3G, 4G, and 5G mobile communication systems, LTE (Long Term Evolution), and wireless networks (e.g., Wi-Fi (registered trademark)) that can connect to the Internet via a predetermined access point. In the case of a wireless connection, communication protocols include, for example, Z-Wave (registered trademark), ZigBee (registered trademark), and Bluetooth (registered trademark). In the case of a wired connection, the network also includes a direct connection using a USB (Universal Serial Bus) cable, etc.
[0206] It should be noted that the computer 90 can be virtually realized by distributing all or part of each hardware configuration across multiple computers 90 and interconnecting them via a network. In this way, the computer 90 is a concept that includes not only a computer 90 housed in a single housing or case, but also a virtualized computer system.
[0207] [8 Basic Functional Configuration of a Computer] The following describes the functional configuration of a computer realized by the basic hardware configuration (FIG. 17) of the computer 90. The computer includes at least the functional units of a control unit, a storage unit, and a communication unit.
[0208] The functional units of the computer 90 can also be realized by distributing all or part of the functional units among multiple computers 90 interconnected via a network. The computer 90 is a concept that includes not only a single computer 90 but also a virtualized computer system.
[0209] The control unit is realized by the processor 901 reading out various programs stored in the auxiliary storage device 903, expanding them in the main storage device 902, and executing processing in accordance with the programs. The control unit can realize functional units that perform various types of information processing depending on the type of program. In this way, the computer is realized as an information processing device that performs information processing.
[0210] The storage unit is realized by a main storage device 902 and an auxiliary storage device 903. The storage unit stores data, various programs, and various databases. Furthermore, the processor 901 can allocate a storage area corresponding to the storage unit in the main storage device 902 or the auxiliary storage device 903 in accordance with the programs. Furthermore, the control unit can cause the processor 901 to execute processes for adding, updating, and deleting data stored in the storage unit in accordance with the various programs.
[0211] A database refers to a relational database, which manages data sets called masters and tables in a tabular format structurally defined by rows and columns, by relating them to each other. In a database, a table is called a table, a master, a column in a table is called a column, and a row in a table is called a record. In a relational database, relationships between tables and masters can be set and associated.
[0212] Typically, each table and each master has a column set as a primary key to uniquely identify a record, but setting a primary key to a column is not essential. The control unit can cause the processor 901 to add, delete, or update records in specific tables and masters stored in the storage unit according to various programs.
[0213] Furthermore, by storing data, various programs, and various databases in the storage unit, it can be considered that the information processing device and information processing system according to the present disclosure have been manufactured.
[0214] Note that the databases and masters in this disclosure may include any data structure in which information is structurally defined (such as a list, dictionary, associative array, or object). The data structure also includes data that can be considered as a data structure by combining data with functions, classes, methods, etc. written in any programming language.
[0215] The communication unit is realized by the communication IF 991. The communication unit realizes a function of communicating with other computers 90 via a network. The communication unit can receive information transmitted from other computers 90 and input the information to the control unit. The control unit can cause the processor 901 to execute information processing on the received information in accordance with various programs. In addition, the communication unit can transmit information output from the control unit to other computers 90.
[0216] Furthermore, some or all of the above-described configurations, functions, processing units, processing means, etc. may be implemented in hardware, for example, by designing them as integrated circuits. The present invention can also be realized by software program code that implements the functions of the embodiments. In this case, a storage medium on which the program code is recorded is provided to a computer, and a processor included in the computer reads the program code stored in the storage medium. In this case, the program code itself read from the storage medium implements the functions of the above-described embodiments, and the program code itself and the storage medium on which it is stored constitute the present invention. Examples of storage media for providing such program code include flexible disks, CD-ROMs, DVD-ROMs, hard disks, SSDs, optical disks, magneto-optical disks, CD-Rs, magnetic tapes, non-volatile memory cards, and ROMs.
[0217] Furthermore, the program code that realizes the functions described in this embodiment can be implemented in a wide range of program or script languages, such as assembler, C / C++, perl, Shell, PHP, and Java (registered trademark).
[0218] Furthermore, the program code of the software that realizes the functions of the embodiments may be distributed via a network and stored in a storage means such as a computer's hard disk or memory, or in a storage medium such as a CD-RW or CD-R, and the processor of the computer may read and execute the program code stored in the storage means or the storage medium.
[0219] The functions performed by the components described herein may be implemented in circuitry or processing circuitry, including general-purpose processors, application-specific processors, integrated circuits, ASICs (Application Specific Integrated Circuits), a CPU (a Central Processing Unit), conventional circuits, and / or combinations thereof, programmed to perform the described functions. A processor includes transistors and other circuits and is considered to be circuitry or processing circuitry. A processor may also be a programmed processor that executes programs stored in memory.
[0220] In this specification, a circuitry, unit, or means is hardware that is programmed to realize or performs the described functions, which may be any hardware disclosed herein or any hardware known to be programmed to realize or perform the described functions.
[0221] If the hardware is a processor considered to be a type of circuitry, the circuitry, means, or unit is a combination of the hardware and software used to configure the hardware and / or processor.
[0222] Although several embodiments of the present disclosure have been described above, these embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and modifications are intended to be included in the scope of the inventions and their equivalents as defined in the claims, as well as in the scope and spirit of the inventions.
[0223] [9. Appendix] The matters described in the above embodiments will be supplemented below.
[0224] <Appendix 1> A program to be executed by a computer having a processor and a memory, the program causing the processor to execute the following steps: acquiring information about a case, including a first schedule and a first man-hour for pesticide spraying by operating an aircraft, and information about multiple operators to whom the case may be assigned; setting a second schedule and a second man-hour for pesticide spraying for the multiple operators based on the acquired information about the operators so as to satisfy predetermined constraints; calculating an index value indicating the degree of validity of the second schedule and second man-hour set for the multiple operators based on the set second schedule and second man-hour; and confirming the second schedule and second man-hour set for the multiple operators based on the calculated index value.
[0225] <Appendix 2> The program described in Appendix 1, wherein the constraint conditions include setting a backup day for pesticide spraying on at least one of the days before and after consecutive spraying dates.
[0226] <Appendix 3> The program according to (Appendix 1) or (Appendix 2), wherein the constraint condition includes avoiding only operators whose operation skills are higher than a predetermined standard from being assigned to the job.
[0227] <Appendix 4> The program according to any one of (Appendix 1) to (Appendix 3), wherein the constraint condition includes that the second man-hours set for an operator who has concluded a specified employment contract be within a specified range.
[0228] <Appendix 5> In the confirmation step, the second schedule and second man-hours set for multiple operators are evaluated, and the second schedule and second man-hours are confirmed based on the evaluation results, according to any one of (Appendix 1) to (Appendix 4).
[0229] <Appendix 6> In the setting step, a plurality of viewpoints are defined, and a second schedule and a second man-hours for a plurality of operators are set for each viewpoint; In the determining step, the second schedule and the second man-hours set for each viewpoint are evaluated (Supplementary Note 5).
[0230] <Appendix 7> The multiple aspects include at least one of minimizing the cost of spraying pesticides, the quality of the operator, the number of backup days for spraying pesticides, and the ease of managing the confirmed second schedule and second labor hours (Appendix 6).
[0231] <Appendix 8> The program according to any one of (Supplementary Note 1) to (Supplementary Note 7), wherein the setting step determines a setting order of the second schedules and the second man-hours for a plurality of operators based on a predetermined condition.
[0232] <Appendix 9> The program described in (Appendix 8), wherein the predetermined conditions include giving priority to operators under fixed-term contracts over operators under individual contracts.
[0233] <Appendix 10> The program described in (Appendix 9) in which the predetermined conditions include giving priority to operators designated by the client of the project over operators under fixed-term contracts.
[0234] <Appendix 11> An information processing device comprising a control unit and a storage unit, wherein the control unit executes all steps in the program according to any one of (Supplementary Note 1) to (Supplementary Note 10).
[0235] <Appendix 12> A method executed by a computer having a processor and a memory, wherein the processor executes all steps in the program described in any one of (Appendix 1) to (Appendix 10).
[0236] <Appendix 13> A system comprising means for executing all steps in the program described in any one of (Appendix 1) to (Appendix 10). [Explanation of symbols]
[0237] 1. System 10...Terminal device 120…Communications Department 13...Input device 14...Output device 15...Memory 16…Storage 19...Processor 20...Server 22...Communication IF 23...Input / output interface 25…Memory 26…Storage 29...Processor 30...Drone
Claims
1. A program to be executed by a computer having a processor and a memory, The program causes the processor to: A step of acquiring information about the case, including a first schedule and a first man-hour for spraying pesticides by operating an aircraft, and information about multiple operators to whom the case can be assigned; A step of setting a second schedule and a second man-hour for the pesticide spraying for the multiple operators so as to satisfy predetermined constraints based on the acquired information about the operators; calculating an index value indicating the degree of validity of the second schedule and the second man-hours set for the plurality of operators based on the set second schedule and the set second man-hours; and a step of finalizing the second schedule and the second man-hours set for the plurality of operators based on the calculated index value.
2. The program according to claim 1 , wherein the constraint condition includes setting a backup day for the pesticide spraying on at least one of the days before and after the consecutive spraying dates.
3. The program according to claim 1 , wherein the constraint condition includes avoiding only the operator whose operation skill is higher than a predetermined standard from being assigned to the job.
4. The program according to claim 1 , wherein the constraint condition includes that the second man-hours set for the operator who has signed a predetermined employment contract are within a predetermined range.
5. 2. The program according to claim 1, wherein the step of confirming includes evaluating the validity of the second schedule and the second man-hours set for the plurality of operators by calculating values related to a plurality of predetermined evaluation items, and confirming the second schedule and the second man-hours based on the evaluation results.
6. In the setting step, a plurality of viewpoints are defined, and the second schedule and the second man-hours are set for the plurality of operators for each of the viewpoints; The program according to claim 5, wherein in the determining step, the validity of the second schedule and the second man-hours set for each of the viewpoints is evaluated by calculating values relating to a plurality of evaluation items set in advance for each of the viewpoints.
7. 2. The program according to claim 1, wherein the setting step determines an order of operators to be set with the second schedule and the second man-hours among the plurality of operators based on a predetermined condition.
8. 8. The program according to claim 7, wherein the predetermined condition includes giving priority to the operator under a fixed-term contract over an operator under an individual contract.
9. 9. The program according to claim 8, wherein the predetermined condition includes giving priority to the operator designated by a client of the job over the operator under a fixed-term contract.
10. 10. An information processing apparatus comprising: a control unit; and a storage unit, wherein the control unit executes all steps of the program according to any one of claims 1 to 9.
11. A method implemented on a computer having a processor and a memory, wherein the processor executes all the steps of the program of any one of claims 1 to 9.
12. A system comprising means for executing all steps of the program according to any one of claims 1 to 9.
Citation Information
Patent Citations
Unmanned aerial vehicle work ticket assignment method, device and unmanned aerial vehicle operating system
CN105976093A
Smart agriculture support system and smart agriculture support method
JP2021114271A
Program, method and information processing device
JP2024018133A
Drone drug spraying flight control method and information processing terminal
JP7510699B2
Schedule management device and schedule management system
WO2020004352A1