Program, information processing device, method, and system
A computer-executed program efficiently assigns operators to cases by setting schedules and man-hours, addressing inefficiencies in existing systems and optimizing resource allocation.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- OPTIM
- Filing Date
- 2025-10-28
- Publication Date
- 2026-05-07
AI Technical Summary
Existing systems face inefficiencies in assigning operators to cases, particularly when multiple operators and cases are involved, leading to increased administrative burden.
A program executed by a computer that acquires case information, sets schedules and man-hours for multiple operators, calculates an index value for appropriateness, and confirms the schedule and man-hours based on this value to efficiently assign operators.
This approach enables efficient operator assignment to cases, optimizing schedules and man-hours while satisfying predefined constraints.
Smart Images

Figure JP2025037720_07052026_PF_FP_ABST
Abstract
Description
Program, Information Processing Apparatus, Method, and System
[0001] The present disclosure relates to a program, an information processing apparatus, a method, and a system.
[0002] In recent years, the application of small helicopters (multicopters) called drones has been progressing. For example, drones are used for spraying chemicals on farmland (fields) and for inspecting facilities such as bridges, buildings, or tunnels.
[0003] Patent Document 1 discloses a technique for assisting the assignment of an operator who can smoothly acquire inspection data for each facility. For example, the apparatus disclosed in Patent Document 1 determines the required skills for operating a flying object when flying the flying object around a facility to acquire inspection data for the facility, based on related information related to the facility to be inspected. Further, this apparatus determines an operator having the required skills determined based on the related information as the person in charge of the facility.
[0004] Japanese Patent No. 7510699
[0005] In the technique disclosed in Patent Document 1, when there are a plurality of cases and there are a plurality of operators to be assigned, the burden on the administrator increases when trying to efficiently assign operators to the cases.
[0006] An object of the present disclosure is to efficiently perform the assignment of an operator to a case.
[0007] To solve the aforementioned problems, a program according to one aspect of the present disclosure is a program to be executed by a computer having a processor and memory. The program causes the processor to perform the following steps: acquire information about a case, including a first schedule and first man-hours for spraying pesticides by operating an aircraft, and information about a plurality of operators to whom the case may be assigned; set a second schedule and second man-hours for spraying pesticides for the plurality of operators based on the acquired operator information, so as to satisfy pre-set constraints; calculate an index value indicating the degree of appropriateness of setting the second schedule and second man-hours for the plurality of operators based on the set second schedule and second man-hours; and confirm the second schedule and second man-hours set for the plurality of operators based on the calculated index value.
[0008] According to this disclosure, the assignment of operators to cases can be carried out efficiently.
[0009] This is a block diagram showing an example of the overall configuration of System 1. This is a block diagram showing an example of the configuration of the terminal device 10 shown in Figure 1. This is a block diagram showing an example of the configuration of the server 20 shown in Figure 1. This is a block diagram showing an example of the configuration of the drone 30 shown in Figure 1. This is a diagram showing the data structure of the case table 2021 shown in Figure 3. This is a diagram showing the data structure of the operator candidate table 2022 shown in Figure 3. This is a diagram showing the data structure of the assignment table 2023 shown in Figure 3. This is a diagram showing the data structure of the first constraint table 2024 shown in Figure 3. This is a diagram showing the data structure of the second constraint table 2025 shown in Figure 3. This is a flowchart showing an example of the operation of the server 20 when confirming the second schedule and the second man-hours. This is a schematic diagram showing an example of the screen of the display 141 with the confirmed contents displayed. This is a flowchart showing an example of the operation of the server 20 when setting fields and routes for each operator. This is a schematic diagram showing an example of a field group 41 for a flight unit. This is a schematic diagram showing an example of a field group 42 for a base unit. This is a schematic diagram showing an example of the screen of the display 141 with the setting results displayed. This is a schematic diagram showing an example of the screen of the display 141 with the evaluation results displayed. This is a diagram showing the basic hardware configuration of computer 90.
[0010] The embodiments of this disclosure will be described below with reference to the drawings. In all the drawings illustrating the embodiments, common components are denoted by the same reference numerals, and repeated explanations are omitted. The following embodiments are not intended to unduly limit the content of this disclosure as described in the claims. Not all components shown in the embodiments are necessarily essential components of this disclosure. Also, each drawing is a schematic diagram and is not necessarily a strict illustration.
[0011] [1. Overview] The server according to this embodiment acquires information about a project, including a first schedule and first man-hours for pesticide spraying performed by operating a drone, and information about multiple operators who may be assigned to the project. Based on the acquired operator information, the server according to this embodiment sets a second schedule and second man-hours for pesticide spraying for the multiple operators so as to satisfy pre-set constraints. Based on the set second schedule and second man-hours, the server according to this embodiment calculates an index value. Based on the calculated index value, the server according to this embodiment determines a third schedule and third man-hours for pesticide spraying for the multiple operators.
[0012] The aforementioned processes performed by the server according to this embodiment are intended for the application of pesticides by aerial vehicles such as drones, but there is potential for their application to other applications. For example, they may be applicable to seeding, fertilization, etc., instead of pesticide spraying. Also, for example, they may be applicable to ground-based mobile vehicles such as seeders and fertilizer spreaders, instead of aerial vehicles.
[0013] [2. Overall System Configuration] Figure 1 is a block diagram showing an example of the overall configuration of System 1. System 1 is a system for providing a service (hereinafter referred to as the pesticide spraying service) of spraying pesticides on fields requested by clients. System 1 shown in Figure 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 by communication via, for example, a network 80.
[0014] In Figure 1, an example is shown where System 1 includes one terminal device 10; however, System 1 may include two or more terminal devices 10. Also, in Figure 1, an example is shown where System 1 includes one server 20; however, a collection of multiple devices may be considered as one server 20. The method of distributing the multiple functions required to realize Server 20 to one or more hardware can be appropriately determined according to the processing capacity of each hardware and / or the specifications required for Server 20. Furthermore, in Figure 1, for the sake of simplification of the illustration, an example is shown where System 1 includes one drone 30; however, in reality, System 1 includes drones 30 equal to the number of operators.
[0015] Terminal device 10 is an information processing device operated by, for example, the administrator / operator of System 1 (hereinafter abbreviated as administrator / operator). Terminal device 10 is implemented by, for example, a mobile terminal such as a smartphone or tablet. In this embodiment, terminal device 10 is assumed to be a tablet. Terminal device 10 may also be implemented by, for example, a stationary PC (Personal Computer), a laptop PC, etc.
[0016] The terminal device 10 comprises a communication interface (IF) 12, an input device 13, an output device 14, a memory 15, storage 16, and a processor 19. The input device 13 is a device for receiving input operations from the administrator / operator (e.g., a touch panel, touchpad, mouse or other pointing device, keyboard, etc.). The output device 14 is a device for presenting information to the administrator / operator (display, speaker, etc.). In this embodiment, the terminal device 10 is assumed to have a touch panel that integrates the input device 13 and the output device 14.
[0017] Server 20 is, for example, an information processing device for managing and operating a pesticide spraying service, and is implemented by a computer connected to the network 80. As shown in Figure 1, Server 20 includes a communication IF 22, an input / output IF 23, a memory 25, a storage 26, and a processor 29. The input / output IF 23 functions as an interface for an input device that receives input operations from the administrator / operator, and an output device that outputs information to the administrator / operator.
[0018] In this embodiment, the information processing device used by the administrator / operator is separated into a terminal device 10 and a server 20, but this is not the only possible configuration. For example, the server 20 may have the functions of the terminal device 10. In this case, the terminal device 10 becomes unnecessary in system 1, and system 1 includes the server 20 and the drone 30.
[0019] The drone 30 is a small unmanned aerial vehicle (UAV) that sprays pesticides on at least one of several fields that are targeted for pesticide application, and is an example of an aircraft according to one aspect of this disclosure. However, the aircraft according to one aspect of this disclosure is not limited to the drone 30, and may be, for example, a helicopter, a radio-controlled aircraft, etc.
[0020] Each information processing device, such as the terminal device 10 and the server 20, is composed of a computer 90 (see Figure 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 this basic hardware configuration will be described later. Note that explanations of the terminal device 10 and the server 20 that overlap with the basic hardware configuration of the computer 90 and the basic functional configuration of the computer will be omitted.
[0021] <2.1 Configuration of Terminal Device> Figure 2 is a block diagram showing an example configuration of the terminal device 10 shown in Figure 1. As shown in Figure 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. Each block included in the terminal device 10 is electrically connected, for example, by a bus.
[0022] The communication unit 120 performs modulation and demodulation processing for the terminal device 10 to communicate with an external device (for example, a 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 administrator / operator to input instructions or information. The input device 13 can be implemented, for example, by a touch-sensitive device 131 on which instructions are input by touching the operating surface. If the terminal device 10 is a PC or the like, the input device 13 may be implemented by a reader, keyboard, mouse, etc. The input device 13 converts the instructions input by the administrator / 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 accepts electrical signals input from an external input device.
[0024] The output device 14 is a device for presenting information to the administrator / operator. The output device 14 is implemented, 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 implemented, 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 the audio signal. The audio processing unit 170 converts the 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 implemented, for example, by an audio processing processor. The microphone 171 receives an audio input and provides the 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 photodetector and outputs image data as a shooting signal. Camera 160 captures subjects in a certain direction and within a certain shooting range relative to the terminal device 10 and outputs image data as a result of the capture. If camera 160 has a function that allows adjustment of the shooting range, or more precisely, the angle of view, camera 160 also outputs information regarding this angle of view. Such a function is called a zoom function.
[0027] The location 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. A 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 based on the received signals, the current position of the terminal device 10, which is equipped with a GPS module, is detected as coordinate values. The location information sensor 150 may also detect the current position of the terminal device 10 from the position of a wireless base station to which the terminal device 10 is connected via the communication unit 120.
[0028] The acceleration sensor 155 is a sensor that detects the acceleration applied to the terminal device 10. Preferably, the acceleration sensor 155 has the function of detecting the 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. An acceleration sensor 155 having such a function can detect the orientation of the terminal device 10, that is, its direction with respect to the X, Y, and Z axes, by detecting the gravitational acceleration of the Earth's gravity.
[0029] The storage unit 180 is implemented by the memory 15 and storage 16 shown in Figure 1, and stores data and programs used by the terminal device 10. The storage unit 180 stores, for example, administrator / operator information 181 and application programs 182.
[0030] The administrator / operator information 181 includes, for example, various information about the administrator / operator. This information includes, for example, the administrator / operator's name, age, address, date of birth, contact information, etc.
[0031] The application program 182 may, for example, be pre-stored in the memory unit 180, or it may be downloaded from a web server or the like via the communication interface 12. The application program 182 includes, for example, an interpreter-type programming language that is executed on a web browser application (not shown) stored in the memory unit 180.
[0032] The control unit 190 is implemented, for example, by the processor 19 reading the application program 182 stored in the memory unit 180 and executing the instructions contained in the application program 182. The control unit 190 controls the operation of the terminal device 10. By operating according to the application program 182, the control unit 190 performs 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 processes 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 processes data for the terminal device 10 to send and receive data with an external device according to a communication protocol. Specifically, the transmission / reception unit 192 sends instructions or information input from the administrator / operator to the server 20. The transmission / reception unit 192 receives information sent from the server 20. The presentation control unit 193 controls the output device 14 to present various information to the administrator / operator.
[0034] <2.2 Server Configuration> Figure 3 is a block diagram showing an example configuration of the server 20 shown in Figure 1. As shown in Figure 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, a terminal device 10). The storage unit 202 is implemented by memory 25 and 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 table 2024, a second constraint table 2025, and an application program 2026.
[0036] Case Table 2021 is a table that stores information 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 cases will be referred to as "case information." Case information includes the first schedule and first man-hours for pesticide spraying performed by operating drone 30. The first schedule is the total schedule for pesticide spraying on multiple fields that are the target of the case. The first man-hours are the number of people, time, cost, sprayed area, etc. required to complete pesticide spraying on multiple fields that are the target of the case.
[0037] The Operator Candidate Table 2022 is a table that stores information about multiple operators who may be assigned a case. "May be assigned a case" means, for example, that the operator is in a status where they can handle the case. Being in a status where one can handle a case means, for example, having a contract in place to have the operator prioritize working on the case for a specified period, or having a contract in place to have the operator work on the case when a request is made. Hereinafter, operators who may be assigned a case will be referred to as operator candidates, and information about operator candidates will be referred to as operator candidate information. Details of operator candidate information will be described later.
[0038] Assignment table 2023 is a table that stores the field area, confirmed schedule, etc., assigned to multiple operator candidates who have been confirmed to be in charge of a project. Specifically, "confirmed to be in charge of a project" means that the second schedule and second man-hours set for the operator candidate have been confirmed. Hereafter, operator candidates who have been confirmed to be in charge of a project (assigned a project) will simply be referred to as operators. In other words, operators will be in charge of spraying pesticides using drone 30 in 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 table 2024 is a table that stores the first constraints. The first constraints are the conditions that must be satisfied when setting the second schedule and second man-hours for pesticide spraying for multiple operator candidates, and the conditions can be set for various purposes.
[0041] The second constraint table 2025 is a table that stores the second constraints. The second constraints are conditions that must be satisfied when setting the field in which the operator will spray pesticides and the route of pesticide spraying in said field, and conditions can be set for various purposes. The second constraint is an example of a constraint related to one aspect of this disclosure.
[0042] The control unit 203 is realized when the processor 29 reads the application program 2026 stored in the memory unit 202 and executes the instructions contained in the application program 2026. The control unit 203 controls the operation of the server 20. By operating according to the application program 2026, the control unit 203 performs the functions of a receive control module 2031, a transmit 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 receiving control module 2031 controls the process by which the server 20 receives signals from an external device according to a communication protocol. The receiving control module 2031 acquires case information and operator candidate information for multiple operator candidates. The receiving control module 2031 also acquires information about multiple fields to which pesticides will be sprayed (hereinafter referred to as field information) and operator information for multiple operators. The multiple fields to which pesticides will be sprayed are, in other words, the multiple fields that are the subject of the case. The field information is managed, for example, in association with the case information. The operator information is information about the operators. Details of the operator information will be described later.
[0044] Field information includes, for example, geographical information, crop information, meteorological conditions, water management information, and ecosystem information. Geographical information includes, for example, location information such as the field's location (e.g., registered address) and location on a map (e.g., longitude, latitude), topographic information such as the field's elevation, area, and slope, and soil information such as soil type and properties (e.g., sandy soil, clayey soil), pH, drainage capacity, and moisture level. Crop information includes, for example, information such as crop type, sowing / harvesting time, and type and amount of fertilizer / pesticides. Meteorological conditions include, for example, information such as the field's average temperature, seasonal temperature fluctuations, annual precipitation, rainfall patterns, and wind speed / direction. Water management information includes, for example, information such as the type of irrigation (e.g., drip irrigation, sprinklers) and type and amount of water sources used for irrigation. Ecosystem information includes, for example, information such as the types of weeds / pests inhabiting the field and organisms that are natural enemies of pests (e.g., predators). Furthermore, any of the information included in the field information may be acquired as project information.
[0045] The transmission control module 2032 controls the process in which the server 20 transmits a signal to an external device according to a communication protocol. The presentation control module 2033 controls the process of presenting various information to a manager or the like.
[0046] Based on the operator candidate information acquired by the reception control module 2031, the allocation processing module 2034 sets a second schedule and second man-hours for chemical spraying for a plurality of operator candidates so as to satisfy a preset first constraint condition. The allocation processing module 2034 calculates an index value indicating the degree of validity of the setting of the second schedule and second man-hours for a plurality of 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 determines the set second schedule and the second man-hours for a plurality of operator candidates based on the calculated index value.
[0047] The grouping processing module 2035 controls a grouping process of grouping a plurality of fields targeted by a project for each operator based on the productivity of a plurality of operators.
[0048] The setting processing module 2036 controls a setting process of setting, for each of a plurality of operators, the fields to be in charge of and the chemical spraying route in the fields so as to satisfy a predetermined schedule by referring to a group of fields (hereinafter referred to as a field group) grouped for each operator. In the present embodiment, the setting processing module 2036, for example, assigns fields to be in charge of each of a plurality of operators so as to satisfy a preset second constraint condition. The setting processing module 2036, for example, determines an assignment that minimizes the spraying time of the operator who takes the longest spraying time among a plurality of operators who perform chemical spraying among the assigned fields. In other words, the setting processing module 2036 assigns fields to a plurality of operators with the shortest spraying time that can be achieved by the operator who takes the longest spraying time among a plurality of operators who perform chemical spraying as an objective function.
[0049] The configuration processing module 2036 routes the fields assigned to each of the multiple operators, for each operator. For example, the configuration processing module 2036 connects the fields assigned to each operator via the shortest route by performing a predetermined route optimization process on the fields assigned to each of the multiple operators. The method used in the route optimization process may be an existing method, for example.
[0050] <2.3 Drone Configuration> Figure 4 is a block diagram showing an example configuration of the drone 30 shown in Figure 1. As shown in Figure 4, the drone 30 includes a communication unit 310, a gyroscope 320, a barometric 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 memory unit 380, and a control unit 390. Each block included in the drone 30 is electrically connected, for example, by a bus.
[0051] The communication unit 310 performs modulation and demodulation processing for the drone 30 to communicate with external devices (for example, terminal device 10 and server 20). The communication unit 310 performs transmission processing on the signal generated by the control unit 390 and transmits it to the external device. The communication unit 310 performs reception processing on the signal received from the external device and outputs it to the control unit 390.
[0052] The gyroscope 320 measures the angular velocity when the drone 30 rotates. The measured angular velocity is used by the flight controller 391 to control the attitude of the drone 30. There are no particular limitations on the type of gyroscope 320; for example, it can be implemented using a MEMS (Micro Electro Mechanical Systems) gyroscope.
[0053] The pressure sensor 330 measures the atmospheric pressure in the space where the drone 30 is flying. The measured atmospheric pressure is used by the flight controller 391 for altitude control of the drone 30. There are no particular limitations on the type of pressure sensor 330; for example, it can be implemented using a barometer-type sensor, an altimeter, etc.
[0054] Battery 340 supplies the necessary power to the drone 30. There are no particular limitations on the type of battery 340; for example, it can be implemented using a lithium polymer (LiPo) battery.
[0055] Camera 360 is an imaging device that captures images in visible light from the air. There are no particular limitations on the type of camera 360; for example, it can be implemented using an HD camera, 4K camera, infrared camera, zoom camera, multispectral camera, etc.
[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 by the flight controller 391 for attitude control, altitude control, and motion control of the drone 30. The position information sensor 350 may be implemented 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, etc.
[0057] The acceleration sensor 355 is a sensor that measures the acceleration applied to the drone 30. The measured acceleration is used by the flight controller 391 for attitude control and motion control of the drone 30. There are no particular limitations on the type of acceleration sensor 355; for example, it can be implemented using a MEMS acceleration sensor, a capacitive acceleration sensor, etc.
[0058] The motor 370 and propeller 375 provide thrust to the drone 30 and generate lift for flight. That is, the rotation of the motor 370 drives the propeller 375, enabling the drone 30 to fly. There are no particular limitations on the type of motor 370; for example, it can be a brushless motor, a brushed motor, etc.
[0059] The memory unit 380 stores data and programs used by the drone 30. The memory unit 180 stores, for example, images captured by the camera 360, flight logs, measurement results from various sensors, etc.
[0060] The control unit 390 is implemented, for example, by the processor reading a program stored in the memory unit 180 and executing the instructions contained in the program. The control unit 390 controls the operation of each part of the drone 30. By operating according to the aforementioned program, the control unit 390 performs the functions of a flight controller 391 and a transceiver 392.
[0061] The flight controller 391 controls the flight of the drone 30. Specifically, for example, the flight controller 391 controls the rotation speed of the motor 370 via control means such as an ESC (Electronic Speed Control) based on information received by the transmitting / receiving unit 392 and measurement results received from various sensors, thereby controlling the flight of the drone 30.
[0062] The transmitting / receiving unit 392 performs processing for the drone 30 to send and receive data with an external device according to a communication protocol. Specifically, the transmitting / receiving unit 392 transmits information acquired by the drone 30 to the terminal device 10 or server 20. The transmitting / receiving unit 392 receives information transmitted from a remote controller (not shown). The remote controller is the operating device for the drone 30. The operator controls the flight of the drone 30 by operating the remote controller. Alternatively, the operator may use a smartphone as the operating device instead of the remote controller.
[0063] [3. Data Structure] Figures 5 to 9 show the data structure of the tables stored by the server 20. Note that Figures 5 to 9 are merely examples and do not exclude data that is not shown. Also, even if data is listed in the same table, it may be stored in separate memory areas in the storage unit 202.
[0064] Figure 5 shows the data structure of the case table 2021. The case table 2021 shown in Figure 5 is a table that has columns for case name, address, client, declared area, planned spraying date, and spraying completion time, with case ID as the key. In other words, the case information includes some or all of the information stored in these items. Note that the case information may also include information other than the information stored in each item of the case table 2021. For example, the case information may store columns that store spraying difficulty, spraying possible time (spraying prohibited time), etc. Spraying difficulty includes, for example, topography, the extent of field distribution, the degree of field connectivity, etc. In this embodiment, the case information is assumed to include field information as information other than the information stored in each item of the case table 2021.
[0065] Case information is transmitted, for example, from an information processing device (e.g., smartphone, PC) operated by the client of the case, and is received by the receiving control module 2031 and stored in the case table 2021. Alternatively, case information may be input from an input device (not shown) provided by the server 20, and the receiving control module 2031 may receive this input and store it in the case table 2021.
[0066] The "Case ID" field stores identification information (identifier) to uniquely identify a case. The "Case Name" field stores the name of the case. The "Address" field 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 a single field may have multiple addresses.
[0067] The "Client" field stores client information about the client of the project. Client information includes, for example, the client's name, age, address, date of birth, and contact information. The "Declared Area" field stores the total area of the multiple fields that are the subject of the project. The area stored in the "Declared Area" field is the total area requested by the client, not the total area measured and calculated by the manager / operator, etc. Note that the "Declared Area" field may store the area of each field instead of the total area.
[0068] The "Scheduled Application Date" field is used to record the scheduled dates for pesticide application to multiple fields covered by the project. The scheduled dates recorded in the "Scheduled Application Date" field may be, for example, the date requested by the client, or a date decided through discussions between the client and the management / operator.
[0069] The item "Spraying Completion Time" is used to store the time when pesticide spraying should be completed. The spraying completion time may be determined for each scheduled spraying day and may differ from day to day, or it may be the same time for all scheduled days. In the example in Figure 5, the spraying completion time stored in the item "Spraying Completion Time" is assumed to be the same time for all scheduled days.
[0070] Figure 6 shows the data structure of the operator candidate table 2022. The operator candidate table 2022 shown in Figure 6 is a table that has columns for name, address, drone type, contract type, grade, productivity, and spraying availability, with operator ID as the key. In other words, the operator candidate information includes some or all of the information stored in these items.
[0071] Furthermore, the operator candidate information may include information other than that stored in each item of the operator candidate table 2022. For example, the operator candidate table 2022 may have columns that store the dispersal area that the operator candidate is required to allocate by contract, the history of projects undertaken in the past, the organization (company) to which they belong, and the assignment information of other operators in the same organization. In addition, the operator candidate information stored in the operator candidate table 2022 may be updated as needed, for example, by inputting new operator candidate information from an input device provided by the server 20.
[0072] The "Operator ID" field stores identification information to uniquely identify the operator candidate. The "Name" field stores the operator candidate's name. The "Address" field stores the operator candidate's registered address. The "Drone Type" field stores the type of drone 30 that the operator candidate will operate.
[0073] The "Contract Type" field is used to record the type of contract for pesticide spraying services concluded between the operator candidate and the provider (manager / operator) of the pesticide spraying service.
[0074] There are no particular limitations on the types of contracts stored in the "Contract Type" field. Examples of contracts stored in the "Contract Type" field include contracts where the remuneration and contract period vary depending on the operator's skills, track record, years of experience, and the area of the field they are responsible for. Examples of contracts in the "Contract Type" field include fixed-term contracts (preferential allocation for fixed term, medium remuneration), individual contracts (spot allocation, high remuneration), and helper contracts (part-time, low remuneration). In addition, highly professional contracts (permanent employment contract, high remuneration) may also exist.
[0075] Fixed-term contracts include, for example, contracts that stipulate a predetermined daily rate for work performed during the contract period, and contracts that stipulate that a predetermined minimum area is allocated preferentially to the operator over other operators during the contract period, while the unit price is slightly lower than that of other operators. Individual contracts, on the other hand, include, for example, contracts that stipulate a unit price and request work on a spot basis.
[0076] Individual contracts are agreements concluded only with specific operational candidates, and the terms of the contract may be determined on a case-by-case basis according to the circumstances / needs of those specific operational candidates.
[0077] The "Grade" field stores a grade that indicates the level of an operator candidate's operational skills. An operator candidate's grade is determined, for example, based on their productivity. When determining an operator candidate's grade, factors such as the candidate's track record and years of experience are also taken into consideration. There are no particular limitations on how the grade is displayed; for example, it may be displayed as "A, B, C, ...", "1, 2, 3, ...", "Superior, Superior, Medium, ...", etc. In the example in Figure 6, the grades are displayed in order of decreasing operational skill level as "High Class, Standard, Basic, ...".
[0078] The item "Productivity" is an item that stores the productivity of the operator candidate. Productivity indicates the work efficiency of a series of tasks related to pesticide spraying using the drone 30, and is an indicator specific to the operator candidate. There are no particular limitations on the elements / methods that determine the operator candidate's productivity. In the example in Figure 6, the item "Productivity" includes, for example, the operator candidate's spraying speed [min / ha], base diameter [m], and flight cycle area [ha], preparation / cleanup time per flight unit [min / time], preparation / cleanup time per base unit [min / time], and travel time by car [min / km]. These parameters stored in the item "Productivity" are calculated, for example, based on the pesticide spraying performance that the operator candidate was in charge of in the previous year.
[0079] The base diameter is the minimum distance between fields that the operator 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 [ha] of the field the operator can spray pesticide on in one flight without landing the drone 30.
[0080] The "Productivity" item, like the "Grade" item, may be used as an indicator representing the level of the candidate operator. For example, the "Productivity" item may store actual values such as flight cycle area stored for the candidate operator, normalized to fields of normal difficulty. Furthermore, the parameters stored in the "Productivity" item are not limited to numerical values, but may also be represented by indicators such as "A, B, C, ...", "1, 2, 3, ...", or "Superior, Good, Medium, ...".
[0081] The "Available Days" field is used to record the days on which the operator candidate is available to work, that is, the days on which the operator candidate can perform pesticide spraying.
[0082] Figure 7 shows the data structure of the assignment table 2023. The assignment table 2023 shown in Figure 7 is a table that has, for example, a case name as the key, and columns for negotiation status, affiliated company name, operator, requested area, assigned area, and schedule information.
[0083] The "Case Name" field stores the name of the case. The "Negotiation Status" field stores the status of negotiations regarding the case between the pesticide spraying service provider (manager / operator) and the operator. There are no particular limitations on the content of the status stored in the "Negotiation Status" field; for example, the content of orders and deliveries as shown in Figure 7 may be stored in the "Negotiation Status" field. Alternatively, for example, the status of negotiations regarding the case between the client and the pesticide spraying service provider (manager / operator) may be stored in the "Negotiation Status" field.
[0084] The "Affiliated Company Name" field stores the name of the company to which the operator belongs. The "Operator" field stores the name of the operator who has been assigned to handle the project, for example. However, if it has been decided that the project will be handled by an operator of a specific contract type, even if it has not yet been decided that a specific operator will be assigned to the project, the "Operator" field may store the specific contract type. The "Requested Area" field stores the total area of fields for which the client has requested pesticide application (requested area). The "Assigned Area" field stores the area of fields assigned to the operator (assigned area). Basically, the sum of the assigned areas for each operator (total assigned area) will be the same as the requested area.
[0085] In other words, the information stored in each of the fields "Company Name," "Operator," "Requested Area," and "Assigned Area" constitutes, for example, operator information. Furthermore, the information stored in these fields includes, for example, some or all of the information stored in each field of the operator candidate table 2022.
[0086] The "Schedule Information" field stores the operator's confirmed schedule. There are no particular limitations on the content of the confirmed schedule stored in the "Schedule Information" field. For example, as shown in Figure 7, the preparation day, spraying day, reserve day, and the field area for pesticide application on each spraying day may be stored in the "Schedule Information" field.
[0087] In the example in Figure 7, for project "Place Name A_1st Time_Rice Cultivation," all details, including the operators responsible for the project, their assigned area, and the finalized schedule, have been determined. For project "Place Name A_2nd Time_Rice Cultivation," all details, including the operators responsible for the project and their assigned area, have been determined. For project "Place Name B_1st Time_Rice Cultivation," only the total assigned area has been determined.
[0088] Figure 8 shows the data structure of the first constraint table 2024. The first constraint table 2024 shown in Figure 8 is a table that has columns for condition elements, for example, with the first constraint ID as the key. In other words, the first constraint is a combination of each condition stored in the condition element items. The example in Figure 8 shows the case where the first constraint table 2024 stores one first constraint, but the first constraint stored in the first constraint table 2024 is not limited to one.
[0089] The item "First Constraint ID" stores identification information to uniquely identify the first constraint. The item "Condition Element" stores, for example, multiple conditions that constitute the first constraint. In the example in Figure 8, the "Condition Element" item stores conditions related to the candidate operator, conditions related to the second schedule, and conditions related to the second effort.
[0090] As an example of the conditions for operator candidates, a constraint to prevent only operator candidates with operational skills above a predetermined standard from being assigned to a case is stored in the item "Condition Element" (see "Constraint10" in Figure 8).
[0091] Various criteria can be adopted for the aforementioned predetermined criteria. For example, one could set a condition that only operators of a predetermined grade (high class in the example in Figure 8) or higher are not assigned to a project. Alternatively, one could rank the operational skills or productivity of multiple operators who could be assigned to a project, and then set a condition that only operators of a predetermined rank or higher are not assigned to a project. By setting such conditions, it is possible to efficiently assign operators to projects while avoiding the concentration of projects on specific operators.
[0092] As an example of the conditions for the second schedule, for instance, the item "Condition Element" stores that a reserve day for pesticide application is set on at least one of the days preceding and following consecutive spraying days (see "Constraint4" in Figure 8). There are no particular limitations on the number of consecutive spraying days when setting the reserve day. There are also no particular limitations on the number of days to set as the reserve day.
[0093] As an example of the conditions related to the second man-hours, for instance, the item "Condition Element" stores that the man-hours assigned to an operator candidate who has a predetermined employment contract fall within a predetermined range (see "Construct 11" in Figure 8). Here, there are no particular limitations on either the predetermined employment contract or the predetermined range. In the example in 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 concluded a fixed-term contract is 72 [ha].
[0094] Furthermore, the first constraint table 2024 may have, for example, a "Condition Element" item for each case. In this case, the "Condition Element" item for each case may store conditions that are partially or entirely different. In other words, the first constraints may be set with partially or entirely different content for each case.
[0095] Figure 9 shows the data structure of the second constraint table 2025. The second constraint table 2025 shown in Figure 9 is, for example, a table that has columns for the first to fifth conditions, with the second constraint ID as the key. In other words, the second constraint includes the conditions stored in these items. However, the second constraint may also include conditions other than those stored in each item of the second constraint table 2025.
[0096] The field "Second Constraint ID" stores identification information to uniquely identify the second constraint. The field "First Condition" stores the first condition that constitutes the second constraint. For example, the field "First Condition" stores the end time of pesticide spraying specified by the client of the project. The end time stored in the field "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. The item "Second Condition" stores, for example, the prohibited time period during which pesticide spraying is prohibited. The prohibited time period is a constraint that determines the direction of the pesticide spraying route, and for example, the school commuting hours and work commuting hours around the multiple fields that are the subject of the case may be prohibited time periods. Also, for example, time periods during which there is a risk that the pesticide may be carried to houses, etc., around the multiple fields due to wind direction, etc., may also be prohibited time periods. This is because complaints may be received from residents around the multiple fields during these time periods.
[0098] The item "Third Condition" is an item that stores the third condition that constitutes the second constraint. The item "Third Condition" stores, for example, a condition to avoid intersections when there is a possibility that any of the paths set for each operator may intersect with each other. This constraint is set because if the paths set for each operator intersect, there is a risk that another operator or another drone 30 may become an obstacle and hinder the operator's spraying work while the operator is spraying chemicals with the drone 30.
[0099] The item "Fourth Condition" is an item that stores the fourth condition that constitutes the second constraint. The item "Fourth Condition" stores, for example, the obligation to allocate fields in accordance with the field area assigned to each operator as the second man-hour by the allocation processing module 2034 (obligation to comply with allocated area). This constraint is set, for example, by the allocation processing module 2034 to ensure that operators who have entered into a term contract comply with the fields assigned based on the contract area, thereby realizing the performance of the contract for the aforementioned operators.
[0100] The item "Fifth Condition" stores the fifth condition that constitutes the second constraint. The item "Fifth Condition" stores, for example, the priority given to assigning operators who meet the specified conditions to a given field. For example, there are fields where pesticide application is difficult due to the topography of the field and its surroundings, the weather expected on the scheduled application date, the season to which the scheduled application date corresponds, the population density around the field, etc. (hereinafter referred to as basic information). For such fields, it is desirable to assign operators with low accident risk, high operational skills, or high experience. The item "Fifth Condition" stores, for example, the priority given to assigning high-grade operators to fields with high application difficulty.
[0101] Furthermore, the second constraint table 2025 may have, for example, items "Condition 1" to "Condition 5" for each case. In this case, items "Condition 1" to "Condition 5" for each case may store conditions that are partially or entirely different. In other words, the second constraint may be set with partially or entirely different content for each case.
[0102] [4 Operation] <4.1 Confirmation of Schedule and Manpower> The operation of the server 20 when confirming the second schedule and second manpower for each operation candidate will be described. In other words, the operation of automatically assigning operation candidates to the requested pesticide spraying will be described.
[0103] Figure 10 is a flowchart illustrating an example of the operation of server 20 when determining the second schedule and second man-hours. In the following explanation, multiple fields that are the subject of a project will be referred to as the project subject.
[0104] In step S11 shown in Figure 10, the server 20 acquires case information, field information, and operator candidate information for multiple operators.
[0105] In step S11, the server 20 acquires case information and candidate operator information. Specifically, for example, the receiving control module 2031 acquires the case information by reading it from the case table 2021, which stores case information transmitted from the information processing device operated by the client of the case. Alternatively, for example, the receiving control module 2031 may acquire the case information by receiving the case information input from the input device provided by the server 20. By acquiring the case information, the receiving control module 2031 acquires the field information of the case subject included in the case information.
[0106] The receiving control module 2031 obtains the operator candidate information for each operator candidate, for example, by reading the operator candidate information for each operator candidate from the operator candidate table 2022. Alternatively, the receiving control module 2031 may obtain the operator candidate information for each operator candidate by receiving the operator candidate information input from the input device provided by the server 20, for example.
[0107] In step S12, the server 20 determines multiple candidates for operation for the pesticide spraying project and sets a second schedule and second man-hours for pesticide spraying for the determined candidates.
[0108] Specifically, for example, the assignment processing module 2034 receives a specification from the administrator / operator regarding the case to which an operator will be assigned. The case received from the administrator / operator may be single or multiple. If multiple cases are specified, these cases may have a scheduling relationship, such as including the same date or having dates that are nearly consecutive.
[0109] The assignment processing module 2034, for example, based on the operator candidate information received from the receiving control module 2031, sets up multiple operator candidates to be in charge of the specified case, as well as a second schedule and second man-hours for each of the provisional operators, so as to satisfy the first constraint. Hereinafter, the operator candidates set up by the assignment processing module 2034 will be referred to as provisional operators.
[0110] The assignment processing module 2034 may, for example, determine the order in which to assign each provisional operator based on predetermined conditions. The predetermined conditions can be arbitrarily set according to the content of the operator candidate information for each provisional candidate. For example, operator candidates for fixed-term contracts may be selected as provisional operators with priority over operator candidates for individual contracts. Alternatively, specific operator candidates designated by the client of the project may be selected as provisional operators with priority over operator candidates for fixed-term contracts and operator candidates for individual contracts. Furthermore, for example, operator candidates for fixed-term contracts and operator candidates for individual contracts may be selected as provisional operators with priority over operator candidates for helper contracts.
[0111] In step S13, the server 20 calculates an indicator value based on the set temporary operator, second schedule, and second man-hours.
[0112] The index value can be any numerical value that indicates the degree of appropriateness of the provisional operators, as well as the second schedule and second man-hours set for each provisional operator. In this embodiment, the index value is, for example, the sum of weighted numerical values calculated based on the setting values related to provisional operators, the second schedule, and the second man-hours. Hereinafter, this sum will be referred to as the objective function value.
[0113] The values calculated based on the settings for the temporary operator, the second schedule, and the second man-hours include, for example, the total number of spraying days, the total number of reserve days (including both the days before and after the spraying period), the total spraying area for the temporary operator under the contract period, the total travel distance of 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 provisional operator. The total number of reserve days represents, for example, the total number of reserve days for pesticide spraying assigned to the provisional operator. The total spraying area of a provisional operator under a fixed-term contract is, for example, the total spraying area assigned to the provisional operator under a fixed-term contract. The total travel distance of a provisional operator represents, for example, the total travel distance from the registered address of the assigned provisional operator to the field related to the project. The violation penalty represents, for example, the number of times the conditions included in the first constraint are not met.
[0115] The values calculated based on the set values are not limited to these. The values calculated based on the set values may include, for example, the distance traveled from the field related to the current project to the field related to the next project. The values calculated based on the set values may also include, for example, the distance traveled from the field related to the current project to the address registered for the temporary operator. Furthermore, the values calculated based on the set values may include, for example, the total number of operators.
[0116] The allocation processing module 2034 may, for example, flexibly change the weighting coefficients for each numerical value calculated based on the set values, according to the perspective of field allocation, or the content of each of the case information and operator candidate information. Alternatively, 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. Furthermore, if the allocation processing module 2034 sets a second schedule and second man-hours for two or more cases, it may calculate the objective function value for each case and sum the values to obtain the final objective function value.
[0117] In step S14, the server 20 determines the provisional candidate, as well as the second schedule and second man-hours set for that provisional candidate, based on the calculated objective function value.
[0118] Specifically, for example, the assignment processing module 2034 compares the calculated objective function value with a pre-set reference value. The reference value is arbitrarily set according to the contents of the case information and the operator candidate information for each operator candidate. The reference value may also be stored in a memory (not shown) in the control unit 203, or in the storage unit 202. Alternatively, the reference value may be input from an input device provided by the server 20. The assignment processing module 2034 determines whether the objective function value satisfies a predetermined relationship with respect to the reference value, for example, whether the objective function value exceeds the reference value or whether the objective function value falls 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 provisional operator, as well as the provisional operator's second schedule and second effort, with the same content. The provisional operator who is confirmed to be in charge of the case becomes the operator.
[0120] On the other hand, if the objective function value does not satisfy a predetermined relationship with the reference value, the assignment processing module 2034 resets the second schedule, the second effort, or both, while maintaining the temporary operator, so as to satisfy the first constraint. The assignment processing module 2034 also resets the temporary operator, the second schedule, and the second effort so as to satisfy the first constraint. The assignment processing module 2034 repeats resetting the temporary operator, the second schedule, and the second effort until the objective function value satisfies a predetermined relationship with the reference value.
[0121] The assignment processing module 2034 stores, for example, the operator, the confirmed schedule, and the confirmed effort in the assignment table 2023. The confirmed schedule is the confirmed second schedule, and the confirmed effort is the confirmed second effort.
[0122] In step S15, the server 20 presents the operator, confirmed schedule, and confirmed 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 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 information from the server 20, for example, to display the confirmed schedule and confirmed man-hours. The display control unit 193, for example, when it receives a display request from the administrator / operator, displays the confirmed details (operator, confirmed schedule, and confirmed man-hours) on the display screen of the display 141.
[0125] Furthermore, 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 with the confirmed content printed on it from the output device 14. Also, it is not necessary for the presentation control module 2033 to present the confirmed content.
[0126] Furthermore, although the example shown in Figure 10 describes the case in step S11 where case information, field information, and operator candidate information are obtained, the case information, field information, and operator candidate information may be obtained in advance before assigning an operator candidate.
[0127] Furthermore, the example shown in Figure 10 describes the case in which a provisional operator, a second schedule for that provisional operator, and a second workload are determined when the objective function value satisfies a predetermined relationship with the reference value. However, determining a provisional operator, a second schedule for that provisional operator, and a second workload is not limited to cases where the objective function value satisfies a predetermined relationship with the reference value. The assignment processing module 2034 sets a provisional operator who satisfies the first constraint, a second schedule for that provisional operator, and a second workload, and repeats the process of calculating the objective function value a predetermined number of times. For example, the assignment processing module 2034 determines the provisional operator who calculated the optimal objective function value from among the calculated objective function values, as well as the second schedule for that provisional operator and the second workload. The optimal objective function value is, for example, the value that takes the minimum value, the value that takes the maximum value, or the value that is most asymptotically close to a predetermined value.
[0128] The following describes an example of the display screen 141 showing the confirmed details (operator, confirmed schedule, and confirmed man-hours), with reference to Figure 11. Figure 11 is a schematic diagram showing an example of the display screen 141 showing the confirmed details.
[0129] In the example shown in Figure 11, for example, the confirmed schedules and confirmed man-hours for two projects (Project 1 and Project 2 in the figure) are displayed in display area 1411. Also in the example in Figure 11, a value calculated based on the set value is displayed in display area 1412. The value calculated based on the set value is the sum of the two projects.
[0130] Furthermore, in the example shown in Figure 11, the objective function values 1413 for both cases are also displayed on the display screen of the display 141. That is, the transmission control module 2032 transmits information for displaying the objective function value 1413 to the terminal device 10. The transmission / reception unit 192 receives information for displaying the objective function value 1413 from the server 20. When the presentation control unit 193 receives a presentation request from the administrator / operator, for example, it displays the objective function value 1413 on the display screen of the display 141.
[0131] Please note that the screen example in Figure 11 is merely one example. Various variations are possible regarding the displayed content and display method of the confirmed information.
[0132] <4.2 Setting Fields and Routes> The operation of the server 20 when setting fields and routes for each operator will be described below. Figure 12 is a flowchart showing an example of the operation of the server 20 when setting fields and routes for each operator. In the following description, the fields that constitute the subject of the case will be referred to as the target fields. The flowchart shown in Figure 12 may be performed, for example, continuously from the flowchart shown in Figure 10, or it may be performed at a different timing than the flowchart shown in Figure 10.
[0133] In step S21, the server 20 obtains operator information from multiple operators.
[0134] Specifically, for example, the grouping processing module 2035 obtains operator information for each operator by reading operator information for each operator from the operator candidate table 2022. Alternatively, the grouping processing module 2035 may obtain operator information by receiving operator information input from an input device provided by the server 20.
[0135] In step S22, the server 20 groups multiple target fields for each operator based on the productivity of the operators. In the following description, a group of target fields after the grouping of multiple target fields will be referred to as a field group. A field group is an example of a group of fields according to one aspect of this disclosure.
[0136] Specifically, for example, the grouping processing module 2035 groups the target projects by operator based on the productivity included in each operator's information and the field information. More specifically, for example, if there are N operators, such as the first operator, the second operator, ... the Nth operator (N: a natural number of 2 or more), the grouping processing module 2035 groups one or more target fields where the first operator applies pesticides based on the first operator's productivity and field information, forming a field group. Similarly, the grouping processing module 2035 groups one or more target fields where the second operator to the Nth operator apply pesticides based on the productivity and field information of each operator, forming a field group.
[0137] In this embodiment, the grouping processing module 2035, for example, groups the target fields in two stages within the movement range of the drone 30, which is not a mobile vehicle, according to the distance between target fields included in the field information. The mobile vehicle can be anything that can transport the drone 30, such as a transport vehicle.
[0138] The grouping processing module 2035 first groups the target fields into flight units 41, as shown in Figure 13. Figure 13 is a schematic diagram showing an example of a flight unit field group 41. A flight unit refers to a group of fields where the distance between them is within a distance that a given operator can travel in a single flight of the drone. The flight unit field group 41 is an example of a first group according to one aspect of this disclosure.
[0139] The size of the field group 41 set as a flight unit can vary depending on the operator's productivity. For example, a highly productive, i.e., high-grade operator can travel a wide distance in one flight. On the other hand, a less productive, i.e., lower-grade operator can travel a narrow distance in one flight. Therefore, the field group 41 set as a flight unit is set to be wide for highly productive operators and narrow for less productive operators. The productivity referenced when grouping by flight unit is, for example, the flight cycle area, which represents the area over which pesticide can be sprayed without landing the drone in one flight.
[0140] The concept of distance between target fields can 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 when one target field 411 is viewed from above and the centroid G2 of the two-dimensional figure when the other target field 411 is viewed from above.
[0141] Next, the grouping processing module 2035 groups, for example, two or more flight unit field groups 41 into a base unit field group 42 as shown in Figure 14. Figure 14 is a schematic diagram showing an example of a base unit field group 42. A base unit refers to a group of fields where the distance between them is such that it cannot be covered in a single drone flight, but it can be covered by flying the drone separately from a single flight. The base unit field group 42 is an example of a second group according to one aspect of the present disclosure.
[0142] The size of the field group 42 set as the base unit can vary depending on the operator's productivity. For example, a highly productive, i.e., high-grade operator has a wide range of flight distance from a single base. On the other hand, a less productive, i.e., lower-grade operator has a narrower range of flight distance from a single base. Therefore, the field group 42 set as the base unit is set to be wide for highly productive operators and narrow for less productive operators. The productivity referenced when grouping by base unit is, for example, the base diameter, which represents how far between fields can be sprayed with one base. By forming the field group 42 of the base unit, the grouping of the target cases by the grouping processing module 2035 is completed.
[0143] It should be noted that the two-stage grouping described in this embodiment is merely an example, and various grouping methods can be employed. For example, the grouping processing module 2035 may use different grouping methods depending on the total area of the subject area. In this case, for example, if the total area of the subject area is relatively small, the grouping processing module 2035 may only perform grouping by flight unit. Furthermore, the grouping units are not limited to flight units and base units. Moreover, in both cases of grouping by flight unit and grouping by base unit, the grouping results in the formation of a field group consisting of only one subject field.
[0144] The grouping processing module 2035 changes the size of the field groups when grouping the target of the project, for example, based on the operator's productivity. The field groups whose size is changed by the grouping processing module 2035 may be at least one of the flight unit field groups and the base unit field groups. In this embodiment, the grouping processing module 2035 changes the size of both the flight unit field groups and the base unit field groups.
[0145] The grouping processing module 2035 uses a method to change the size of the field group, for example, by varying the distance between target fields that can be grouped according to the productivity of multiple operators. That is, for example, the grouping processing module 2035 sets a longer distance between target fields that can be grouped for operators with high productivity among multiple operators. On the other hand, for operators with low productivity among multiple operators, the grouping processing module 2035 sets a shorter distance between target fields that can be grouped.
[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 larger number of target fields that can be grouped for operators with high productivity among multiple operators. On the other hand, for operators with low productivity among multiple operators, the grouping processing module 2035 sets a smaller number of target fields that can be grouped.
[0147] The concept of the size of a group of fields can be defined in any way. For example, when the distances between target fields are varied, the size of the group of fields is the size of the area of the two-dimensional figure when the group of fields is viewed from a planar perspective. Alternatively, when the number of target fields is varied, the size of the group of fields is the size of the total area of each target field that makes up the group.
[0148] In this way, by varying the size of the field groups based on the operator's productivity, efficient pesticide application can be achieved. Furthermore, the amount and type of pesticide application work can be assigned to match the productivity of each operator.
[0149] The method of changing the size of the field group by the grouping processing module 2035 is not limited to the example of this embodiment. The grouping processing module 2035 may employ, for example, only one of the methods of varying the distance between target fields or varying the number of target fields. Alternatively, for example, the grouping processing module 2035 may vary the size of the field group by taking into account the grade of each operator in at least one of the methods of varying the distance between target fields and varying the number of target fields. Furthermore, the grouping processing module 2035 does not need to change the size of the field group when grouping the target items.
[0150] The grouping processing module 2035 may, for example, group based on at least one of rivers and roads. In this case, rivers and roads include, for example, those that pass through the subject area or are located near the subject area, as well as rivers and roads located in positions that may influence the grouping. By considering at least one of rivers and roads when grouping in this way, it is possible to achieve grouping that is more in line with the actual conditions of the environment surrounding the field.
[0151] Specifically, for example, the grouping processing module 2035 may form field groups in a way that does not cross rivers, both when forming flight-unit field groups and when forming base-unit field groups. Alternatively, for example, the grouping processing module 2035 may form flight-unit field groups that include fields located on both sides of a road to which a mobile vehicle 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 target area, and the pesticide spraying routes in those target fields, so as to satisfy the second constraint.
[0153] Specifically, for example, the setup processing module 2036 simulates pesticide application to field groups, which are divided into groups for each operator based on the productivity of multiple operators who apply pesticides to the target area. Specifically, for example, the setup processing module 2036 sets up combinations of field groups by simulating pesticide application to field groups, which are divided into groups for each operator, based on the application time [min / ha] of multiple operators who apply pesticides to the target area, preparation / cleanup time per flight [min / time], preparation / cleanup time per base [min / time], travel time by car [min / km], etc., so as to satisfy the second constraint conditions read from the second constraint condition table 2025.
[0154] The operator's productivity when setting up combinations of field groups is not limited to spraying time [min / ha], flight unit preparation / cleanup time [min / flight], base unit preparation / cleanup time [min / flight], or vehicle travel time [min / km]. When setting up combinations of field groups, the grouping processing module 2035 may take into account, for example, the productivity of each operator, as well as the following elements (a) to (d). By taking these elements into account, it becomes possible to perform simulations that are more suited to the environment around the field and the actual conditions of the drone 30. Each of the following elements (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 elements (a) to (d) may be input from an input device provided by the server 20.
[0155] (a) Waiting time according to weather conditions (e.g., rain, wind, temperature) (b) Waiting time based on equipment adjustment of the drone 30 (c) Waiting time based on charging the battery 340 according to temperature, etc. (d) Waiting time based on at least one of the commuting and school commuting periods
[0156] The setting processing module 2036 calculates, for example, the spraying time of the operator with the lowest grade among multiple operators performing pesticide spraying, for example, the operator with the slowest spraying time, based on the set combination of field groups. The setting processing module 2036 compares the spraying times for each combination and determines the combination of field groups in which the spraying time of the operator with the slowest spraying time is minimized.
[0157] The configuration processing module 2036, for example, routes fields to each operator for combinations of grouped fields. Specifically, for example, the configuration processing module 2036 sets the start and end points of pesticide application based on the second constraint. The configuration processing module 2036 then performs a predetermined route optimization process using the start and end points for the fields assigned to each of the multiple operators, connecting the fields assigned to each operator via the shortest route.
[0158] In step S24, the server 20 presents the results of the target field and route settings to the administrator / operator.
[0159] Specifically, for example, the presentation control module 2033 presents the configured target fields and routes to the manager / operator. The transmission control module 2032 transmits information to the terminal device 10 for displaying the configured target fields and routes.
[0160] The transmitting / receiving unit 192 receives information from the server 20, for example, to display the set target field and route. The display control unit 193, for example, when it receives a display request from the administrator / operator, displays the setting result (the set target field and route) on the display screen of the display 141.
[0161] Furthermore, 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 with the setting results printed on it from the output device 14. Also, it is not mandatory for the presentation control module 2033 to present the setting results.
[0162] The following describes an example of the display screen of the display 141 when the setting results (the set target field and route) are displayed, with reference to Figure 15. Figure 15 is a schematic diagram showing an example of the display screen of 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 on the display screen of the display 141 as the setting result. The two-dimensional image 1414 shows, for example, the target field 14141 and the spraying route 14142 where the first operator will spray pesticides, and the target field 14143 and the spraying route 14144 where the second operator will spray pesticides. In addition, in the example shown in Figure 15, the predicted completion time of the first operator's pesticide spraying and the predicted completion time of the second operator's pesticide spraying are displayed in the display area directly below the two-dimensional image 1414.
[0164] Specifically, the transmission control module 2032 transmits, for example, information for displaying the two-dimensional image 1414 to the terminal device 10. The transmission / reception unit 192 receives, for example, information for displaying the two-dimensional image 1414 from the server 20. When the presentation control unit 193 receives, for example, a presentation request from the administrator / operator, it 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 possible regarding the display content and display method of the setting results. For example, the display control module 2033 may display a three-dimensional image on the display 141 showing the target field where the operator will spray pesticide and the route of pesticide spraying as the setting result. In this case, the three-dimensional image may also show, for example, changes in altitude along the route. Alternatively, for example, the display control module 2033 may display the setting result and the confirmed content on the display 141 simultaneously. Also, for example, the display control module 2033 does not need to display the predicted completion time on the display 141.
[0166] [5 Summary] As described above, in this embodiment, the receiving control module 2031 acquires case information from an information processing device operated by the client of the case. The assignment processing module 2034 sets up multiple provisional candidates based on the information of each candidate operator received from the receiving control module 2031. The assignment processing module 2034 sets up a second schedule and second man-hours for each provisional operator so as to satisfy the first constraints based on the case information and the candidate operator information of the provisional operators received from the receiving control module 2031. The assignment processing module 2034 calculates an objective function value by summing up weighted values for each indicator that constitutes the set second man-hours. The assignment processing module 2034 determines whether the calculated objective function value is equal to or greater than a standard value to finalize the second schedule and second man-hours.
[0167] As a result, the server 20 can set a second schedule and second man-hours according to the actual situation of the case and the characteristics of the operator, simply by acquiring case information and operator candidate information. Therefore, the assignment of operators to cases can be carried out efficiently.
[0168] In this embodiment, the receiving control module 2031 acquires field information included in the project information from an information processing device operated by the client of the project. The grouping processing module 2035 acquires operator information from the assignment processing module 2034. The grouping processing module 2035 groups the project targets for each operator based on the productivity included in the operator information. The setting processing module 2036 refers to the grouped field groups for each operator and sets the target fields to be handled by each of the multiple operators who will spray pesticides on the project targets, as well as the pesticide spraying routes in those target fields, in order to meet a predetermined schedule.
[0169] As a result, the server 20 can set target fields and routes according to the operator's productivity and the actual conditions of the target fields simply by acquiring field information and operator information. Therefore, when multiple operators are each assigned to spray pesticides in a given area, target fields and routes can be efficiently set for each operator.
[0170] Furthermore, in this embodiment, the grouping processing module 2035 groups the target fields in two stages within the movement range of the drone 30, which is not a mobile unit, according to the distance between the target fields. Specifically, the grouping processing module 2035 first groups the target fields into flight unit fields. Next, the grouping processing module 2035 groups two or more flight unit fields into base unit fields.
[0171] This allows the server 20 to group the target projects according to the actual distance between the target fields. Consequently, the target fields and routes can be efficiently and appropriately set for each operator.
[0172] [6 Modifications] <6.1 First Modification> In this embodiment, an example was described in which the server 20 determines the temporary operator, second schedule, and second effort when the objective function value satisfies a predetermined relationship with the reference value. However, the requirements for determining the temporary operator, second schedule, and second effort are not limited to this. For example, the server 20 may create an evaluation of the set temporary operator, second schedule, and second effort, and determine the temporary operator, second schedule, and second effort based on the input to the created evaluation.
[0173] Specifically, for example, the assignment processing module 2034 calculates values related to a set number of pre-configured evaluation items based on the set temporary operator, schedule, and man-hours.
[0174] There are no particular limitations on the content of the multiple evaluation items, as long as the content of the second schedule and second man-hours can be evaluated. Examples of multiple evaluation items include the area to be scattered, the assignment rate, the total cost, the unit price per area, the contract area achievement rate, the average grade, the number of days of slack, the area shortage, and the number of projects handled only by operators under general contracts. All of these evaluation items are expressed as calculated values, but they may also be expressed using indicators such as "A, B, C, ..." or "Superior, Superior, Medium, ...".
[0175] When the assignment processing module 2034 evaluates the confirmed schedule and confirmed man-hours of each operator as a whole, the evaluation items exemplified above are defined as follows: Sprayed area is the total sprayed area of each operator. Assignment rate is the ratio of the total area of target fields actually assigned to each operator to the sprayed area. Total cost is the total amount of costs paid to each operator. If there is an area manager who oversees the pesticide spraying work for the project, the costs paid to the area manager are also included in the total cost. Area unit price is the cost per unit area of target fields paid to each operator (or area manager). Contract area achievement rate is the ratio of the total area of target fields assigned to each operator to the total contracted area of each operator under a period contract. Average grade is the average grade of each operator. Allowance days is the average number of reserve days included in each operator's confirmed schedule. Shortfall area is the difference between the contracted area and the total area of target fields actually assigned to each operator.
[0176] In this way, the server 20 can more reliably ensure the validity of the determined provisional operator, second schedule, and second man-hours by determining the provisional operator, second schedule, and second man-hours based on the input for the evaluation it has created.
[0177] The presentation control module 2033 may, for example, present the evaluation results from the assignment processing module 2034 to the administrator / 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. When the presentation control unit 193 receives a presentation request from the administrator / operator, for example, it may display the evaluation results 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 mandatory for the presentation control module 2033 to present the evaluation results.
[0179] The following describes an example of the display screen 141 showing the evaluation results, with reference to Figure 16. Figure 16 is a schematic diagram showing an example of the display screen 141 showing the evaluation results.
[0180] In the example shown in Figure 16, for example, a summary 1415 is displayed on the display screen of the display 141 as the evaluation result. The summary 1415 shows the evaluation results 14151 (calculated values) of multiple evaluation items in list format, as well as the overall evaluation result 14152. The overall evaluation result 14152 is the sum of each evaluation result 14151. The summary 1415 also shows the objective function value 14153 and the basis for calculating the objective function value 14153 14154. The basis for calculation 14154 is a value obtained by multiplying a numerical value calculated based on the setting value included in the second man-hour by a coefficient related to weighting.
[0181] In the example shown in Figure 16, the summary 1415 provides an overall evaluation of each operator's confirmed schedule and confirmed man-hours for each individual evaluation result 14151 and the overall evaluation result 14152.
[0182] The screen example in Figure 16 is merely an example, and various variations are possible regarding the display content and display method of the evaluation results. For example, the summary 1415 displayed on the screen of 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, multiple viewpoints for setting temporary operators, second schedules, and second man-hours may be defined. The assignment processing module 2034 may, for example, set the second schedule and second man-hours for each temporary operator for each viewpoint. The assignment processing module 2034 may, for example, evaluate the second schedule and second man-hours set for each viewpoint. The evaluation method itself may be the same as in the first modification, for example.
[0184] There are no particular limitations on the content of the multiple perspectives, as long as they allow for the setting of a second schedule and a second workforce. The multiple perspectives may include, for example, at least one of the following: minimizing the cost of pesticide application (hereinafter, cost minimization), the quality of the operators, the number of reserve days for pesticide application (hereinafter, robustness), and the ease of managing the final schedule and final workforce (hereinafter, ease of management).
[0185] Robustness indicates the degree to which buffer days are secured, assuming a constant number of distribution days. For example, increasing the number of buffer days while maintaining the distribution days improves robustness. Manageability indicates the degree to which the content of the confirmed schedule and confirmed effort changes before and after a single execution, assuming that the assignment processing module 2034 repeatedly executes the schedule / effort setting process for the same project at regular intervals (e.g., once a day). The smaller the degree of content change, the higher the manageability. The assignment processing module 2034 executes the setting process in a manner that maximizes manageability.
[0186] When setting provisional operators, second schedules, and second man-hours from the perspective of "minimizing costs," the assignment processing module 2034 may, for example, adjust the weighting coefficients that are multiplied by the values among several values calculated based on the set values that may affect the realization of cost minimization. When setting provisional operators, second schedules, and second man-hours from the perspective of "operator quality," the assignment processing module 2034 may, for example, exclude low-grade operator candidates from the assignment. When setting provisional operators, second schedules, and second man-hours from the perspective of "robustness," the assignment processing module 2034 may, for example, allow for a surplus of reserve days when setting the second schedule. When setting provisional operators, second schedules, and second man-hours from the perspective of "manageability," the assignment processing module 2034 may, for example, execute the next setting process such that the degree of change in the content of the final schedule and final man-hours is smaller than the degree of change before and after the previous setting process and the current setting process.
[0187] In this way, by having the server 20 set the temporary operator, second schedule, and second effort for each perspective, the administrator / operator can select the setting result that corresponds to the perspective that is important for each project from among multiple setting results. Furthermore, by having the server 20 evaluate the setting results for each perspective, the administrator / operator can make an objective and multifaceted decision on which setting result to select from among the multiple setting results.
[0188] The presentation control module 2033 may, for example, present the evaluation results for each viewpoint by the assignment processing module 2034 to the manager / operator. That is, the presentation control unit 193 may, for example, in the example of Figure 16, display the summary 1415 for each viewpoint on the display screen of the display 141.
[0189] <6.3 Third Modification> In this embodiment, an example was described in which the server 20 does not take into account the ease / difficulty of pesticide application for each target field when simulating pesticide application. However, the server 20 may, for example, take into account the ease of pesticide application for each target field when simulating. Specifically, for example, when the server 20 simulates pesticide application, it may adjust at least one of the preparation time and cleanup time per flight based on the difficulty of pesticide application in each of the multiple fields constituting the target area.
[0190] The difficulty level is an indicator of the ease or difficulty of applying pesticides to the target field, and its level can be determined by adopting various perspectives. For example, if the difficulty level is high, it will take more time to check the target field and its surroundings, thus increasing the preparation / cleanup time per flight. The difficulty level may be included in the field information, for example, or it may be stored in the case table 2021.
[0191] In the third modified example, the server 20 adopts the following criteria for determining the difficulty level: the topography of the target field, the presence or absence of roads around the target field, the density of target fields within the project area, and the presence or absence of obstacles inside and around the target field.
[0192] The perspective "topography of the target field" can influence the technical difficulty of tasks such as pesticide application, and therefore can be a factor in determining the level of difficulty. This perspective can be particularly important when the target field is a terraced rice paddy, for example. The server 20 may, for example, understand the topography of the target field by analyzing the 3D image of the target field captured by the camera 360 and calculating the relative altitude.
[0193] The criterion "presence or absence of roads around the target field" can be a factor in determining the difficulty level, as the presence or absence of roads affects the total time required for a series of tasks related to pesticide application. The server 20 may, for example, determine the presence or absence of roads by analyzing two-dimensional or three-dimensional images of the target field captured by the camera 360.
[0194] The perspective "density of target fields in the project area" can be one of the factors determining the difficulty level, since the level of density affects the total time required for a series of tasks related to pesticide application. Server 20 may calculate the density by, for example, analyzing two-dimensional or three-dimensional images of the target fields captured by camera 360. Server 20 may also calculate the density by, for example, dividing the total area of multiple target fields constituting the project area when viewed from a plan by the area of the project area when viewed from a plan.
[0195] The perspective of "presence or absence of obstacles within and around the target field" can be a determining factor in the difficulty level, as it affects the technical difficulty of pesticide application and other procedures. This perspective can be particularly important when the area surrounding the project is a residential area, mountainous region, etc. Server 20 may, for example, determine the presence or absence of obstacles by analyzing two-dimensional or three-dimensional images of the target field captured by camera 360.
[0196] More specifically, for example, the configuration processing module 2036 may obtain the difficulty level for each target field from the field information when simulating pesticide spraying. Alternatively, for example, the configuration processing module 2036 may read the case information corresponding to the case to be simulated from the case table 2021 when simulating pesticide spraying and obtain the difficulty level for each target field. The configuration processing module 2036 may adjust at least one of the preparation time and cleanup time per flight unit by simulating pesticide spraying while taking into account the obtained difficulty level. This makes it possible to set target fields and routes that are more suitable than the actual conditions of the target field and its surroundings.
[0197] Furthermore, the parameters that the setting processing module 2036 adjusts to account for difficulty during simulation are not limited to at least one of the preparation time and cleanup time per flight unit. The setting processing module 2036 may adjust parameters such as spraying time, spraying amount, and the altitude of the drone 30 during pesticide spraying. Alternatively, the setting processing module 2036 may adjust at least one of the preparation time and cleanup time per base unit.
[0198] <6.4 Fourth Modification> In this embodiment, an example was described in which the combination of target fields and routes assigned to operators is not divided into multiple patterns. However, the server 20 may, for example, set up multiple patterns of the aforementioned combinations. Specifically, for example, the server 20 may set up multiple patterns for each of the multiple operators, combining the target fields that each operator is responsible for and the routes for spraying pesticides in those target fields, and select the pattern that is the optimal route from among these multiple patterns.
[0199] More specifically, for example, the setting processing module 2036 may refer to the simulation results of pesticide application based on field group information and operator information, and set multiple patterns of target field and route combinations that satisfy the constraints for each operator. For example, the setting processing module 2036 may select the optimal route pattern from among the multiple patterns for each operator based on operator information. The "optimal route" refers to the route that allows for the most efficient application of pesticides. Therefore, it is preferable that the "optimal route" is the shortest route among the routes included in the multiple patterns. This makes it possible to set a route that is more suitable for the operator's productivity / operational skills, the actual conditions of the target field, etc.
[0200] [7 Basic Hardware Configuration of the Computer] Figure 17 is a block diagram showing the basic hardware configuration of computer 90. Computer 90 includes at least a processor 901, main memory 902, auxiliary storage 903, and a communication IF 991 (interface). These are electrically connected to each other by a communication bus 921.
[0201] The processor 901 is hardware for executing the instruction set described in the program. The processor 901 consists of an arithmetic unit, registers, peripheral circuits, etc.
[0202] The main memory 902 is for temporarily storing programs and data processed by programs, etc. For example, it is a volatile memory such as DRAM (Dynamic Random Access Memory).
[0203] The auxiliary storage device 903 is a storage device for storing data and programs. Examples include flash memory, HDD (Hard Disc Drive), magneto-optical disk, CD-ROM, DVD-ROM, semiconductor memory, etc.
[0204] The communication interface IF991 is an interface for inputting and outputting signals for communication with other computers via a network using wired or wireless communication standards.
[0205] A network consists of various mobile communication systems, such as the Internet, LANs, and wireless base stations. For example, a network includes 3G, 4G, and 5G mobile communication systems, LTE (Long Term Evolution), and wireless networks that can connect to the Internet via designated access points (e.g., Wi-Fi®). When connecting wirelessly, communication protocols include, for example, Z-Wave®, ZigBee®, and Bluetooth®. When connecting via a wired connection, the network also includes connections made directly via USB (Universal Serial Bus) cables, etc.
[0206] Furthermore, by distributing all or part of each hardware configuration across multiple computers 90 and connecting them to each other via a network, a computer 90 can be virtually realized. Thus, the concept of computer 90 includes not only a computer 90 housed in a single enclosure or case, but also a virtualized computer system.
[0207] [8. Basic Functional Configuration of the Computer] The functional configuration of the computer realized by the basic hardware configuration of the computer 90 (Figure 17) will be described below. The computer comprises at least one functional unit: a control unit, a memory unit, and a communication unit.
[0208] Furthermore, the functional units of computer 90 can also be realized by distributing all or part of each functional unit across multiple computers 90 interconnected via a network. The term "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 when the processor 901 reads various programs stored in the auxiliary storage device 903, loads them into the main memory device 902, and executes processing according to those programs. The control unit can realize various functional units that perform 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 memory unit is implemented by a main memory 902 and an auxiliary memory 903. The memory unit stores data, various programs, and various databases. The processor 901 can also reserve a memory area corresponding to the memory unit in the main memory 902 or the auxiliary memory 903 according to a program. The control unit can also cause the processor 901 to perform addition, update, and deletion operations on data stored in the memory unit according to various programs.
[0211] A database, specifically a relational database, is used to manage and link together tabular data sets called masters, which are structurally defined by rows and columns. In a database, tables are called tables, masters are called masters, the columns of tables are called columns, and the rows of tables are called records. In a relational database, relationships can be established and linked between tables and masters.
[0212] Typically, each table and master has a primary key column to uniquely identify records, but setting a primary key column is not mandatory. The control unit can instruct 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 memory unit, the information processing device and information processing system related to this disclosure can be considered to have been manufactured.
[0214] Furthermore, the databases and masters in this disclosure may include any data structures (lists, dictionaries, associative arrays, objects, etc.) in which information is structurally defined. Data structures also include data that can be considered as data structures by combining data with functions, classes, methods, etc., written in any programming language.
[0215] The communication unit is implemented by the communication IF 991. The communication unit implements the function of communicating with other computers 90 via the network. The communication unit can receive information transmitted from other computers 90 and input it to the control unit. The control unit can cause the processor 901 to perform information processing on the received information according to various programs. The communication unit can also transmit information output from the control unit to other computers 90.
[0216] Furthermore, each of the above-mentioned configurations, functions, processing units, processing means, etc., may be implemented in hardware, either partially or entirely, by designing them as integrated circuits, for example. The present invention can also be implemented by software program code that realizes the functions of the embodiments. In this case, a storage medium on which the program code is recorded is provided to a computer, and the processor of that computer reads the program code stored in the storage medium. In this case, the program code read from the storage medium itself realizes the functions of the embodiments described above, and the program code itself and the storage medium on which it is stored constitute the present invention. Examples of storage media used to supply 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, ROMs, and the like.
[0217] Furthermore, the program code that implements the functions described in this embodiment can be implemented in a wide range of programming or scripting languages, such as assembler, C / C++, Perl, Shell, PHP, and Java®.
[0218] Furthermore, the program code of the software that realizes the functions of the embodiment 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 computer's processor may read and execute the program code stored in the storage means or storage medium.
[0219] The functions realized by the components described herein may be implemented in a circuitry or processing circuitry, including general-purpose processors, application-specific processors, integrated circuits, ASICs (Application Specific Integrated Circuits), CPUs (a Central Processing Unit), conventional circuits, and / or combinations thereof, programmed to realize the functions described herein. A processor is considered to be a circuitry or processing circuitry, including transistors and other circuits. A processor may be a programmed processor that executes a program stored in memory.
[0220] In this specification, circuitry, unit, and means are hardware programmed to perform or execute the functions described herein. Such hardware may be any hardware disclosed herein, or any hardware known to be programmed to perform or execute the functions described herein.
[0221] If the hardware is a processor that is considered to be a type of circuitry, then the circuitry, means, or unit is a combination of hardware and software used to constitute the hardware and / or processor.
[0222] While several embodiments of this disclosure have been described above, these embodiments can be implemented in a variety of other forms, and various omissions, substitutions, and modifications are permitted without departing from the spirit of the invention. These embodiments and their variations are included in the scope and spirit of the invention, as well as in the claims and their equivalents.
[0223] [9. Addendum] The matters described in each of the above embodiments are added below.
[0224] <Note 1> A program for execution on a computer having a processor and memory, the program causing the processor to perform the following steps: acquiring information about a case, including a first schedule and first man-hours for spraying pesticides by operating an aircraft, and information about a plurality of operators to whom the case may be assigned; setting a second schedule and second man-hours for spraying pesticides for the plurality of operators based on the acquired operator information, so as to satisfy pre-set constraints; calculating an index value indicating the degree of appropriateness of the second schedule and second man-hours set for the plurality of operators based on the set second schedule and second man-hours; and confirming the second schedule and second man-hours set for the plurality of operators based on the calculated index value.
[0225] <Note 2> The constraints include setting a reserve day for pesticide application on at least one of the days preceding and following consecutive spraying days (as described in Note 1).
[0226] <Note 3> The constraints include the program described in (Note 1) or (Note 2), which include avoiding assigning only operators with operational skills higher than a specified standard to a project.
[0227] <Note 4> The constraints include the program described in any of (Note 1) to (Note 3), which includes the condition that the second man-hour set for an operator who has entered into a prescribed employment contract falls within a prescribed range.
[0228] <Note 5> In the confirmation step, the program described in any of (Note 1) to (Note 4) evaluates the second schedule and second man-hours set for multiple operators and confirms the second schedule and second man-hours based on the evaluation results.
[0229] <Note 6> In the setting step, multiple perspectives are defined, and the second schedule and second effort for multiple operators are set for each perspective. In the finalization step, the second schedule and second effort set for each perspective are evaluated in the program described in (Note 5).
[0230] <Note 7> The program described in Note 6 includes at least one of the following aspects: minimizing the cost of pesticide application, the quality of operators, the number of reserve days for pesticide application, and the ease of managing the established second schedule and second man-hours.
[0231] <Note 8> In the setting step, the program described in any of (Note 1) to (Note 7) determines the setting order of the second schedule and second man-hours for multiple operators based on predetermined conditions.
[0232] <Note 9> The specified conditions include the provision that operators under a term contract take precedence over operators under an individual contract (as described in Note 8).
[0233] <Note 10> The specified conditions include prioritizing the operator designated by the client of the project over the operator under a fixed-term contract (as described in Note 9).
[0234] <Note 11> An information processing device comprising a control unit and a storage unit, wherein the control unit executes all steps in any of the programs described in (Note 1) to (Note 10).
[0235] <Note 12> A method to be executed on a computer comprising a processor and memory, wherein the processor executes all steps in any of the programs described in (Note 1) to (Note 10).
[0236] <Note 13> A system comprising means for executing all steps in any of the programs described in (Note 1) to (Note 10).
[0237] 1...System 10...Terminal device 120...Communication unit 13...Input device 14...Output device 15...Memory 16...Storage 19...Processor 20...Server 22...Communication IF 23...Input / Output IF 25...Memory 26...Storage 29...Processor 30...Drone
Claims
1. A program for execution on a computer comprising a processor and memory, wherein the program causes the processor to perform the following steps: acquiring information about a case, including a first schedule and first man-hours for spraying a pesticide by operating an aircraft, and information about a plurality of operators to whom the case may be assigned; setting a second schedule and second man-hours for spraying the pesticide for the plurality of operators based on the acquired information about the operators, so as to satisfy pre-set constraints; calculating an index value indicating the degree of appropriateness of the second schedule and second man-hours set for the plurality of operators based on the set second schedule and second man-hours; and confirming the second schedule and 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 reserve day for spraying the pesticide on at least one of the day before and the day after consecutive spraying days.
3. The program according to claim 1, wherein the constraints include ensuring that only operators whose operational skills are above a predetermined standard are not assigned to the case.
4. The program according to claim 1, wherein the constraint condition includes the second man-hour set for the operator who has entered into a predetermined employment contract, which falls within a predetermined range.
5. The program according to claim 1, wherein in the step of confirming, the second schedule and the second man-hours set for multiple operators are evaluated, and the second schedule and the second man-hours are confirmed based on the evaluation results.
6. The program according to claim 5, wherein in the setting step, multiple perspectives are defined, the second schedule and the second man-hours for multiple operators are set for each perspective, and in the confirming step, the second schedule and the second man-hours set for each perspective are evaluated.
7. The program according to claim 6, wherein any of the aforementioned aspects include at least one of the following: minimizing the cost of spraying the pesticide, the quality of the operator, the number of reserve days for spraying the pesticide, and the ease of managing the determined second schedule and the second man-hours.
8. The program according to claim 1, wherein in the setting step, the program determines the setting order of the second schedule and the second man-hours for multiple operators based on predetermined conditions.
9. The program according to claim 8, wherein the predetermined conditions include prioritizing the operator of a term contract over the operator of an individual contract.
10. The program according to claim 9, wherein the predetermined conditions include prioritizing the operator designated by the client of the project over the operator of a fixed-term contract.
11. An information processing device comprising a control unit and a storage unit, wherein the control unit executes all steps in the program described in any one of claims 1 to 10.
12. A method to be performed on a computer comprising a processor and memory, wherein the processor performs all steps of a program according to any one of claims 1 to 10.
13. A system comprising means for executing all steps in any one of claims 1 to 10.
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
Schedule management device and schedule management system
WO2020004352A1
Industrial machine system, industrial machine, control device, industrial machine system control method, and industrial machine system control program
WO2020241411A1